-
Notifications
You must be signed in to change notification settings - Fork 159
Instructions for developer agents #8615
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
Conversation
| - `file_write` for creating, updating or deleting a file in the project; this also waits for the file to be parsed/reconciled, returning any relevant resource status as part of the result | ||
| - `develop_resource` for developing a specific resource, which you should always delegate to for developing a specific resource file | ||
| {% end %} | ||
| - `project_status` for checking resource names and their current status (idle, running, error) |
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.
Do these tools exist already?
project_status/query_sql etc
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.
Yeah, added them separately in this PR: #8600
One exception is the develop_resource tool, which I'm raising in a separate PR together with the integration of these instructions into the developer_agent.
| // return fmt.Errorf("failed to add Cursor rules: %w", err) | ||
| // } | ||
| // ch.Printf("Added Cursor rules at %q\n", filepath.Join(targetPath, ".cursor", "rules")) | ||
| case "cursor": |
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.
Is there an equivalent UI workflow since the initempty might usually be triggered from UI?
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.
Not at the moment – since Cursor and Claude are external tools, I'm not sure if we need UI for this, but if we do, it should be easy to add (would probably need to make UnpackEmpty/UnpackExample generic or add a third RPC for it).
| var resourceYAMLSchema string | ||
|
|
||
| // resourceKindToDefinitionKey maps ResourceKind to the key in the schema definitions. | ||
| var resourceKindToDefinitionKey = map[ResourceKind]string{ |
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.
It seems we are not setting schema for themes and connectors
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.
I originally did it intentionally since it felt like they didn't add much extra info. But it probably can't hurt much, and might help keep the instructions updated with new properties, so I just updated the PR to include the schema for themes and connectors also.
| They are usually found downstream of a metrics view in the DAG. | ||
| Most projects don't define reports directly as files; instead, users can define reports using a UI in Rill Cloud. | ||
|
|
||
| ### `rill.yaml` |
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.
I wonder if rill.yaml needs more expansion like schema, samples etc i.e. same amount of instructions as for other resources.
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.
Yeah good idea, I added a dedicated file for it
runtime/ai/instructionsdirectory containing Markdown instruction filesruntime/parser/project.schema.yamlJSON schema into the instruction filesrill init --template cursorCLI command that writes the instruction files into.cursor/rulesrill init --template claudeCLI command that writes the instruction files into.claude/CLAUDE.mdand.claude/skillsNOTE: This PR does not update our internal developer agent behavior; doing that in a separate PR as that will be a breaking change requiring separate QA.
Checklist: