Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Copilot Angular Days Berlin 2025

GitHub Copilot Angular Days Berlin 2025

Daniel Sogl PRO

October 20, 2025

Transcript

108 slides
  1. Daniel Sogl • Software architect @ Thinktecture AG • MVP

    – Developer & Web Technologies • Focus: Angular and Generative AI • Socials: https://linktr.ee/daniel_sogl Integrating AI Assistants into Modern Software Engineering Practices About me AI-Assisted Software Development
  2. • You understand the basics of Generative AI • You

    know what AI tools for software development are useful • You learn how to integrate AI coding tools into your existing workflows • You understand the possibilities and limits of AI assisted coding • You learn how to use GitHub Copilot various features and APIs AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Goals of the workshop
  3. • Generative AI basics • AI Coding – a critical

    perspective • AI tools for non developers • How to choose the right LLM • GitHub Copilot features, setup and workflows • MCP Server • Outlook AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Contents
  4. • Visual Studio Code (recommended) • GitHub Copilot (Pro or

    Enterprise recommended) • Git AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Setup
  5. Foundation & Reality Check • You learn the fundamentals of

    LLMs and Generative AI • You understand the differences between LLMs and traditional AI • You learn what makes LLMs “intelligent” using agents and tooling • You understand the risks when working with AI, especially when it comes to generating code AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Generative AI
  6. • Generative AI refers to systems that can create content

    such as text, images, videos, music or code • It uses large language models (LLMs) trained on vast datasets • In software development, it can write code, generate documentation, create tests, and more AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices What Is Generative AI?
  7. AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering

    Practices How a Large Language Model (LLM) Works An LLM is a neural network that predicts the most likely next token in a sequence by analyzing the context of all preceding tokens
  8. Tokenize first → split text into sub-word tokens and map

    each to an integer ID Embed IDs → look up a dense vector for every token (e.g., 768 floating-point numbers) Semantic geometry → similar meanings sit close together in this high-dimensional space GPU-friendly math → vectors make every step pure matrix multiplication, which modern hardware can parallelize across billions of parameters Self-attention = vector similarity → the model computes dot-products between token-vectors to decide which earlier words matter right now Softmax output → final vector is transformed into a probability distribution; the highest-probability token becomes the models “next word” AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Why LLMs Turn Words into Vectors
  9. AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering

    Practices How Large Language Models Are Trained Stage What Happens 1. Data Collection & Cleaning Web pages, code repos, books, papers → deduplicated, filtered, token-balanced 2. Tokenization Raw text → sub-word tokens (e.g. Byte-Pair Encoding) 3. Self-Supervised Pre-Training Transformer learns to predict next token on 100 B+ tokens across thousands of GPUs 4. Alignment & Fine-Tuning Turns raw predictor into a helpful, policy-aligned assistant 5. Evaluation & Benchmarking Benchmarks (MMLU, HumanEval, SWE-bench) + adversarial tests 6. Deployment & Continuous Refresh Prompt filters, safety layers, telemetry for quality & drift
  10. @Daniel Sogl 12 Stage What Happens 1. Data Collection &

    Cleaning Web pages, code repos, books, papers → deduplicated, filtered, token-balanced 2. Tokenization Raw text → sub-word tokens (e.g. Byte-Pair Encoding) 3. Self-Supervised Pre-Training Transformer learns to predict next token on 100 B+ tokens across thousands of GPUs 4. Alignment & Fine-Tuning Turns raw predictor into a helpful, policy-aligned assistant 5. Evaluation & Benchmarking Benchmarks (MMLU, HumanEval, SWE-bench) + adversarial tests 6. Deployment & Continuous Refresh Prompt filters, safety layers, telemetry for quality & drift How Large Language Models Are Trained
  11. Traditional AI Generative AI Classifies / predicts Generates new content

    Rule-based / ML models Foundation models (LLMs) Needs structured inputs Handles natural language prompts Specific tasks Flexible, general-purpose AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Generative AI vs Traditional AI
  12. • AI reduces critical thinking and problem-solving skills in the

    long term • Danger of cognitive laziness - “automation bias” • Blind trust in AI results increases the risk of errors AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Cognitive offloading
  13. Study Setup: • Controlled Study: 16 Experienced Developers, 246 Real

    Tasks • Tool used: Cursor with Claude Sonnet 3.5 Results: • Actual performance: 19% SLOWER with AI tools • Developer perception: Believed they were 20% faster • Perception gap: 40 percentage points difference AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Reality Check – The METR Study
  14. • GitClear Analysis: 153-211 Million Lines of Code • Code

    churn: Projected to double in 2025 • Copy-pasted code: 8.3% → 12.3% (+48%) • Code refactoring: 25% → <10% (-60%) AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Code Quality Catastrophe
  15. • Veracode 2025 Study: AI Code Security Failures • 45%

    of AI-generated code fails security tests • Java security failure rate: 72% • Secret leakage: 40% higher in Copilot repos AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Security Nightmare
  16. • Generative AI creates new content • LLMs like GPT

    or Claude can assist in real-world development • Opportunities: faster coding, better quality, automation • Risks: always validate and stay in control Next: Let’s explore the tools that make this possible AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Summary: Key Takeaways
  17. • PoC & Rapid Prototyping: Bolt.new, Lovable.dev, v0.dev, Firebase Studio,

    GitHub Spark • AI-Powered IDEs & Plugins: Cursor, Windsurf, GitHub Copilot, Kilo, Cline, Roo Code • Terminal-Based AI Assistants: Claude Code, Codex, GitHub Copilot CLI, Gemini CLI • General-Purpose Assistants (Desktop Apps): ChatGPT Desktop, Claude Desktop AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Overview - AI Development Tools Landscape
  18. • Create full applications with just a few prompts •

    Connect to external APIs using cloud services like Supabase • No local setup needed – everything runs in the browser Important: Generated code should not be seen as production-ready code AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices AI Prototyping Tools – In a nutshell
  19. • A conversational, no-code AI for quickly generating web app

    prototypes • React only code Key Features • Conversational interface • frontend and backend prototyping using Supabase • Integrated visual editor & 3rd Party integrations like Stripe or OpenAI AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Lovable.dev – Build Apps by Chatting
  20. • Vibe coding platform integrated into GitHub.com Key Features •

    Uses your GitHub Copilot subscription (Pro+ or Enterprise) • Build on top of VS Code IDE • Includes all GitHub Copilot models, storage and compute AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Spark - Dream it. See it. Ship it.
  21. • AI-prototyping tools can be used without technical backgrounds •

    Prototypes can be built with simple prompts in a few minutes instead of days or weeks • Existing design systems can be integrated using Figma or screenshots • Full-stack development using Supabase or Google Cloud • Generated code – most of the time react based – should not be shipped to production • Vendor lock-in because of strict architectures AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Conclusion
  22. VS Code-based IDE with deeply integrated AI that understands project-wide

    context for code generation, refactoring, and documentation. Key Features • AI-powered inline code generation and refactoring • Multi-file, context-aware edits • Agent Mode with background capabilities • Support for various AI models (GPT, Claude, Gemini, DeepSeek) • Vectorize external documentations AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Cursor – The AI-First Code Editor
  23. Advanced AI IDE featuring agentic coding via Cascade AI, automating

    multi-step coding tasks across files seamlessly. Key Features: • Cascade AI: autonomous multi-file coding • In-Browser styling • Memory database • Web deployments from the IDE • Cascade is also available for JetBrains • Self hosted infrastructure AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Windsurf – AI-Agentic IDE by Windsurf Inc.
  24. Seamlessly integrated coding assistant providing inline code completions, documentation, testing,

    and debugging suggestions directly within your IDE. Key Features: • Inline code suggestions • Copilot Chat for real-time code help • Automation of routine coding tasks (unit tests, docs) • Deep integration with GitHub • Available for multiple editors (JetBrains, Xcode etc.) AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot – Your AI Pair Programmer
  25. IDE / Tool.- Pricing Cursor • Free trial available •

    Pro version starts at $20 per month • Individual pricing for extra token usage Windsurf • Free trial available • Pro version starts at $15 • Individual pricing for extra token usage • Some models like DeepSeek can be used for free GitHub Copilot • Free version available • Pro version starts at $10 • Pro version includes unlimited GTP-4.1, GPT-4o and GPT- 5-mini requests • Individual pricing for extra token usage AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Pricing comparison
  26. • Integrated as VS Code or JetBrains extension • Open-Source

    • On-device processing • Optimizes cost efficiency with model switching (e.g., o3 for planning, Claude 4.5 Sonnet for coding) • Offers Plan/Act modes for controlled AI execution AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Cline – The Collaborative AI Coder
  27. Tool Purpose: AI assistant in your terminal that understands and

    edits codebases Key Features: • Uses full repo context • Safe-mode execution, file editing, test generation • Sub agents • Supports Plugins Setup: npm install -g @anthropic-ai/claude-code AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Claude Code
  28. Tool Purpose: Developer assistant using Gemini 2.5 in the terminal

    Key Features: • 1M token context window • Google Cloud and CI/CD integration • Agentic capabilities: clone repo, generate code, deploy Setup: Homebrew or Linux package + Gemini token AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Gemini CLI
  29. Tool Purpose: Terminal-based AI coding assistant using GitHub Copilots APIs

    Key Features: • Out of the box GitHub integration • Supports various LLMs • Agentic capabilities like with the Copilot Agent mode • MCP support Setup: npm install -g @github/copilot AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot CLI
  30. • Supports macOS and Windows • Access to all Anthropic

    models • Adjustable response styles • Research/Reasoning mode and web search • Computer use for agentic computer controls (mouse, browser, keyboard, screenshots) • MCP Server support • 3rd party plugin support for Slack, Atlassian, Zappier and more AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Claude Desktop
  31. • Many developers attend to overhype new released tools and

    services • Evaluate, if you can avoid vendor lock ins and opinionated tools • Compare prices (pay for tokens vs actions vs commands) • Focus on one tool first to learn, how to use AI tools the right way AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices How to choose the right tool?
  32. • Not all LLMs are equal: Performance varies widely •

    Understand reasoning vs. non-reasoning models • Context size matters greatly in coding scenarios • Benchmarks help guide practical model choice AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Choosing the Right LLM for Your Tasks
  33. Model Provider Context Window SWE-Bench $ 1M I/O Token Claude

    4.1 Opus Anthropic 200k tokens 74.5 % $15 / $75 Claude Sonnet 4.5 Anthropic 200k tokens 77.2 % $3 / $15 GPT-5 (high) OpenAI 1m tokens 74.9 % $1.25 / $10 GPT-5 Codex OpenAI 400k tokens 74.5 % $1.25 / $10 Gemini 2.5 Pro Google 1m tokens 63 % $1.25 / $10 Grok 4 xAI 128k tokens 69 % $3 / $15 Grok Code Fast 1 xAI 256k tokens 70.8 % $0.2 / $1.50 AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Popular LLMs for Software Development
  34. • AMD tested 20+ local models — only a few

    are reliable for coding tasks • RAM is the real bottleneck — determines which model tier you can run • GGUF (Windows/Linux/Mac) vs MLX (Mac) – choose your model format wisely • Smaller models (<30B) fail at tool use, code reasoning & autonomy AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Local LLMs Source: https://cline.bot/blog/local-models-amd
  35. Which LLM Should You Choose? Use Claude or GPT-5 for

    high-quality coding tasks Use Gemini 2.5 Pro for large context + Google ecosystem Use reasoning models when debugging, planning, or testing Pay attention to context size for repo-scale automation Always refer to benchmarks for grounded comparison Compare prices ad premium request counters AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Practical Recommendations
  36. • Inline completions & Next-Edit prediction • Copilot Chat: context

    tricks & slash commands • Edit / Code-brush mode for refactors • Agents • Custom instructions & MCP Server Hands-on exercise → personalize Copilot for your repo AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot Deep-Dive · Agenda
  37. • You will learn the fundamental features of GitHub Copilot

    • You understand which features can be used for which use cases • You understand the limits of GitHub Copilot without further configurations You will learn how to setup a Copilot environment, write better prompts and setup custom workflows in the next chapter, including practical exercises AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot – Chapter Overview
  38. Promised as: GitHub Copilot is an AI pair programmer that

    helps you write code faster and with fewer errors. Key Features: • Integrated into a vast of IDEs like VS Code, Xcode, JetBrains, NeoVim or Eclipse • Includes smart code edits, auto suggestions, chat- , edit- and agent-modes • Works together with GitHub APIs • Best price for value package, compared with the other tools demonstrated before AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot: Introduction
  39. Free: $0 • 50 premium requests per month • 2.000

    completions per month Pro: $10 • Unlimited GTP-5-mini usage • Unlimited code completions • Free for students • 300 premium requests per month Pro+: $39 • Access to all LLMs like Sonnet 4.5 • 1.500 premium requests per month Business: $19 per user • Same features as Pro version • User management and metrics • Data privacy Enterprise: $39 per user • Same features as Pro+ version AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot: Pricing
  40. • GTP models run only in GitHub-owned Azure tenants •

    Contracts signed with Amazon for Sonnet and Google for Gemini models to prevent collected data from being used for training • Editor plugins: prompts not retained for training; discarded after suggestion returned • Chat on Web / CLI / Mobile: prompts & responses kept only for conversation history, not for model training • Copilot is trained on public GitHub repositories and prompts users input when asking questions Important: Suggestions based on public code can be disabled AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot: Data Protection
  41. • Copilot settings can be managed on https://github.com/settings/copilot/features • License

    and premium requests can be managed • Many features are hidden behind feature flags • New models must be enabled manually • GitHub Copilot settings are independent from GitHub Copilot plugin settings AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices GitHub Copilot: Settings
  42. • Plugin Settings can be configured inside your chosen IDE

    • Experimental features are behind feature flags or only available in Visual Studio Code Insiders • Copilot Settings can be shared across projects by including the settings.json in the Git history • VS Code Plugin changelog should be reviewed from time to time to oversee new settings → https://github.com/microsoft/vscode-copilot-chat AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Copilot Plugin Settings
  43. Feature Type: Inline / Ghost Text Suggestions Environment: All IDEs

    (VS Code, JetBrains, Neovim, etc.) Functionality: • Suggests lines of code or entire functions as you type • Based on file contents, neighboring code, and comments • Accept with Tab or continue typing to ignore AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Inline Code Completions
  44. • Be explicit: What should be built, how, and why.

    • Provide context: Use file references, comments, or open files. • Specify frameworks, libraries, and languages. • Use examples: Show input/output samples. • Split complex tasks into step-by-step prompts Bad: Create a function Good: Create a TypeScript function named formatDate that converts a timestamp to 'YYYY-MM-DD' format. AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Effective Prompting – General Principles
  45. Feature Type: Predictive Completion Environment: Visual Studio Code Functionality: •

    Copilot predicts what you’re likely to do next • Offers suggestions like function renaming, adding missing parameters Benefits: • Reduces repetitive edits • Keeps momentum during refactors AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Next Edit Suggestions (NES)
  46. • Accept suggestion: TAB key • Reject suggestion: Esc key

    • Partially accepting: ⌘ + → • Individual shortcuts can be added to jump between suggestions Suggestions can be configured for each file type AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Inline Code Completions: Shortcuts & Settings
  47. Feature Type: Interactive Chat Interface Environment: VS Code, JetBrains, GitHub.com

    Functionality: • Ask Copilot natural language questions about your code • Get explanations, suggestions, refactors, and examples Context Awareness: • Reference files using #filename • Use #codebase to include the entire project • Attach screenshots AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Copilot Chat / Ask-Mode
  48. • Copilot Chat is context aware and can access your

    code base • Files, Folders, Prompts and Tools can be tagged using the #-Command • Chat mode can be used for questions or research • Inline-Chat mode can be opened with Command + I • Use shortcuts: /doc, /edit/, /explain, /fix, /generate, /tests • More on custom slash commands later • Execute tool prompts: /mcp.lighthouse.optimize-resources AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Chat: Tips
  49. Feature Type: Multi-file refactoring Environment: VS Code Functionality: • Manually

    add files Copilot may edit • Copilot can’t add files by itself Use Case Examples: • Add new API route • Update all affected types/interfaces AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Multi-File Edit Mode
  50. Feature Type: Autonomous Agent Execution Environment: VS Code, GitHub.com Functionality:

    • Assign a task like "Implement password reset" • Agent determines necessary code changes • Makes edits and creates a Pull Request automatically Benefits: • Executes multi-step dev tasks autonomously • Ideal for repetitive or boilerplate-heavy tasks AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Copilot Agent
  51. • Select LLMs based on the task (GPT-5-mini for simple

    tasks, Sonnet 4.5 for advanced tasks) • Provide clear context and specific goals to get better results from GitHub Copilot, especially in agent mode. • Equip agent mode with the right tools and custom instructions to match your coding style. • Use MCP integrations to extend agent mode’s capabilities for your specific workflows. • Always review and validate the generated code - stay in the pilot’s seat. AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Copilot Agent: Best practices
  52. • github.copilot.chat.localeOverride – your preferred language • github.copilot.chat.commitMessageGeneration.instructions – instructions

    to auto generate your commit messages • github.copilot.chat.agent.thinkingTool – enables thinking mode • chat.agent.thinkingStyle – configures the display of thinking output • github.copilot.chat.reviewSelection.enabled – enables inline code reviews • chat.mcp.gallery.enabled – enables MCP marketplace AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Copilot Settings (VS-Code)
  53. • You will learn how to customize GitHub Copilot •

    You understand why custom instructions are the key for qualitative LLM responses • You will create your own instructions based on your projects Share your learnings and instructions at the end of the self study chapter AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Custom Instructions – Chapter Overview
  54. • LLMs were trained on older data • LLMs don’t

    understand your architecture without help • LLMs don’t know your company domains • LLMs don’t know your coding standards • Developers don’t write prompts describing every edge case or needed context to solve tasks • Different tasks with different context AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices LLMs don’t understand your projects
  55. • We can define so called custom instructions to provide

    extra context to all Copilot actions • A custom instruction is a markdown file with rules, instructions and guidelines defined by developers • Custom instructions can be added fine granular to specific file types and tasks • Custom instructions are part of a project and can be shared with all other developers • This pattern can also be used with Cursor, Windsurf, Claude Code or Gemini CLI • Supported by Copilot Plugin in VS-Code, VS, JetBrains AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices How to solve that problem?
  56. Copilot knows two types of instruction files • Global instructions:

    copilot-instructions.md • Fine tuned instructions: custom.instructions.md • Instructions can be scoped to be included for defined file types like *.ts, *.html, *.css • Instructions can also be scoped for Copilot specific tasks like generating commit messages, generating tests or reviewing code Tip: Keep your instructions short. Each condition will be part of your context window AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Custom Instructions hierarchy
  57. • Keep instructions short and self-contained • Use one simple

    statement per instruction • Avoid references to external resources • Split instructions into multiple files by topic or task • Store instructions in files to share and version them easily • Use applyTo to target specific files or folders • Reference instructions in prompts to keep them clean and avoid duplication AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Custom Instructions: Best Practices
  58. • Define the language and tone of responses • Configure

    the level of the Copilot to act like a Senior Developer, Architect or PO • Reduce the clutter of example code shown in the chat • Try to make the AI judgy • Focus on framework and language agnostic rules • Define rules for code comments – LLMs often create code comments for the simplest lines of code – reducing the output tokens • Less is More – LLMs were trained on best practices so you only must define the rules for edge cases where they fail AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices
  59. • Make sure to define rules for typing's – LLMS

    like to “just finish” the current tasks, ignoring type safety • Define which ECMS/TS-Version you like to target • Handle edge cases • Define your architecture and file/folder structure to avoid the need of moving files after generation • Scope your rules to TypeScript only to avoid conflicts with other languages or files AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Custom Instruction - TypeScript
  60. Problem: each tool uses its own Instruction file format •

    AGENTS.md is supported by nearly all Tools • Can be used to reference commands and other instructions, configured for specific tools • Reduces the work of keeping instructions up-to- date with your project setup AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices AGENTS.md – Unified file for all AI Coding Tools
  61. • Use your favorite AI coding tool to review your

    project architecture, common patterns and existing instructions • Reference existing instructions • Use platforms like codingrules.ai • Share instructions within your team and update them when you notice the AI is not following your instructions AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices How to generate instructions?
  62. AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering

    Practices Self-Study: Create your own instructions Open any of your projects with VS Code Create a global instructions file .github/copilot-instructions.md or AGENTS.md Define rules that can be used in all your Copilot requests Create one or multiple instruction files for specific file types like TypeScript or Angular Tip: Ask Copilot to generate rules based on your codebase with #codebase or by fetching online resources using #fetch or #web
  63. Prompt files are reusable prompts for tasks like code generation

    or code reviews • The content is defined in Markdown files • Prompt files are standalone and can be run directly in the chat • Example: A security review prompt file references general security practices and adds specific instructions on how to report findings Two scope types in VS Code: • Workspace prompt files: Available only within the workspace, stored in .github/prompts • User prompt files: Available across multiple workspaces, stored in the current VS Code profile Tip: Prompt files can use instruction files to reuse common guidelines and add task-specific instructions AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Prompt Files / Custom Slash Commands
  64. • A prompt file is a Markdown file with the

    .prompt.md suffix • It contains two main sections: • Header with metadata: • mode: Defines the chat mode (ask, edit, or agent, default is ask) • tools: Lists tools or toolsets for agent mode (ignored if unavailable) • description: Short explanation of the prompt • Body: Contains the actual prompt content • The body supports natural language instructions, additional context, and links to other prompt files • Reference other files (workspace, prompt, or instruction files) using Markdown links and relative paths AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Prompt Files: Definition
  65. • Limit the tools that should be used while running

    the prompt • Select a model that fits your workflow – reasoning vs non-reasoning • Link existing resources and documents to force the Copilot to use them as context • Force copilot to ask questions if not all needed requirements to run the prompt are defined by the developer Tipp: you can also run the prompts as custom slash commands in the Copilot CLI AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Best practices
  66. • Code Refactoring • Code Optimization • Code Documentation •

    Debugging • Architecture decisions • Audits AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Custom Workflows
  67. • Open any of your projects with VS Code •

    Create a reusable prompt file • Define a prompt for a day-to-day task you like to automate (write a unit test, document a feature) Tip: Investigate the example repo: https://github.com/github/awesome-copilot AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Self-Study: Create your own reusable prompt
  68. • Chat modes are predefined configurations that adjust the AI

    chat behavior and personality for different tasks in VS Code • Switch chat modes anytime in the Chat view, depending on your task • Built-in chat modes: • Ask: For general questions and answers • Edit: To make code changes • Agent: For autonomous coding tasks You can create custom chat modes for specific scenarios like feature planning or technical research AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Copilot Custom Chat Modes
  69. • description: A brief description of the chat mode •

    tools: A list of tool or tool set names that are available for this chat mod • body: provide specific prompts or guidelines. Instructions or other markdown files can be referenced Tip: Custom modes can be synced like custom prompts or custom instructions with your VS Code settings AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Copilot Custom Modes: Structure
  70. • Review Mode – gives constructive feedback to your code

    changes made on the given branch • Mentor Mode – no access to edit tools, only allowed to answer questions with limited code examples to help junior developers finding the solutions • Plan Mode – acts as an architect or PO to define the code of your feature before generating actual code • Refactoring Mode – helps to migrate existing code to new APIs or architectures AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Custom Mode Examples
  71. • Open any of your projects with VS Code •

    Create a custom mode file e.g .github/chatmodes/mentor.chatmode.md • Define a custom mode for a refactoring, migration or refinement task • Play around with the available models Tip: Investigate the example repo: https://github.com/github/awesome-copilot AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Self-Study: Create your own custom mode
  72. 1. Single: Focus on one well-defined task at a time

    2. Specific: Provide explicit and detailed instructions 3. Short: Write concise prompts that avoid unnecessary details 4. Surround: Provide relevant context and clarify the intended use or audience for the prompt AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Core Principles - The 4 S's Framework
  73. Context: Project background, constraints Objective: Specific goals, success criteria Style:

    Coding patterns, conventions Tone: Collaborative, step-by-step Audience: Experience level, domain Response: Format, structure requirements AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices CO-STAR Framework
  74. • Thanks to the defined custom instructions, prompts and chat

    modes, only the specific context and objective needs to be defined • For each new task open a new chat session to clear the context • Use the “next tab” feature of copilot to automatically include open files as context into your prompts • Tag required files or tools in your prompt, so copilot does not need to search for the needed context AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices How to improve your prompts using GitHub Copilot Settings
  75. File-Level Context • Keep related functions together • Use consistent

    naming conventions • Maintain clear file organization • Include relevant imports at the top • Use descriptive filenames for better context Project-Level Context (Neighboring Tabs) • GitHub Copilot processes all open files in your IDE • Open relevant files and close irrelevant ones • Follow established patterns across your codebase • Use existing utility functions • Match the codebase style and reference shared constants AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Advanced Context Optimization Strategies
  76. Apply the 4 S's : Single, Specific, Short, Surround CO-STAR:

    specify the Context and Objective Provide Examples: Show expected input/output Set Context: Include relevant background and use neighboring tabs Use Good Names: Descriptive variables and functions Iterate: Refine prompts based on results Stay Consistent: Follow established patterns AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Best Practices Summary
  77. • What are Tools in the context of LLMs •

    What MCP is & why context ≠ long prompts • Using built-in MCP servers with Copilot • Live demo register resource + tool in 5 minutes • Example custom server (TypeScript SDK) AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Model Context Protocol (MCP) - Agenda
  78. • Tool Calling lets LLMs use external functions - LLMs

    generate structured requests to execute specific tools when they need capabilities beyond their training • Extends capabilities - Enables real-time data access, performing actions, and running computations the LLM can't do alone • Common examples - Web search, calculators, APIs, databases, code execution, email, and calendar systems • Makes LLMs current and actionable - No longer limited to training data; can fetch live information and complete multi-step tasks AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Excursion – Tool/Function Calling
  79. • Open-source protocol to integrate AI tools with external sources

    • Developed by Anthropic • Client-Server architecture: AI applications (clients) request context from external services (servers) • Security: secure data handling on your own infrastructure • MCP Server transport: local standard input/output (stdio), server-sent events (sse), and streamable HTTP (http) for MCP server transport AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices What is MCP?
  80. • Microsoft verified MCP Servers for Agent Mode: https://code.visualstudio.com/mcp •

    MCP GitHub Repo: https://github.com/modelcontextprotocol/servers • Awesome MCP Server: https://github.com/punkpeye/awesome-mcp-servers • MCP Collection: https://glama.ai/mcp • Official provider websites like Atlassian, GitHub or PayPal AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices How to find MCP Servers?
  81. • Design-to-Code with Figma MCP Server • Database Development with

    PostgreSQL/MySQL MCP Server • Code Review Automation with GitHub MCP Server • Slack Integration for Development Updates • Documentation Management with File System MCP Server • Start with read-only operations to build confidence • Always review AI-generated outputs before committing • Create workflow templates for your most common tasks • Combine multiple MCP servers for powerful compound workflows AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices MCP Workflows
  82. • Open any of your projects with VS Code •

    Add MCP Server to your project or globally • Define a tool set to for different tasks Tip: Investigate the official Agent Mode MCP overview https://code.visualstudio.com/mcp or https://glama.ai/mcp AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Self-Study: Add MCP tools to VS Code
  83. • Workspace settings: add a .vscode/mcp.json file in your workspace

    to configure MCP servers for a workspace and share configurations with team members • User settings: specify the server in your user settings to enable the MCP server across all workspaces • Automatic discovery: enable auto discovery of MCP servers defined in other tools, such as Claude Desktop • Tool executions have to bee confirmed and can be auto confirmed if wanted AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Using MCP in GitHub Copilot
  84. • As shown in the GitClear report, AI coding tools

    create duplicated lines of code • Developers often feel more productive, instead the time from code to production increases • The DORA report from Google shows a quality decrease of 8% when shipping AI generated code to production AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Why is it important?
  85. • Developers who experience fewer than 20% hallucinations are 2.5x

    more likely to merge code without reviewing it • High-confidence engineers are 1.3x more likely to say AI makes their job more enjoyable • Using AI-Coding tools often results into non function code thanks to missed context • Even boilerplate code lacks quality AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices State of Code Quality 2025 – AI Code Focused https://www.qodo.ai/reports/state-of-ai-code-quality
  86. Cyclomatic Complexity: measures how complex a code is based on

    the number of decision points Code Churn: measures the code added, modified, or deleted over time Code Coverage: quantifies the percentage of your codebase covered by automated tests Code Security: measures how resistant the code is to attacks and risks Code Documentation: measures the amount and quality of the documentation accompanying the code Code Duplication: measures the amount of code repeated or copied in different parts of the codebase Code Bug Issues: measures the number of bugs or defects found in the code per unit of code size AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Code Quality Metrics
  87. • Adding static code analyses can track your code quality

    without adding more complexity to your project • Tools prevent adding complex, buggy or duplicated code into your existing code base on each commit or pull request • Many tools are free to use for public projects • Most tools support all common programming languages • Quality gates can be configured company wide AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Static Code Analyses
  88. • Language specific: ESLint, SonarLint, pylint, Qodana • Language agnostic:

    SonarQube (Cloud), Codacy • Security: Snyk, Veracode AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Tools
  89. • GitHub Copilot, Google Gemini and Claude Code can be

    used to review your Pull Requests • Based on your defined custom instructions, GitHub Copilot will review your code • Custom Agents can be executed locally or as CI- Action to review your code • Coplot: Each review costs one Premium Request AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices AI Code Reviews
  90. • AI assistants (Copilot, Claude, Gemini) will be as standard

    as Git & CI/CD • Boiler-plate work shrinks → focus shifts to architecture, design & product insight • New responsibilities: AI coach, safety reviewer, data-governance advocate • Human strengths remain irreplaceable: creativity - context - empathy AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices The Developer Role Is Evolving
  91. • Teams using AI code ≈ 20 % faster; ignoring

    the shift means falling behind • Build your toolkit: prompt craft - LLM APIs - MCP integrations - green AI practices • Combine AI with your domain expertise & critical thinking to deliver 10× value • Treat AI as your power-tool, not a threat: the dev + AI beats dev or AI alone AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Engage Now — AI Skills Will Define Your Future
  92. Your 4-step roadmap 1. Use AI daily: make it a

    default, measurable habit 2. Keep learning: follow model updates & best practices 3. Review & refine: human oversight ensures quality and ethics 4. Share knowledge: lift your whole team, shape responsible adoption AI-Assisted Software Development Integrating AI Assistants into Modern Software Engineering Practices Embrace Change, Stay Human, Build the Future

More Decks by Daniel Sogl

Other Decks in Programming