Skip to content

Conversation

@begelundmuller
Copy link
Contributor

@begelundmuller begelundmuller commented Jan 9, 2026

  • Adds a runtime/ai/instructions directory containing Markdown instruction files
  • Greatly expands the developer agent instructions:
    • Separate, detailed instruction files for connectors, models, metrics views, explores, canvases
    • Documents many advanced concepts, including dev partitions and security policies
    • Adds OLAP dialect-specific guidelines
    • Includes dozens of examples derived from real-world files deployed on Rill Cloud
    • Loads relevant subsets of the runtime/parser/project.schema.yaml JSON schema into the instruction files
  • Sets up integrations for agentic coding tools:
    • Adds rill init --template cursor CLI command that writes the instruction files into .cursor/rules
    • Adds rill init --template claude CLI command that writes the instruction files into .claude/CLAUDE.md and .claude/skills

NOTE: 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:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

@begelundmuller begelundmuller self-assigned this Jan 9, 2026
- `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)
Copy link
Member

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

Copy link
Contributor Author

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":
Copy link
Member

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?

Copy link
Contributor Author

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

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

Copy link
Contributor Author

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`
Copy link
Member

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.

Copy link
Contributor Author

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

@begelundmuller begelundmuller merged commit 2b5dff6 into main Jan 9, 2026
7 checks passed
@begelundmuller begelundmuller deleted the begelundmuller/agent-instructions branch January 9, 2026 14:35
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.

3 participants