74 lines
3.2 KiB
Markdown
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)
|