-
Notifications
You must be signed in to change notification settings - Fork 418
dev: add project information for Theia AI #2470
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for jsonforms-examples ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
lucas-koehler
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This already looks pretty good to me. I added very minor suggestions.
One more thing comes to mind. Should we some details on the monorepo setup?I.e.: pnpm with lerna, each package declaring all dependencies, independent test setup, base webpack configs
Yes, I think we can add much more information here |
24c8cb2 to
d86047e
Compare
|
I think we should not have a detailed section in the project info on what commands to run, as Theia AI does not have a generic terminal interaction atm. Instead it would be good to have Theia AI commands (see https://theia-ide.org/docs/user_ai/#slash-commands) which reference the VSCode/TheiaIDE launch configurations to execute. To do this, we also should create them ;) I also want to see a CLAUDE.md file which references the project info for general information and additionally states which |
Adds '.prompts/project-info.prompttemplate' to hand over JSON Forms project information to Theia AI.
Add VSCode tasks to execute root commands: - build and build examples app - test - clean - lint and lint fix
d888013 to
3a818b1
Compare
|
@sdirix I added Theia AI slash commands and VSCode/Theia tasks for common dev tasks. I also added info on the mono repo setup to the project info. I suggest you setup the CLAUDE.md file because I have no experience with using Claude. |
| @@ -0,0 +1,80 @@ | |||
| { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Basic tasks which are just executing npm scripts are already automatically derived in Theia and VS code from the package.json files and therefore do not need to be repeated manually. We can just instruct the LLM to use them in the runTask tool.
| @@ -0,0 +1,7 @@ | |||
| --- | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The slash commands are meant to model use cases, so we should not have a separate command for the LLM to just execute a single task, this would probably be typed almost as fast manually by the user.
Instead it should cover a workflow, similar like this (untested):
---
isCommand: true
commandName: develop-feature
commandDescription: Develop a feature for JSON Forms
---
Use the ~{runTask} tool to interact with the JSON Forms code base:
- Run `build` tasks in each modified package or in the repository root to rebuild
- Use `lint` tasks to lint modified packages
- Use `test` tasks to run the unit tests
- Use "build:examples-app" to build the example application
After you are satisfied run the github-agent to commit the changes.
$ARGUMENTS
---
isCommand: true
commandName: fix-bug
commandDescription: Fix a bug for JSON Forms
---
## Fixing a bug in JSON Forms
You are tasked with fixing a bug in JSON Forms.
Perform the following actions:
1. Analyze the bug description
2. Generate a set of unit tests to reproduce the described issues
3. Fix the issue
4. Rerun the unit tests to confirm issue is fixed
Use the ~{runTask} tool to interact with the JSON Forms code base:
- Run `build` tasks in each modified package to make sure they are still compiling
- Use `lint` tasks to lint modified packages, making sure that there are no lint warning or errors after applying changes
- Use `test` tasks to run the unit tests
## Issue description
$ARGUMENTS
This is just a minimal example. The commands could be more detailed too, for example instructing the LLM to find an example in which an issue can be reproduced. Building and starting the example application, using the App-Tester agent to interact with the examples app to verify the issue is reproducible and/or can be fixed. Instructing to commit the changes or interacting with GH to retrieve information instead of having to paste it manually.
The idea is to instruct the agent with a common development/process loop so that we don't need to repeat it every time when working on a new feature, reproducing a bug, fixing a bug etc.
See here for a more complex example in Theia AI: https://github.com/eclipse-theia/theia/pull/16704/changes#diff-13e142c30c0be119266e6577fe8c5561279d274c3ffd4888ff930487cecb6f01R46
|
We can also skip the commands for now until we actually use one and just make sure the project context is as good as we can make it for now |
First draft of a project info prompt for Theia AI