| name | new-book |
| description | Create a brand-new book (questionnaire-driven) or register an existing book into BookWriter. |
new-book
Two modes. Pick by situation; if unclear, ask the operator which they want.
Mode A: Register an existing book
For book data that already exists on disk but isn't tracked here.
- Read
books.yaml to see current entries.
- Ask the operator:
- Slug (short folder/registry name, e.g.
bricklink-seller-guide)
- Absolute path where the data lives or should live
- Title
- Create rules.md / structure.md / tracker at that path only for pieces that don't already exist — never overwrite existing files.
- Append entry to
books.yaml:
books:
- slug: example-slug
title: Example Title
path: /absolute/path/to/book/folder
- Ask: "Local git repo? (y/n)". If yes, run
git init in the book folder and make the initial commit of everything present.
- Confirm back: slug → path, files created vs preserved, git status.
Mode B: New book
- Run the questionnaire below with the operator. Ask questions one at a time or in small numbered batches — whatever keeps momentum. Write answers into
rules.md as you go.
- Determine the data path: default is
<repo>/books/<slug>/. Ask the operator where to store the data — any absolute path is valid (e.g. outside the repo entirely). Before creating anything at an operator-chosen external path, probe it: create a test file inside the target parent, wait ~5 seconds, confirm it still exists, then delete it. If the folder vanishes or gets renamed (e.g. cloud-sync "Selective Sync Conflict" churn), STOP and report — never scaffold a book onto unstable storage. Recommend the engine-default books/ location when any doubt exists.
- Scaffold:
<book>/
├── rules.md # questionnaire output — the book's law
├── structure.md # frozen chapter spine
├── status-tracker.md # states + next actions per chapter
├── parking-lot.md # idea ledger
├── editors/ # optional: publication gatekeeper roles (markdown)
└── chapters/
└── <NN-slug>/ # one folder per structure unit (chapters + appendices)
├── plan.md # written before drafting
├── draft.md
└── images/
- Generate
structure.md from the questionnaire's outline answers.
- Create empty tracker + parking lot.
- Create one
plan.md skeleton per structure unit (status lives ONLY in the tracker).
- Ask: "Local git repo? (y/n)" → init + initial commit if yes.
- Append the registry entry to
books.yaml.
The questionnaire
Purpose first, then mechanics.
Identity
- Working title?
- What problem does the reader have when they open this book?
- Who exactly is the reader?
Voice & law
4. Voice/tone? (e.g. "first-person, practical, conversational — just me and you")
5. Any product/tool to promote naturally through the book? Canonical URL?
6. Canonical links for external tools mentioned?
7. Publication target(s) after Final chapters exist? (Notion, Leanpub, PDF, none yet)
Structure
8. Chapter list with one-line purpose each?
9. Appendices needed?
10. Structural rules unique to this book?
Author material
11. Where does source material live today? (notes, transcripts, existing drafts)
12. Interview cadence preference?
Answers feed rules.md (identity/voice/law), structure.md (structure), and the tracker's initial rows (all Planned). Publication-target answers also determine whether an editor role file is needed under editors/.