3.2 KiB
beaver-land
the site of the Beavering Manager: a landing page, a mock vault and the documentation for the whole 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), pluscode/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/anden/skills/mirrorsynced/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 (and my aww tysm) for design
- liquid-glass-js for header
claude --dangerously-skip-permissionsfor implementation- Chief Beaver Officer for its existence
✅ Certified neuroslop, built in exactly 10 hours (-2 hours for food)