-
Couldn't load subscription status.
- Fork 348
AI Ready
Don Jayamanne edited this page Jul 15, 2025
·
18 revisions
- Make it easier for one to use AI to maintain this repo, i.e. fix issues, add features, review code, triage issues
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
- Create
.github/copilot-instructions.mdfile- 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 usingplan.prompt.md -
explain.prompt.md- Custom instructions to ask model to explain parts of the code
-
- Supported by VS Code
- Supported by Github Copilot Code Reviews
Supported by Github Copilot Coding Agent
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.
- Contribution
- Source Code Organization
- Coding Standards
- Profiling
- Coding Guidelines
- Component Governance
- Writing tests
- Kernels
- Intellisense
- Debugging
- IPyWidgets
- Extensibility
- Module Dependencies
- Errors thrown
- Jupyter API
- Variable fetching
- Import / Export
- React Webviews: Variable Viewer, Data Viewer, and Plot Viewer
- FAQ
- Kernel Crashes
- Jupyter issues in the Python Interactive Window or Notebook Editor
- Finding the code that is causing high CPU load in production
- How to install extensions from VSIX when using Remote VS Code
- How to connect to a jupyter server for running code in vscode.dev
- Jupyter Kernels and the Jupyter Extension