Skip to content

Conversation

@sdirix
Copy link
Member

@sdirix sdirix commented Jul 22, 2025

First draft of a project info prompt for Theia AI

@netlify
Copy link

netlify bot commented Jul 22, 2025

Deploy Preview for jsonforms-examples ready!

Name Link
🔨 Latest commit e0cbfc3
🔍 Latest deploy log https://app.netlify.com/projects/jsonforms-examples/deploys/69427bc34239bb0008f8dd46
😎 Deploy Preview https://deploy-preview-2470--jsonforms-examples.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coveralls
Copy link

coveralls commented Jul 22, 2025

Coverage Status

coverage: 82.573% (-0.2%) from 82.798%
when pulling d888013 on add-project-info-prompttemplate
into d86047e on master.

@sdirix sdirix requested a review from lucas-koehler July 22, 2025 14:55
Copy link
Contributor

@lucas-koehler lucas-koehler left a 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

@sdirix
Copy link
Member Author

sdirix commented Jul 25, 2025

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

@lucas-koehler lucas-koehler force-pushed the master branch 4 times, most recently from 24c8cb2 to d86047e Compare October 24, 2025 10:26
@sdirix
Copy link
Member Author

sdirix commented Dec 12, 2025

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 pnpm commands shall be used to setup, build, lint and test the project.

sdirix and others added 4 commits December 16, 2025 16:05
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
@lucas-koehler lucas-koehler force-pushed the add-project-info-prompttemplate branch from d888013 to 3a818b1 Compare December 16, 2025 16:17
@lucas-koehler
Copy link
Contributor

@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 @@
{
Copy link
Member Author

@sdirix sdirix Dec 18, 2025

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 @@
---
Copy link
Member Author

@sdirix sdirix Dec 18, 2025

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

@sdirix
Copy link
Member Author

sdirix commented Dec 18, 2025

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants