2026-01-05 17:33:49 +01:00
2026-01-05 17:33:49 +01:00
2026-01-05 17:33:49 +01:00
2026-01-05 17:33:49 +01:00
2026-01-05 17:33:49 +01:00
2026-01-05 17:33:49 +01:00
2026-01-05 17:33:49 +01:00

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), 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 (and my aww tysm) for design
  • 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)

S
Description
Your LifeOS manager. AI agent, Obsidian, planning, tasks, decisions, mindset.
https://beaver.kotikot.com Readme
2 MiB
Languages
TypeScript 40.8%
Svelte 28.8%
Python 26.3%
JavaScript 2.6%
CSS 1.3%
Other 0.1%