Skip to content

AI Ready

Don Jayamanne edited this page Jul 15, 2025 · 18 revisions

Overview

  • Make it easier for one to use AI to maintain this repo, i.e. fix issues, add features, review code, triage issues

Automate bug fixing and adding features

Supported by Github Copilot Coding Agent

Click to view details on how/what to do to make this (similar) repo ready for AI to fix bugs/add features

Files required

  • Create .github/copilot-instructions.md file
    • With general overview of architecture, code layout, coding standards
    • This in turn references some other instruction files as well
  • Create .github/instructions/*-.instrucions.md
    • Files specific to different folders/features of the Jupyter extension
    • With general overview of components, files and details required to understand code in this area
  • Create custom prompts
    • plan.prompt.md - Custom instructions to ask model to review a bug/feature and prepare a plan to complete this
    • implement.prompt.md - Custom instructions to ask model to implement the plan prepared using plan.prompt.md
    • explain.prompt.md - Custom instructions to ask model to explain parts of the code

Why create copilot-instructions.md?

  • Supported by VS Code
  • Supported by Github Copilot Code Reviews
  • Supported by Github Copilot Coding Agent

Why create additional instructions for different areas

Short answer, context is key. We need to provide the right context to help model understand the code.

Jupyter extension is quite complex due to the various features supported (code running locally, remote, webviews, debugging, rendering, etc). Even though each feature is in its own folder, I've found that using AI to fix bug/features, can have the following issues

  • Time consuming (model files, searches code to read and understand code)
  • Too many tool calls (due to previous issue)
  • Confusion/incorrect assumptions (features such as local and remote kernels are treated as the same, in some cases Model assumed there's a concept of remote Python Environments as well).

Providing the right information/context, such as explaining the tech stack, core components and workflow, helps model understand the code better.

Note:

  • I do not believe this is required for small repos.
  • Even with large repos this might not be required
  • As models get better/faster/support larger context windows, the need for such documentation will be unnecessary.
Clone this wiki locally