fuz_docs

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

repo

introduction #

Overview
#

fuz_docs is an experimental website with AI-generated documentation and agent skills for Fuz, a zippy stack for autonomy. 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 a temporary build tool, to be replaced by fuz (Rust daemon + CLI). 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
ImportsAlways include .js extension, import directly from source module (no re-exports)
FormattingPrettier with tabs, 100 char width
Breaking changesAcceptable โ€” delete unused code, don't shim or alias
Flat namespaceAll exported identifiers unique across all modules; gro gen 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 // .js extension in imports, even for .ts files import {git_push} from './git.js';

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
#

14 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 โ€” variables, utility classes, modifiers, extraction
Dependency InjectionInjectable *Deps interfaces, mock factories, composition patterns
Documentation SystemDocs pipeline โ€” Tome system, layout architecture, project setup
Rust Conventions for the Fuz EcosystemShared Rust patterns โ€” edition 2024, unsafe forbid, lints, crate structure
Svelte 5 PatternsSvelte 5 runes, contexts, snippets, attachments, Cell pattern
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, auditing
Type UtilitiesNominal typing (Flavored/Branded), strict utility types
WASM Patterns for the Fuz EcosystemWASM 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 a temporary build tool, to be replaced by fuz (Rust daemon + CLI). 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 #

Toolchain
#

ToolVersion
rustcrustc 1.94.0 (4a4ef493e 2026-03-02)
cargocargo 1.94.0 (85eff7c80 2026-01-15)
nodev24.9.0
svelte5.55.0
sveltekit2.55.0
typescript5.9.3
gro0.197.2
prettier3.7.4
vitest4.0.15

TypeScript and Svelte packages
#

13 packages, 753 exported modules (794 total), 3666 exports

PackageVersionDescriptionModulesExportsPublished
๐Ÿฆ• @fuzdev/fuz_util0.55.0utility belt for JS51416yes
๐ŸŒฐ @fuzdev/gro0.197.2task runner and toolkit extending SvelteKit60/82322yes
๐Ÿชด @fuzdev/fuz_css0.58.0CSS framework and design system for semantic HTML30/31669yes
๐Ÿงถ @fuzdev/fuz_ui0.191.3Svelte UI library111390yes
๐Ÿ— @fuzdev/fuz_app0.2.1fullstack app library150/151709yes
๐ŸŽจ @fuzdev/fuz_code0.45.1syntax styling utilities and components for TypeScript, Svelte, Markdown, and more19/2042yes
โ„ @fuzdev/fuz_template0.0.1a static web app and Node library template with TypeScript, Svelte, SvelteKit, Vite, esbuild, Gro, and Fuz22no
๐Ÿ–Š๏ธ @fuzdev/fuz_blog0.24.1blog software from scratch with SvelteKit8/1124yes
๐Ÿฆฃ @fuzdev/fuz_mastodon0.39.0Mastodon components and helpers for Svelte, SvelteKit, and Fuz829yes
๐Ÿช„ @fuzdev/fuz_gitops0.68.0a tool for managing many repos46/51189yes
๐Ÿ“œ @fuzdev/fuz_docs0.0.1experimental AI-generated docs and skills for Fuz, a zippy stack for autonomy2/52no
๐Ÿฆ‹ @fuzdev/fuz.dev0.0.1website for the Fuz, a zippy stack for autonomy00no
๐Ÿ’ค @fuzdev/zzz0.0.1local-first forge for power users and devs266/271872no

Rust workspaces
#

blake3

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

Dependency graph
#

@fuzdev/fuz_util
  โ””โ”€โ”€ @fuzdev/blake3_wasm
@fuzdev/gro
  โ”œโ”€โ”€ @fuzdev/blake3_wasm
  โ””โ”€โ”€ @fuzdev/fuz_util
@fuzdev/fuz_css
  โ”œโ”€โ”€ @fuzdev/blake3_wasm
  โ”œโ”€โ”€ @fuzdev/fuz_util
  โ””โ”€โ”€ @fuzdev/gro
@fuzdev/fuz_ui
  โ”œโ”€โ”€ @fuzdev/fuz_code
  โ”œโ”€โ”€ @fuzdev/fuz_css
  โ”œโ”€โ”€ @fuzdev/fuz_util
  โ””โ”€โ”€ @fuzdev/gro
@fuzdev/fuz_app
  โ”œโ”€โ”€ @fuzdev/blake3_wasm
  โ””โ”€โ”€ @fuzdev/fuz_util
@fuzdev/fuz_code
  โ”œโ”€โ”€ @fuzdev/fuz_css
  โ””โ”€โ”€ @fuzdev/fuz_util
@fuzdev/fuz_blog
  โ”œโ”€โ”€ @fuzdev/fuz_css
  โ”œโ”€โ”€ @fuzdev/fuz_mastodon
  โ”œโ”€โ”€ @fuzdev/fuz_ui
  โ”œโ”€โ”€ @fuzdev/fuz_util
  โ””โ”€โ”€ @fuzdev/gro
@fuzdev/fuz_mastodon
  โ”œโ”€โ”€ @fuzdev/fuz_css
  โ”œโ”€โ”€ @fuzdev/fuz_ui
  โ””โ”€โ”€ @fuzdev/fuz_util
@fuzdev/fuz_gitops
  โ”œโ”€โ”€ @fuzdev/fuz_css
  โ”œโ”€โ”€ @fuzdev/fuz_ui
  โ”œโ”€โ”€ @fuzdev/fuz_util
  โ””โ”€โ”€ @fuzdev/gro

Unpublished packages:
@fuzdev/fuz_template (no runtime @fuzdev deps)
@fuzdev/fuz_docs (no runtime @fuzdev deps)
@fuzdev/fuz.dev (no runtime @fuzdev deps)
@fuzdev/zzz
  โ”œโ”€โ”€ @fuzdev/blake3_wasm
  โ””โ”€โ”€ @fuzdev/gro

api #

Packages
#

12 packages, 794 modules, 3666 exports

library #

fuz_docsย ๐Ÿ“œ
experimental AI-generated docs and skills for Fuz, a zippy stack for autonomy
homepage repo data