# ratstack.sh

> Effect-native TypeScript capabilities with CLI, HTTP, MCP, and sandboxed code-mode projections.

## Entry points

- [Repository map](https://ratstack.sh/): concise human and agent overview
- [Full corpus](https://ratstack.sh/llms-full.txt): all public law and skill documents in one response
- [OpenAPI](https://ratstack.sh/openapi.json): generated HTTP capability contract
- [MCP](https://ratstack.sh/mcp): stateless MCP 2026-07-28 endpoint

## Law

- [Repository law](/AGENTS.md) — Commands, architecture constraints, boundaries, and contribution rules.
- [Product vision](/VISION.md) — Why rat-stack exists and what a successful clone should preserve.
- [Rat-stack README](/README.md) — The stack, shipped example, surfaces, and first-run instructions.
- [Vendoring policy](/vendor/README.md) — Rules for pinned unpublished packages and eventual removal.
- [Workspace pins](/pins.md) — Exact dependency values declared by every workspace package.
- [Effect 4 reference projects](/resources/effect-4-reference-projects.svx) — Source-grounded reference implementations for this pinned Effect release.
- [Schema projections and code mode](/resources/schema-projections-and-code-mode.svx) — The architectural reasoning behind capabilities and their projections.

## Skills

- [add-a-capability](/skills/add-a-capability) — Add one schema-typed behavior to rat-stack and project it through CLI, HTTP, MCP, and code mode without duplicating handlers.
- [add-a-lifecycle-machine](/skills/add-a-lifecycle-machine) — Add an Effect-backed XState lifecycle for finite states, retries, cancellation, or resumable work in rat-stack.
- [keep-or-cut](/skills/keep-or-cut) — Remove unused rat-stack surfaces from a new clone while preserving the smallest working capability-to-CLI scaffold and its fence.
- [learn-rat-stack](/skills/learn-rat-stack) — Understand rat-stack before changing a clone, choosing a surface, adding behavior, or trimming the template.
