Skip to content

Scenario: multiple harnesses

Your team uses more than one coding tool in the same repository: some people in Claude Code, some in Cursor, CI in Codex. You want all of them to follow the same Cratis guidance. Use the managed install.

Terminal window
cratis ai install \
--harnesses claude,codex,copilot,cursor,opencode,pi \
--profiles cratis/application/csharp \
--languages csharp,typescript

Selecting a harness nobody uses only adds an unused adapter, so most repositories select all of them.

Commit .cratis/ai.json, .cratis/ai.manifest.json, the managed .cratis/ai content, and the harness adapters.

  • One corpus. Every adapter points into .cratis/ai; no harness gets a separately maintained copy.
  • One selection. Profiles and languages are resolved once for all selected harnesses.
  • Native folders. Each tool still reads .claude, .cursor, .opencode, .pi, or whichever folders it expects.
  • Protected edits. cratis ai update stops before overwriting a locally edited managed file, and never touches files Cratis did not install.

Run cratis ai status before an update and cratis ai uninstall when you remove the managed integration.

A developer can still install a marketplace plugin or @cratis/pi on their own machine without the CLI. That path covers one harness, and the marketplace plugins carry skills only. It does not configure the other harnesses or protect local edits.