> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# Prebuilt packs

Install a recommended set for your language. Each combines a functional language pack with shared engineering, Git, documentation, and agent-instruction packs.

## Recommended


[Recommended TypeScriptFactories, immutable values, typed Results, and exhaustive matching, plus the four shared packs.](/packs/recommended/typescript)[Recommended RustOwnership, native Results, exhaustive enums, and iterator composition, plus the four shared packs.](/packs/recommended/rust)[Recommended PythonPure transformations, immutable domain data, and typed Results, plus the four shared packs.](/packs/recommended/python)

## Individual packs

Language packs define how to write code in that language. Shared standards cover the decisions and workflows used across languages. Each pack has its own identity and version.


[LanguagesFunctional TypeScript, Rust, and Python. Browse their rules for types, functions, failures, state, and testing.](/packs/languages)[Shared standardsEngineering principles, scoped Git history and review, task-oriented documentation, and agent instructions.](/packs/shared)

## Install

Install the [npm CLI](/getting-started/quick-start.md). Clone `thebytefarm/granary` into a sibling directory named `granary-packs` for the pack sources; no CLI build is needed. From your project:

```sh
granary add file:../granary-packs/packs#recommended-typescript --output .granary/context/docs/bytefarm
```

For a polyglot project, select several sets at one destination in `granary.json`:

```json
{
  "name": "polyglot",
  "packs": {
    "file:../granary-packs/packs#recommended-typescript": {
      "output": ".granary/context/docs/bytefarm"
    },
    "file:../granary-packs/packs#recommended-rust": { "output": ".granary/context/docs/bytefarm" },
    "file:../granary-packs/packs#recommended-python": { "output": ".granary/context/docs/bytefarm" }
  }
}
```

Shared components install once. All three sets together install seven unique packs. Language-specific rules apply only to files in that language.

Follow the component links in root `AGENTS.md` after installation. Commit `AGENTS.md`, `granary.json`, and `granary-lock.json`; teammates restore the same material with `granary install`.
