Quack Docs
How It Works

Documentation Structure

Where Quack writes the project's memory: INDEX.md, diary, gotchas, decisions.

Quack keeps the project's memory in plain Markdown inside documentation/, so the next chat starts from files instead of a long history.

documentation/
  INDEX.md              code map, written by /quack:index
  index/<folder>.md     sub-maps for repos over 250 files
  diary/YYYY-MM-DD.md   what changed, why, what is left (read at session start)
  gotchas/NNN-slug.md   a trap someone will hit again: symptom, cause, fix
  decisions/NNN-slug.md a choice, why, and the options turned down
FolderWritten byRead by
INDEX.md, index//quack:index, refreshed every sessionClaude and Marco, before opening files
diary/Dante (quack:scribe), one bullet per changeThe session start hook: a fresh chat gets the last 10 lines
gotchas/, decisions/Dante, one fact per file, numbered after the highest NNNClaude, when the session rules send it to documentation/ first

Every diary, gotcha and decision file starts with YAML frontmatter:

---
type: diary | gotcha | decision
date: YYYY-MM-DD
tags: [topic, topic]
---

Dante never writes secrets: keys, tokens, passwords.

If you already have a docs system

Some setups already keep a "brain" for agents, for example a file compass like AST.md plus a two-level knowledge store. Quack's INDEX.md plays the same role as such a file compass, in PageIndex style: a tree first, then the branch.

Keep one map, not two

Quack does not detect AST.md or other maps. If your project already has one, either use /quack:index and retire the old map, or skip /quack:index and keep yours. Two maps cost tokens twice and drift apart.

The diary, gotchas and decisions folders use common names on purpose: if your project already uses them, Dante appends to what is there.

On this page

say quack to us