Skip to content

Plugins

The Cratis Stack

Teach your AI assistant the Cratis way

A general-purpose coding assistant doesn’t know your framework. Drop it into a Cratis codebase and it will guess — inventing handler classes, missing the vertical-slice conventions, hand-writing the API client you don’t need. The Cratis AI configuration fixes that: a curated set of agents, skills, prompts, hooks, and coding rules that teach an assistant to build the way Cratis is meant to be built — packaged so your editor’s AI picks it up automatically.

One configuration, surfaced to each assistant

Section titled “One configuration, surfaced to each assistant”

Everything lives once in the cratis/AI repository, under a canonical .ai/ folder. From there it’s surfaced to each AI tool through thin shells of symlinks — so there’s a single source of truth, and both tools see the same conventions:

  • GitHub Copilot reads it from a .github/ folder (copilot-instructions.md + .github/instructions/*.instructions.md, plus agents/, prompts/, skills/, hooks/).
  • Claude Code reads it from a .claude/ folder (CLAUDE.md + .claude/rules/, plus the same agents/, prompts/, skills/, hooks/).

Every Cratis repository already ships these folders, so an assistant working in Chronicle, Arc, or Components is configured the moment you open it.

Skills are the high-value pieces: an assistant invokes one when it recognizes a matching request and follows a vetted, end-to-end workflow instead of improvising.

  • new-vertical-slice — scaffold a whole feature end to end: command, events, projection, query, React, and specs.
  • scaffold-feature — set up a new feature folder, composition page, and routing before any slices are added.
  • add-concept, add-projection, add-reactor, add-business-rule, add-ef-migration — build one artifact correctly, by convention.
  • write-specs, write-documentation — cover a slice with BDD specs, or write Diátaxis docs.
  • review-code, review-security, review-performance — structured review against the project’s standards.

A team of agents you can pick from the chat agent picker — an Orchestrator and Coordinator that decompose cross-cutting work and delegate to specialists: Backend Developer, Frontend Developer, Spec Writer, Vertical Slice Planner, and Code / Security / Performance Reviewer gates.

  • Rules attach automatically by file glob — open a .cs file and the C# conventions load; edit inside Features/ and the vertical-slice rules load.
  • Prompts are quick-invoke templates (e.g. /add-concept) for single-turn tasks.
  • Hooks are lifecycle callbacks — run the specs before a commit, do a release build when the session ends.

Because the skills and rules encode the conventions, an agent that uses them produces slices that look like the rest of your codebase — model-bound [Command] records with Handle(), model-bound projections, ConceptAs<T> instead of raw primitives — not a layered approximation of it.

If you’re building an app on Cratis, you have two complementary ways to pick up the configuration:

  1. The shared config — bring in the .github/ and .claude/ folders from the cratis/AI repository so Copilot and Claude Code load the agents, skills, and rules. This is the same set every Cratis repo ships.
  2. cratis init — run it inside your project and the CLI wires up the operate side: a CHRONICLE.md command catalog and instruction files for Claude Code, GitHub Copilot, Cursor, and Windsurf, plus a chronicle-diagnose slash command. Refresh after a CLI upgrade with cratis init --refresh.