fuz_docs

experimental AI-generated docs and skills for Fuz, a zippy stack for human agency ๐Ÿ“œ

repo

introduction #

Overview
#

fuz_docs is an experimental website with AI-generated documentation and agent skills for Fuz, a zippy stack for human agency. It's a poorly-reviewed actively-evolving dumping ground of conventions, patterns, and reference material for @fuzdev projects. Everything is in flux, not all patterns are endorsed, and some content is plain slop.

This website is designed for both human and machine consumption. Humans are welcome to browse docs and skills, but expect rough edges.

Skills
#

AI agent skills are structured knowledge files that Claude Code loads for context. Each skill has a main SKILL.md and optional detailed references.

SkillPurpose
fuz-stackCoding conventions and patterns for TypeScript and Svelte 5 projects
grimoireCross-repo coordination with lore, quests, and skills

Browse all skills at /skills.

Reference
#

Auto-generated documentation from the @fuzdev ecosystem.

DocsContents
stackToolchain versions, all packages, dependency graph
apiAuto-generated TypeScript and Svelte API documentation
libraryPackage metadata and exports

Stack
#

fuz_util โ†’ gro + fuz_css โ†’ fuz_ui โ†’ fuz_* apps

gro is the durable web-dev workflow surface โ€” its internals progressively adopt Rust (tsv, then fuz crates) while it stays complementary to fuz and zap. See stack for details.

fuz-stack #

Overview
#

Coding conventions and patterns for the @fuzdev TypeScript and Svelte 5 ecosystem. These conventions keep agent-assisted development consistent across ~20 repos โ€” from naming and file organization to error handling, testing, and validation patterns.

This content is AI-generated and mostly poorly reviewed. Not all patterns described here are endorsed, and some may be out of date or incorrect.

The full skill documentation is at skills/fuz-stack.

Conventions
#

AreaConvention
Namingsnake_case functions/variables, PascalCase types/components, SCREAMING_SNAKE_CASE constants
File organizationsrc/lib/ for library code, src/test/ for tests (not co-located), src/routes/ for SvelteKit
ImportsImport by real source extension (.ts/.svelte.ts), directly from source (no barrels/re-exports)
Formattingtsv with tabs, 100 char width
Breaking changesAcceptable โ€” delete unused code, don't shim or alias
Flat namespaceAll exported identifiers unique across all modules; the svelte-docinfo analysis enforces
Buildgro check runs typecheck + test + gen --check + format --check + lint
// snake_case functions โ€” domain-prefix when bare name would be ambiguous function git_push() {} // git_* cluster, "push" alone is ambiguous function truncate() {} // action-first, self-descriptive // PascalCase types and components type PackageJson = {}; // file: DocsLink.svelte // real source extension in imports (.ts, not the old .js form) import {git_push} from './git.ts';

Core patterns
#

Beyond surface conventions, several deeper patterns define how @fuzdev code is structured:

PatternConvention
Error handlingResult<TValue, TError> discriminated union โ€” never throw for expected errors
Dependency injectionSmall *Deps interfaces for all I/O, plain object mocks โ€” no mocking libraries
Validationz.strictObject() by default, PascalCase schema naming, .brand() for nominal types
TestingFixture-based testing for parsers โ€” input files, generated expected.json, never manually edit
// Result pattern โ€” properties directly on the result object function parse_config(text: string): Result<{value: Config}, {error: ParseError}> { return {ok: true, value: JSON.parse(text)}; } // Deps pattern โ€” small interfaces, no god types export interface FsDeps { read_file: (path: string) => Promise<string>; write_file: (path: string, content: string) => Promise<void>; }

References
#

22 detailed reference documents:

