Skip to content

Latest commit

 

History

1,004 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cratis AI

Cratis AI is the canonical set of rules, agents, prompts, and skills used when building with or contributing to Cratis.

Repository layout

.cratis/ai/          Canonical AI corpus and availability manifest
Source/
  Harness.Setup/     TypeScript tool that maintains repository harness adapters
  Pi.Plugin/         Published @cratis/pi package
  Verification/      Corpus, profile, package, and skill behavior verification
.claude/             Claude Code adapters
.github/             GitHub Copilot adapters and the quality/release workflow
.agents/             Codex adapters
.pi/                 Pi adapters
.cursor/             Cursor adapters
.opencode/           OpenCode adapters

There is one corpus: .cratis/ai. Harness folders point to it and must not carry independent copies.

Managed installation

The Cratis CLI provides the complete repository-managed path:

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

The CLI reads .cratis/ai/manifest.json, resolves the matching skills through .cratis/ai/profile-catalog.json, installs managed content in .cratis/ai, and creates native harness adapters. It records hashes in .cratis/ai.manifest.json, refuses to overwrite user-owned paths, and stops update or uninstall when managed content was changed unless --force is used.

Native plugins

Native plugins remain an independent single-harness choice. Claude Code, Codex, GitHub Copilot, and Cursor use the marketplace manifests in this repository. Pi uses the published package:

pi install -l npm:@cratis/pi

@cratis/pi reads .cratis/ai.json when present and exposes skills matching the selected profiles and languages. Without the file, it exposes every packaged skill. The package also contributes rules, prompts, agents, the subagent tool, and Cratis quality hooks. It yields to an existing managed CLI installation so resources and extensions are never registered twice. It does not create the shared corpus, configure other harnesses, or provide managed update and uninstall protection.

The Pi subagent tool, whether it comes from the package or a managed installation, stands down for the session when another extension already provides a delegation tool named Agent (such as pi-subagents, which reads the same .pi/agents). It removes itself from the active tools at session start, shows one notice when Pi has a UI, and so never offers the model two tools that list the same agents. Without such a tool it is unchanged.

OpenCode can consume the standard .opencode and AGENTS.md adapters directly.

Maintain harness adapters

After adding or removing an agent, prompt, or harness asset, synchronize the repository adapters:

npm ci --prefix Source/Harness.Setup
npm run setup --prefix Source/Harness.Setup
npm run check --prefix Source/Harness.Setup

Verify quality

All quality checks live in Source/Verification or the package they compile:

npm ci --prefix Source/Pi.Plugin
npm ci --prefix Source/Verification
npm run check --prefix Source/Pi.Plugin
npm run check --prefix Source/Verification
npm run verify --prefix Source/Verification
npm test --prefix Source/Verification
(cd Source/Pi.Plugin && npm pack --dry-run)

The verification suite uses Pi's DefaultResourceLoader directly, without a model or credentials, to prove that project context, all 68 skills, 18 prompts, and the three managed extensions are actually discovered. It also verifies the canonical skill and rule paths exposed to Claude, Codex, Copilot, Cursor, and OpenCode.

Static skill checks live beside the skill as verification.json. They record an example input and assert that required guidance is present; they do not run that input through a model, compile examples, or prove writing quality. Behavioral assessment needs a separate task exercise and review of its output. The repository deliberately has no provenance ledger, evidence chain, generated inventory, or distribution tooling pipeline.

Release

.github/workflows/publish.yml is the single workflow. It verifies the corpus and packages, checks semantic release intent, uses cratis/release-action to calculate the version after merge, and publishes @cratis/pi when a release is requested by the merged pull request label.

About

Free, MIT-licensed AI skills, rules, and agent guidance for building event-sourced and CQRS applications with the Cratis ecosystem (preview).

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages