AI-native development

One Cratis way. Every AI tool.

Give agents the same domain model, framework conventions, generated contracts and operating vocabulary your team uses — then keep the compiler, specifications, CI and human review in charge.

One canonical skill source Native generated adapters Project facts stay local

Model · Build · Review · Operate

Why structure matters

Faster generation should not mean faster drift.

A general assistant can produce plausible code quickly. Cratis gives it explicit boundaries so the result still looks like your system and still has to pass the same gates as human work.

Model before implementation

Commands, facts, streams, state views, reactions and compliance questions become explicit before an agent starts creating files.

Domain intent stays visible

Build with the framework

Chronicle- and Arc-aware workflows know Cratis vertical slices, typed concepts, event contracts, projections, generated proxies and specification patterns.

Less plausible-but-wrong architecture

Use the tools your team chose

One approved skill tree is generated into host-native layouts for Claude, Codex, Copilot, Cursor, Kiro, Junie, Gemini and Pi. Packaging changes; the Cratis behavior does not.

One behavior across ecosystems

Operate from durable facts

The CLI and Chronicle MCP give approved assistants documented ways to inspect events, observers and jobs without pretending a coding skill is a production credential.

Build and operations stay separate

Trust by construction

Generated, versioned and reversible.

Cratis does not copy one repository's AI folders into every other repository. Approved bytes are generated into a protected public distribution, checksummed, tested through native install and uninstall flows, canaried and rolled back by version. Project context stays with the project.

Public coding-skill installation is still gated while the first real product source, package identity and consuming-repository canary are approved. The documentation states that boundary rather than presenting fixture bytes as a release.