ReferenceCovers
Async PatternsConcurrency primitives โ€” semaphore, deferred, concurrent map/each
Code GenerationGro gen system โ€” .gen.* files, dependencies, output formats
Common UtilitiesResult type, Logger, Timings, DAG execution
CSS Patternsfuz_css styling โ€” default-reliance, the styling ladder, variables, extraction
Dependency InjectionInjectable *Deps interfaces, mock factories, composition patterns
Documentation SystemDocs pipeline โ€” Tome system, layout architecture, project setup
File Organizationsrc/ tree, domain subdirectories, full-path imports, test mirroring
mdz โ€” Strict Markdown Dialectmdz dialect โ€” grammar surface, component registration, rendering seam, autolink, preprocessor
Approved npm DependenciesApproved external npm package allowlist for TS/Svelte repos
Path References in DocumentationPath typography โ€” navigational vs src/lib module vs code-shaped
Approved Rust DependenciesApproved external crate allowlist for Rust workspaces
Rust Patterns for the Fuz EcosystemRust lints, errors, DI ladder, idioms, CLI patterns
Rust Performance PatternsRust perf โ€” profiling, arenas, locks, hot-path idioms, SIMD
Rust Spine & Consumer ServersSpine crate map, consumer servers, env, daemon lifecycle
Svelte 5 PatternsSvelte 5 runes, contexts, snippets, attachments
Task PatternsGro task system โ€” .task.ts files, TaskContext, error handling
Testing PatternsVitest patterns, fixtures, mocks, assertion helpers
TSDoc Comment Style GuideTSDoc style guide โ€” tags, conventions, drift detection
Twin Implementations (TS โ†” Rust)TS โ†” Rust twin implementations โ€” convergence, naming parity, wire crates
Type UtilitiesNominal typing (Flavored/Branded), strict utility types
WASM Patterns for the Fuz EcosystemWASM/N-API build targets โ€” wasm-bindgen, component model, JS interop
Zod SchemasZod conventions โ€” strictObject, branded types, introspection

Stack
#

fuz_util โ†’ gro + fuz_css โ†’ fuz_ui โ†’ fuz_* apps

gro is the durable web-dev workflow surface โ€” its internals progressively adopt Rust (tsv, then fuz crates) while it stays complementary to fuz and zap. See stack for the full dependency graph and package details.

For cross-repo coordination patterns โ€” planning, TODOs, and multi-repo goals โ€” see grimoire.

grimoire #

Overview
#

Units of work often cut across repos โ€” a type change ripples through three packages, a new feature needs coordinated planning in four. A grimoire gives those units a home without polluting implementation repos with planning artifacts. It's a markdown meta-repo that holds working understanding: what was decided and why, what's next, what connects to what.

For AI agents, a grimoire is persistent memory across stateless sessions. Each agent arrives fresh, reads the grimoire to orient, does work, and updates it before the session ends. The grimoire bridges what one session learned to the next.

The full skill documentation is at skills/grimoire.

Structure
#

Three core primitives, plus supporting layers that emerge as the grimoire grows:

PrimitiveLocationPurpose
Lorelore/{project}/Per-repo planning projections โ€” decisions, TODOs, cross-cutting concerns. Standard pair: CLAUDE.md + TODO.md
Questsquests/Cross-repo goals with dependencies and completion criteria. Single-repo work stays in lore TODOs
Skillsskills/{name}/Agent skill knowledge files โ€” conventions, references, and tooling scripts
grimoire/ โ”œโ”€โ”€ lore/ # per-repo planning projections โ”‚ โ””โ”€โ”€ {project}/ โ”‚ โ”œโ”€โ”€ CLAUDE.md # planning context, decisions โ”‚ โ””โ”€โ”€ TODO.md # active work items โ”œโ”€โ”€ quests/ # cross-repo goals โ”‚ โ”œโ”€โ”€ CLAUDE.md # quest index โ”‚ โ””โ”€โ”€ {slug}.md # individual quests โ”œโ”€โ”€ skills/ # agent knowledge modules โ”‚ โ””โ”€โ”€ {name}/ โ”‚ โ””โ”€โ”€ SKILL.md โ””โ”€โ”€ writing/ # philosophy and vision (not repo-scoped)

writing/ holds ideas that span the whole ecosystem rather than projecting a single repo โ€” design philosophies, conceptual foundations. Supporting directories like scripts/ and scries/ for experimental linting may emerge from need; a new grimoire starts with just lore/ and grows.

Work loop
#

Each agent session reads the grimoire to orient, does the work, then writes back what changed.

PhaseAction
OrientRead lore/{project}/ for planning context and TODOs. Check quests/ for cross-repo goals touching this project. Read the repo's own CLAUDE.md for implementation context.
WorkDo the implementation work in the target repo.
UpdateUpdate TODO.md for work items. Check off quest tasks. Update CLAUDE.md if decisions changed.
GraduateShould content advance? Done quests synthesize into lore, then get deleted. Ideas that matured into code get removed from TODOs.

Knowledge lifecycle
#

Content flows forward through stages and gets deleted from earlier ones when it graduates โ€” existing in one place at a time, wherever it's most useful right now.

lore โ†’ quest โ†’ implementation โ†’ published โ†’ lore (ideas) (goals) (code) (docs) (new understanding)

The cycle turns at different speeds โ€” ideas accumulate slowly in lore, quests can move fast through implementation โ€” but content should exist in one place at a time, wherever it's most useful right now.

