DocSlime is a small CLI plus a skill pack for creating, filling, reviewing, and publishing an opinionated docs/ tree. The name is silly on purpose; the method is not. It pulls the scattered parts of a project into one integrated body, then gives future humans and AI agents better context for the next change.
How to Use DocSlime
DocSlime separates scaffolding (CLI) from judgment (agent skills). You run commands to create files; you use skills to interview the team, fill documents, record decisions, and review for bloat.
Quick start
brew install DecisionNerd/tap/docslime
docslime init
npx skills add DecisionNerd/DocSlime
Then fill docs/PRODUCT.md with docslime-fill and work through the tree in lifecycle order.
Day-to-day commands
| What you need | Command or skill |
|---|---|
| See what exists | docslime list |
| Add one missing doc | docslime add <name> |
| Create the next ADR | docslime add adr <slug> then docslime-adr |
| Fill a scaffolded doc | docslime-fill (agent skill) |
| Review for bloat | docslime-kiss (agent skill) |
| Publish the site | docmd build (see engineering/PUBLISHING) |
init, add, and list are CLI commands. docslime-kiss is intentionally a skill — it requires judgment over filled docs, not a flag.
Recommended fill order
PRODUCT.mdandDESIGN.md— durable product and design contextexperience/— user evidence, journeys, and hypothesesREQUIREMENTS.md— testable build contract derived from evidenceengineering/ARCHITECTURE.mdandengineering/adrs/— domain shape and decisionsengineering/TESTING.md— Given/When/Then scenarios mapped to testsengineering/PUBLISHING.mdandengineering/OBSERVABILITY.md— delivery and learning loop
Each template includes <!-- LLM: ... --> guidance. Skills follow those prompts, ask one focused question at a time, and remove scaffolding when a section is complete.
UX, DDD, and TDD+BDD in One Trace
DocSlime encodes three practices as links in one chain, not separate ceremonies.
UX — continuous discovery
The experience/ folder captures evidence before solutions: observed needs, journeys, opportunities, and hypotheses. Findings become requirements only when they describe observable behavior the product must provide. This keeps UX research connected to the build contract instead of rotting in a backlog.
DDD — domain language and decisions
Architecture docs name the domain concepts, boundaries, and invariants that matter for the project. Significant, hard-to-reverse choices become ADRs in engineering/adrs/. DocSlime uses Domain Driven Design lightly — enough vocabulary to guide the next change, without forcing bounded-context diagrams on every repo.
TDD+BDD — proof before promotion
Requirements get stable IDs. Behavior is written as Given/When/Then scenarios in engineering/TESTING.md. Automated tests prove observable behavior; CI gates block promotion when the contract is broken. In this repo, tests/cli.rs runs the real docslime binary against throwaway directories and maps every FR to a test case.
The trace
When production contradicts an assumption, update experience/ or REQUIREMENTS.md — the loop only works if docs stay as honest as the code.
Why It Sticks
- Product and design context flows into
PRODUCT.mdandDESIGN.md, so agents stop guessing what the code is for. - Continuous discovery lives in
experience/, where evidence and journeys become solution-neutral requirements rather than an untraceable feature backlog. - Requirements and behavior flow into
REQUIREMENTS.mdandengineering/TESTING.md, so TDD+BDD work can trace back to evidence. - Domain shape and tradeoffs flow into
engineering/ARCHITECTURE.mdandengineering/adrs/, so Domain Driven Design language stays close to decisions. - Human judgment flows through
docslime-fill,docslime-adr, anddocslime-kiss, so docs get filled, decisions get recorded, and bloat gets cut. - Delivery and observation close the loop:
engineering/PUBLISHING.mddefines promotion, verification, and rollback;engineering/OBSERVABILITY.mdconnects production health and user outcomes back to discovery.
Install DocSlime
Homebrew is the recommended local install path:
brew install DecisionNerd/tap/docslime
docslime init creates missing docs and reports what was created or skipped. It will not overwrite existing files unless --force is explicit. The slime eats context, not your worktree.
Other install paths stay available when Homebrew is not the right fit.
curl -LsSf \
https://github.com/DecisionNerd/DocSlime/releases/latest/download/docslime-installer.sh \
| sh
cargo install \
--git https://github.com/DecisionNerd/DocSlime \
--bins
First Run Path
docslime init
Create the standard docs tree and leave clear next steps in the repo.
npx skills add DecisionNerd/DocSlime
Use docslime-fill to interview the team and replace scaffold guidance with real context.
docslime add adr choose-storage-boundary
Record significant product and technical choices while they are still fresh.
Run docslime-kiss as an agent skill to find bloat, contradictions, stale placeholders, and weak traceability before docs become ceremony.
The recommended happy path is short: install the CLI, run docslime init, add the skill pack, fill docs/PRODUCT.md, then use docslime-kiss once the first useful context exists.
What DocSlime Creates
docs/
|-- README.md
|-- PRODUCT.md
|-- DESIGN.md
|-- REQUIREMENTS.md
|-- strategy/README.md
|-- experience/README.md
`-- engineering/
|-- README.md
|-- ARCHITECTURE.md
|-- TESTING.md
|-- PUBLISHING.md
|-- OBSERVABILITY.md
`-- adrs/README.md
docs/PRODUCT.md and docs/DESIGN.md are deliberately discoverable from the docs tree so tools like impeccable can load product and design context without duplicate root files.
This is a starting template, not a compliance checklist. Tailor it to the project and keep only the artifacts that reduce ambiguity for its actual consumers. A backend API in a large organization may link to product strategy and design context owned elsewhere while retaining experience/ for developer experience, integration journeys, and agent experience.
- Product + design:
PRODUCT.md,DESIGN.md, andstrategy/capture purpose, voice, principles, and success measures. - Experience + requirements:
experience/captures evidence, opportunities, journeys, and hypotheses;REQUIREMENTS.mdtranslates them into a testable build contract. - Architecture + ADRs:
engineering/ARCHITECTURE.mdandengineering/adrs/keep domain boundaries and decisions explicit. - Testing:
engineering/TESTING.mdties TDD and BDD coverage back to requirements and journeys. - Publishing + observability:
engineering/PUBLISHING.mdandengineering/OBSERVABILITY.mdcarry verified artifacts to users and feed production evidence back into discovery.
Agent Skills
DocSlime keeps judgment-heavy work in skills instead of pretending every review belongs in a CLI subcommand.
docslime-installanddocslime-initverify the CLI and scaffold the docs tree without overwriting existing work.docslime-fillinterviews the user, replaces scaffold guidance, and keeps facts anchored in the repo.docslime-adrcreates the next-numbered ADR and writes the decision in the project vocabulary.docslime-kissreviews for contradictions, generic AI prose, weak traceability, and overgrown docs.