# beaver-land the site of the Beavering Manager: a landing page, a mock vault and the documentation for the whole [beaver](https://git.kotikot.com/beaver) setup. sveltekit + adapter-static, russian first with an english mirror under `/en`. hand this repository to your own AI agent: the documentation is inside (`src/lib/docs/modules.{ru,en}.ts`), the vault layout is inside (`src/content/{ru,en}/vault/`), and the real config of my setup is copied in verbatim (`src/content/synced/`). it will work out the setup faster than a human reading the site. what it does: - explains the idea: a vault as the operating system of a life, an agent as its manager - interactive obsidian mock to explore the vault structure and the agent's zone - prompt builder with raycast preset links (the voice granules, assembled at build time) - documentation: twelve modules by depth of immersion, each step marked with its layer (gateway core, my setup, the optional ring around), the real config or a screenshot beside the text, a glossary on hover, search, light and dark themes stack: - sveltekit + static adapter, tailwind css, webgl, shiki content: `src/content/` has two kinds of files, and the difference matters: - **synced** (`src/content/synced/{prompts,skills,code}/`) - copied verbatim from the vault and the sibling repos, because they hold nothing personal. generated, never edited by hand: ``` bun scripts/sync-content.mjs # BEAVER_VAULT=~/path/to/vault to override ``` - **hand-written** (`src/content/{ru,en}/`) - the mock vault (`vault/`), with the files that do hold personal data in the real one replaced by approximations at their real paths (the dispatcher/curator/distiller overlays, the people/diary/roadmap/tasks/home/finance skills, the profile, the corrections, the index, the curator log, the digests, the user lines), plus `code/` for the compose file. they show the shape and the kind of content that belongs there, with invented examples; the real ones are never copied. `en/prompts/` and `en/skills/` mirror `synced/` with translations of the files that are in russian; russian is the source of truth and nothing is translated from english into russian. the sync script scans every tree and aborts when a forbidden string reaches `src/content/`. neither list lives in this repo: people's names are read from `👤 люди/` at run time, hosts, ids and nicknames from `~/.config/beaver-land/forbidden.txt` (`BEAVER_FORBIDDEN` overrides the path; one string per line, `#` comments). without that file the script refuses to run. screenshots in `static/shots/` come from the fixture stands of the other repos (`beaver-gateway/t/smoke`, `beaver-plugin-obsidian/preview`, `beaver-calendar/preview`), never from real data; one light and one dark file per shot, the docs pick the one matching their theme. the recipe is in `static/shots/PROVENANCE.md`. run: ``` bun i bun dev ``` build: ``` bun run build ``` creds: - [raycast.com](https://raycast.com) (and my aww tysm) for design - [liquid-glass-js](https://github.com/dashersw/liquid-glass-js) for header - `claude --dangerously-skip-permissions` for implementation - Chief Beaver Officer for its existence ✅ Certified neuroslop, built in exactly 10 hours (-2 hours for food)