Key ideas
#

Taste. A grimoire encodes a developer's preferences โ€” which patterns are valued, which tradeoffs are preferred, what "good" looks like. This is what makes a grimoire yours rather than generic documentation. Agents can apply taste fluidly rather than following rigid rules.

Always slightly wrong. A grimoire is approximate context, not ground truth. It's trying to capture dimensions of a person's entire body of work โ€” too large for any document to represent faithfully. When current state matters, read the actual repo. Past a certain threshold of staleness, a doc misleads more than it helps.

Rewrite, don't just prune. Conceptual staleness โ€” content whose framing no longer matches reality โ€” is more dangerous than old files. A lore doc untouched for months can still be accurate; a freshly-written TODO that assumes yesterday's architecture misleads immediately. Delete what's dead, rewrite what's drifted. The grimoire stays useful by staying accurate, not just lean.

Growth trajectory. A grimoire starts small โ€” one CLAUDE.md, a couple of TODO.md files. Quests appear when work first spans multiple repos. Writing appears when ideas emerge that don't project any single repo. Don't build structure speculatively.

More
#

For full conventions โ€” lore structure, quest format, creating new artifacts, common pitfalls โ€” see the grimoire skill. For coding conventions across the @fuzdev ecosystem, see fuz-stack.

stack #

Dependency map
#

wasmblake3fuz_appfuz_blogfuz_codefuz_cssfuz_docsfuz_gitopsfuz_mastodonfuz_templatefuz_uifuz_utilgrosvelte-docinfozzz
apps sites fullstack UI styling build tooling foundation
drag to pan ยท scroll to zoom ยท click a node to trace its dependencies

Toolchain
#

ToolVersion
rustcrustc 1.94.1 (e408947bf 2026-03-25)
cargocargo 1.94.1 (29ea6fb6a 2026-03-24)
nodev24.14.1
svelte5.56.2
sveltekit2.63.0
typescript5.9.3
gro0.205.1
prettier3.7.4
vitest4.1.9

TypeScript and Svelte packages
#

13 packages, 584 exported modules (626 total), 3094 exports

PackageVersionDescriptionModulesExportsPublished
๐Ÿฆ• @fuzdev/fuz_util0.65.2utility belt for JS58455yes
๐ŸŒฐ @fuzdev/gro0.206.0task runner and toolkit extending SvelteKit59/81331yes
๐Ÿชด @fuzdev/fuz_css0.63.2CSS framework and design system for semantic HTML37/40868yes
๐Ÿงถ @fuzdev/fuz_ui0.206.6Svelte UI library96305yes
๐Ÿ— @fuzdev/fuz_app0.104.0fullstack app library626yes
๐ŸŽจ @fuzdev/fuz_code0.47.0syntax styling utilities and components for TypeScript, Svelte, Markdown, and more18/2262yes
โ„ @fuzdev/fuz_template0.0.1a static web app template with optional Rust for the fuz-stack24no
๐Ÿ–Š๏ธ @fuzdev/fuz_blog0.28.1blog software from scratch with SvelteKit8/1124yes
๐Ÿฆฃ @fuzdev/fuz_mastodon0.43.0Mastodon components and helpers for Svelte, SvelteKit, and Fuz829yes
๐Ÿช„ @fuzdev/fuz_gitops0.78.0a tool for managing many repos50/55222yes
๐Ÿ“œ @fuzdev/fuz_docs0.0.1experimental AI-generated docs and skills for Fuz, a zippy stack for human agency412no
๐Ÿ’ค @fuzdev/zzz0.0.1software garage for power users and devs208/211557no
๐Ÿ“œ svelte-docinfo0.5.4static analysis for TypeScript and Svelte30/32199yes

Rust workspaces
#

blake3

CrateVersionKindDescriptionDeps
blake3_wasm_core0.1.1rlibShared BLAKE3 WASM bindings core (wasm-bindgen exports)
blake3_wasm0.1.1cdylibBLAKE3 hashing compiled to WASMblake3_wasm_core
blake3_wasm_small0.1.1cdylibBLAKE3 hashing compiled to WASM, size-optimized build without SIMDblake3_wasm_core
blake3_debug0.1.1binDevelopment utilities for blake3_wasm (comparison, test vectors)
blake3_component0.1.1cdylibBLAKE3 WASI component via WIT interface
blake3_bench_wasmtime0.1.1binBLAKE3 WASI component benchmarks using Wasmtime runtime

api #

Packages
#

13 packages, 626 modules, 3094 exports

library #