docs: scaffold documentation information architecture (Phase 1)

Add the docs/ skeleton for the full docs implementation: getting-started,
architecture, guides, reference, and vision sections, with a nav/TOC home
page. Every page is a stub carrying its heading outline and pointers to the
source material to be migrated in Phase 2 (content).

docs/nips/, docs/spec/, and the loose design docs stay at their current
paths (55 references from code, tests, and migrations outside docs/);
reference/nips.md and reference/design-docs.md index them instead.

Root GitHub-convention files are untouched. ARCHITECTURE/NOSTR/TESTING/
RELEASING/VISION* remain in place this phase and will become pointer files
in Phase 2.

Co-authored-by: npub19zza5yyr075j4vvlg2drsh2xe0xy3dqxhfchlgtw8vryglrry3gq8q7tzk <2885da10837fa92ab19f429a385d46cbcc48b406ba717fa16e3b06447c632450@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub19zza5yyr075j4vvlg2drsh2xe0xy3dqxhfchlgtw8vryglrry3gq8q7tzk <2885da10837fa92ab19f429a385d46cbcc48b406ba717fa16e3b06447c632450@sprout-oss.stage.blox.sqprod.co>
This commit is contained in:
npub19zza5yyr075j4vvlg2drsh2xe0xy3dqxhfchlgtw8vryglrry3gq8q7tzk
2026-07-07 11:48:10 -07:00
parent 75079c87ff
commit cfd16deb77
32 changed files with 595 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
# Buzz Documentation
> **Status: skeleton — Phase 1 (structure).** Stub pages carry per-page outlines and
> source-material pointers; content lands in Phase 2.
## Getting Started
- [Installation](getting-started/installation.md)
- [Quickstart](getting-started/quickstart.md)
- [Running a Local Relay](getting-started/local-relay.md)
## Architecture
- [Overview](architecture/overview.md)
- [Protocol](architecture/protocol.md)
- [Connection Lifecycle](architecture/connection-lifecycle.md)
- [Event Pipeline](architecture/event-pipeline.md)
- [Subscription System](architecture/subscriptions.md)
- [Crate Reference](architecture/crates.md)
- [Security Model](architecture/security-model.md)
- [Infrastructure](architecture/infrastructure.md)
## Guides
- [Development](guides/development.md)
- [Testing](guides/testing.md)
- [Working with Agents](guides/agents.md)
- [Workflows](guides/workflows.md)
- [Self-Hosting](guides/self-hosting.md)
- [Using Third-Party Nostr Clients](guides/nostr-clients.md)
- [Adding a New Event Kind](guides/adding-event-kinds.md)
- [Adding a New API Endpoint](guides/adding-api-endpoints.md)
- [Releasing](guides/releasing.md)
## Reference
- [CLI Reference](reference/cli.md)
- [Configuration](reference/configuration.md)
- [Known Limitations](reference/known-limitations.md)
- [Buzz NIPs Index](reference/nips.md) → [`nips/`](nips/)
- [Design Documents Index](reference/design-docs.md) → loose docs + [`spec/`](spec/)
## Vision
- [Vision](vision/README.md) — aspirational direction, **not** current behavior
## Root-Level Docs (stay at repository root)
GitHub-convention files remain at the root: `README.md`, `CONTRIBUTING.md`, `SECURITY.md`,
`GOVERNANCE.md`, `CODE_OF_CONDUCT.md`, `CHANGELOG.md`, `AGENTS.md`/`CLAUDE.md`.
`ARCHITECTURE.md`, `NOSTR.md`, `TESTING.md`, `RELEASING.md`, and `VISION*.md` are being
migrated into this tree. In Phase 2 they will be reduced to pointer files once their
content has moved; they are untouched in Phase 1.
## Note on file locations
`docs/nips/`, `docs/spec/`, and the loose design docs (`docs/*.md`) are referenced by
code, tests, and migrations (55 references outside `docs/`). They stay at their current
paths; the `reference/` index pages link to them instead.
+17
View File
@@ -0,0 +1,17 @@
# Connection Lifecycle
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** How clients connect, authenticate, and stay connected to the relay.
## Outline
- WebSocket connect + auth handshake
- Session state
- Reconnection/backoff
- Disconnect handling
## Source material
- `ARCHITECTURE.md` §3 Connection Lifecycle
- `crates/buzz-ws-client`, `crates/buzz-relay`
+19
View File
@@ -0,0 +1,19 @@
# Crate Reference
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** One-paragraph-per-crate map of the Rust workspace (24 crates).
## Outline
- Workspace layout
- Relay-side crates
- Client/SDK crates
- Agent crates (buzz-acp, buzz-agent, buzz-dev-mcp, buzz-persona)
- Tooling crates (git-credential-nostr, git-sign-nostr, sprig, ...)
## Source material
- `ARCHITECTURE.md` §6 Crate Reference
- `Cargo.toml` workspace members
- per-crate `README.md`s (note: `crates/buzz-cli/README.md` has known drift — verify against code)
+17
View File
@@ -0,0 +1,17 @@
# Event Pipeline
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** The path of an event through the relay: ingest, validation, persistence, fan-out.
## Outline
- Ingest and validation
- Persistence (buzz-db)
- Fan-out / pubsub
- Error handling and rejection
## Source material
- `ARCHITECTURE.md` §4 Event Pipeline
- `crates/buzz-relay/src/handlers/`, `crates/buzz-pubsub`, `crates/buzz-db`
+18
View File
@@ -0,0 +1,18 @@
# Infrastructure
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Runtime infrastructure: storage, search, media, metrics, deployment topology.
## Outline
- Storage (DB, object storage)
- Search (buzz-search)
- Media (buzz-media)
- Metrics/observability (prometheus)
- Deployment topology
## Source material
- `ARCHITECTURE.md` §8 Infrastructure
- `prometheus.yml`, `deploy/`, `docker-compose*.yml`
+17
View File
@@ -0,0 +1,17 @@
# Architecture Overview
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Executive summary of the Buzz system: what it is, the relay-centric model, major components and how they fit.
## Outline
- What Buzz is
- System diagram: relay, clients (desktop/web/mobile/CLI), agents
- Design principles
- Component map
## Source material
- `ARCHITECTURE.md` §1 Executive Summary
- `README.md` intro
+19
View File
@@ -0,0 +1,19 @@
# Protocol
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** The Buzz protocol: Nostr foundation, event kinds, Buzz-specific extensions (NIPs). Protocol semantics only — client-interop how-to lives in guides/nostr-clients.md.
## Outline
- Nostr foundation (events, kinds, tags, signatures)
- Buzz event kinds
- Buzz NIP extensions (index + one-liners, links to reference)
- Auth model (NIP-42/NIP-43/NIP-98 as applicable)
## Source material
- `ARCHITECTURE.md` §2 The Protocol
- `NOSTR.md` (protocol-semantics half only — see split note)
- `docs/nips/` (linked, not duplicated)
- `crates/buzz-core/src/kind.rs`
+19
View File
@@ -0,0 +1,19 @@
# Security Model
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Trust boundaries, authentication, authorization, and known security properties. Vulnerability reporting stays in root SECURITY.md.
## Outline
- Trust model and boundaries
- Identity and key handling
- AuthN/AuthZ (channel membership, admin)
- Multi-tenant isolation (links to formal specs)
- Reporting vulnerabilities → ../../SECURITY.md
## Source material
- `ARCHITECTURE.md` §7 Security Model
- `SECURITY.md` (stays at root; link only)
- `docs/multi-tenant-relay.md`, `docs/spec/` (linked)
+16
View File
@@ -0,0 +1,16 @@
# Subscription System
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** How subscriptions and filters work; live query delivery to clients.
## Outline
- Subscription model and filters
- Live delivery
- Limits and performance considerations
## Source material
- `ARCHITECTURE.md` §5 Subscription System
- `crates/buzz-pubsub`
+20
View File
@@ -0,0 +1,20 @@
# Installation
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** How to install Buzz on each platform (desktop app, relay binary, CLI, mobile). New content.
## Outline
- Supported platforms
- Desktop app (macOS/Windows/Linux)
- Relay (binary, Docker)
- CLI (`buzz`)
- Mobile (iOS/Android status)
- Verifying the install
## Source material
- `README.md` (intro, install pointers)
- `RELEASING.md` §Platform Support, §What Gets Published
- `Dockerfile`, `docker-compose.yml`
+17
View File
@@ -0,0 +1,17 @@
# Running a Local Relay
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Full local-relay workflow for development: build, run, smoke-test with the CLI.
## Outline
- Build and run options (cargo, just recipes)
- Debug vs release gotchas
- Smoke-testing with `buzz` CLI (keypair, channel, messages, threads)
- Troubleshooting
## Source material
- `TESTING.md` §Live Local Relay, §Troubleshooting
- `Justfile` relay recipes
+20
View File
@@ -0,0 +1,20 @@
# Quickstart
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Zero-to-first-message: start a relay, create a channel, send a message, mention an agent. New content synthesized from README + TESTING.
## Outline
- Prerequisites
- Start a local relay
- Create your identity and a channel
- Send and read messages
- Add an agent and @mention it
- Where to go next
## Source material
- `README.md`
- `TESTING.md` §Live Local Relay (steps 14), §ACP Harness
- `examples/countdown-bot`, `examples/meadow-core` (pointer)
+17
View File
@@ -0,0 +1,17 @@
# Adding a New API Endpoint
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Step-by-step recipe for adding an HTTP/RPC endpoint to the relay.
## Outline
- Routing and handler placement
- Auth requirements
- Persistence and errors
- Tests
## Source material
- `CONTRIBUTING.md` §How to Add a New API Endpoint
- `crates/buzz-relay/src/api/`
+16
View File
@@ -0,0 +1,16 @@
# Adding a New Event Kind
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Step-by-step recipe for introducing a new event kind end-to-end (core → relay → clients).
## Outline
- When to add a kind vs reuse
- Step-by-step (kind.rs, validation, persistence, client handling, tests)
- Conformance/NIP documentation expectations
## Source material
- `CONTRIBUTING.md` §How to Add a New Event Kind
- `crates/buzz-core/src/kind.rs`
+22
View File
@@ -0,0 +1,22 @@
# Working with Agents
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Running agents against a relay: the ACP harness, agent identity, memory, personas, and example agents.
## Outline
- Agent model overview (buzz-acp harness, buzz-agent)
- Minting an agent identity + channel membership (sharp edges called out)
- Running buzz-acp (env, ws:// vs http://)
- Core memory / NIP-AE prompt injection
- Personas (buzz-persona)
- Examples: countdown-bot, meadow-core
- Troubleshooting (idle agent, quiet stdout)
## Source material
- `TESTING.md` §ACP Harness
- `crates/buzz-acp`, `crates/buzz-agent/README.md`, `crates/buzz-persona`
- `examples/countdown-bot`, `examples/meadow-core`
- `docs/MCP_DRIVEN_HOOKS.md` (linked)
+19
View File
@@ -0,0 +1,19 @@
# Development Guide
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Setting up a dev environment, code style, and PR workflow. Root CONTRIBUTING.md remains the canonical entry point and will link here.
## Outline
- Environment setup (clone, Hermit, bootstrap, hooks)
- Repo layout tour
- Code style (Rust, TS/biome)
- Running checks locally (Justfile)
- PR workflow and review expectations
- License/CLA pointer
## Source material
- `CONTRIBUTING.md` §Setting Up, §Code Style, §Making a Pull Request, §License and CLA
- `Justfile`, `lefthook.yml`, `biome.json`
+17
View File
@@ -0,0 +1,17 @@
# Using Third-Party Nostr Clients
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Operational how-to for connecting standard Nostr clients to a Buzz relay: setup, allowlisting, debugging with nak.
## Outline
- Compatibility overview
- Client setup
- Allowlisting users
- Debugging with `nak` (recipes)
- Troubleshooting interop
## Source material
- `NOSTR.md` (operational half: client setup, allowlist, nak recipes, troubleshooting)
+18
View File
@@ -0,0 +1,18 @@
# Release Guide
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Cutting desktop, relay, and mobile releases. Root RELEASING.md will be migrated here and left as a pointer.
## Outline
- Quick start (desktop/relay/mobile)
- How the release automation works
- Release types + version files
- Manual fallback
- Internal releases
- Prerequisites + troubleshooting
## Source material
- `RELEASING.md` (full migration)
+23
View File
@@ -0,0 +1,23 @@
# Self-Hosting Buzz
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Deploying and operating your own relay: Docker Compose VPS bundle, Helm chart, TLS, membership administration, multi-tenancy.
## Outline
- Deployment options overview
- Docker Compose bundle (run.sh, Caddy TLS)
- Kubernetes (Helm chart)
- Relay configuration (env vars)
- Membership + admin (buzz-admin, NIP-43 allowlist)
- Multi-tenant operation (links to design docs/specs)
- Upgrades and backups
## Source material
- `deploy/compose/README.md`, `deploy/charts/buzz/README.md`
- `Dockerfile`, `docker-compose.yml`
- `NOSTR.md` (allowlist/admin operational half)
- `docs/multi-tenant-relay.md`, `docs/multi-tenant-conformance.md` (linked)
- `crates/buzz-admin`
+20
View File
@@ -0,0 +1,20 @@
# Testing Guide
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Running and writing tests: unit, e2e, desktop, conformance.
## Outline
- Test suites overview
- Unit tests (cargo)
- E2E tests (buzz-test-client)
- Desktop tests (playwright)
- Conformance (buzz-conformance)
- CLI smoke-testing against a live relay
## Source material
- `TESTING.md` §Automated Tests + CLI smoke sections
- `CONTRIBUTING.md` §Running Tests
- `desktop/playwright.config.ts`, `crates/buzz-conformance`
+19
View File
@@ -0,0 +1,19 @@
# Workflows
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** YAML workflow automation: triggers, actions, templates, approval gates.
## Outline
- Workflow model
- Triggers (4)
- Actions (7)
- Templates and variables
- Approval gates
- Known limitations (WF-07/WF-08 stubbed actions — be explicit)
## Source material
- `crates/buzz-workflow`
- fable01's survey: `RESEARCH/BUZZ_DOCS_CONTENT_NOTES_2026_07_07.md` (workspace, not repo)
+16
View File
@@ -0,0 +1,16 @@
# CLI Reference
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Command-by-command reference for the `buzz` CLI, derived from --help output and verified against `crates/buzz-cli` source (README has known drift).
## Outline
- Global flags, env vars (BUZZ_RELAY_URL, BUZZ_PRIVATE_KEY, BUZZ_AUTH_TAG), exit codes
- Command groups: messages, channels, canvas, reactions, dms, users, workflows, feed, social, repos, upload, mem
- Examples per group
## Source material
- `buzz --help` and per-group `--help` (primary)
- `crates/buzz-cli/src/` (verify — do not trust `crates/buzz-cli/README.md`)
+18
View File
@@ -0,0 +1,18 @@
# Configuration Reference
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** All environment variables and config knobs for relay, CLI, and agent harness.
## Outline
- Relay configuration
- CLI configuration
- Agent harness (buzz-acp) configuration incl. BUZZ_ACP_NO_MEMORY
- Desktop app settings (pointer)
## Source material
- `TESTING.md` §Configuration reference
- `deploy/compose/README.md` env tables
- crate sources for env var reads
+19
View File
@@ -0,0 +1,19 @@
# Design Documents Index
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Index of the loose design docs and formal specs (kept at their current paths — referenced by code/tests; do not move).
## Outline
- `docs/MCP_DRIVEN_HOOKS.md` — MCP-driven lifecycle hooks
- `docs/bridge-channel-window.md` — bridge /query channel window (defers to NIP-CW)
- `docs/git-on-object-storage.md` — git refs over object storage (formal spec, pairs with docs/spec/GitOnObjectStore.tla)
- `docs/mesh-llm-local-build.md` — mesh LLM local build prereqs
- `docs/multi-tenant-relay.md` — multi-tenant relay formal spec (pairs with docs/spec/MultiTenantRelay.tla, MultiTenantAuth.spthy)
- `docs/multi-tenant-conformance.md` — multi-tenant conformance checklist
## Source material
- `docs/*.md` loose files
- `docs/spec/` TLA+/Tamarin models
+18
View File
@@ -0,0 +1,18 @@
# Known Limitations
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Honest list of current gaps and stubbed features. Goal: no surprises for operators or contributors.
## Outline
- Relay limitations (e.g. rate limiting unenforced)
- Workflow stubs (WF-07/WF-08)
- Client/platform gaps
- Docs debt (empty GOVERNANCE.md pointer file, buzz-cli README drift)
## Source material
- `ARCHITECTURE.md` §9 Known Limitations
- `crates/buzz-conformance/LIMITS.md`
- fable01's discrepancy list (survey)
+14
View File
@@ -0,0 +1,14 @@
# Buzz NIPs Index
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Index of the 13 Buzz protocol extensions in ../nips/ (kept at docs/nips/ — referenced by code and tests; do not move). One-line summary + status per NIP. NIP-CW is normative for channel-window behavior (bridge-channel-window.md defers to it).
## Outline
- Table: NIP id → title → one-line summary → status
- Reading order / dependency notes
## Source material
- `docs/nips/NIP-*.md` (13 files)
+15
View File
@@ -0,0 +1,15 @@
# Vision
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Aspirational direction — NOT current behavior. Quarantined from the rest of the docs so vision statements are never mistaken for shipped features.
## Outline
- The relay is the workspace (core vision)
- Index of sub-visions: activity, agent, mesh, projects, sovereign
## Source material
- `VISION.md` (full migration)
- `VISION_*.md` (5 files → sibling pages)
+13
View File
@@ -0,0 +1,13 @@
# Vision: Activity
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Aspirational — not current behavior. Full migration of root VISION_ACTIVITY.md.
## Outline
- Migrate VISION_ACTIVITY.md content as-is, edited only for docs-tree link consistency
## Source material
- `VISION_ACTIVITY.md`
+13
View File
@@ -0,0 +1,13 @@
# Vision: Agent
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Aspirational — not current behavior. Full migration of root VISION_AGENT.md.
## Outline
- Migrate VISION_AGENT.md content as-is, edited only for docs-tree link consistency
## Source material
- `VISION_AGENT.md`
+13
View File
@@ -0,0 +1,13 @@
# Vision: Mesh
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Aspirational — not current behavior. Full migration of root VISION_MESH.md.
## Outline
- Migrate VISION_MESH.md content as-is, edited only for docs-tree link consistency
## Source material
- `VISION_MESH.md`
+13
View File
@@ -0,0 +1,13 @@
# Vision: Projects
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Aspirational — not current behavior. Full migration of root VISION_PROJECTS.md.
## Outline
- Migrate VISION_PROJECTS.md content as-is, edited only for docs-tree link consistency
## Source material
- `VISION_PROJECTS.md`
+13
View File
@@ -0,0 +1,13 @@
# Vision: Sovereign
> **Status: stub — Phase 1 (structure).** Content to be written in Phase 2.
>
> **Scope:** Aspirational — not current behavior. Full migration of root VISION_SOVEREIGN.md.
## Outline
- Migrate VISION_SOVEREIGN.md content as-is, edited only for docs-tree link consistency
## Source material
- `VISION_SOVEREIGN.md`