Files
beaver-land/README.md
T

74 lines
3.2 KiB
Markdown

# 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)