get-tbd 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +162 -185
  2. package/dist/bin.mjs +1738 -936
  3. package/dist/bin.mjs.map +1 -1
  4. package/dist/cli.mjs +3742 -3026
  5. package/dist/cli.mjs.map +1 -1
  6. package/dist/docs/README.md +162 -185
  7. package/dist/docs/guidelines/golden-testing-guidelines.md +161 -5
  8. package/dist/docs/guidelines/sync-troubleshooting.md +168 -0
  9. package/dist/docs/guidelines/typescript-rules.md +20 -2
  10. package/dist/docs/shortcuts/standard/cleanup-all.md +89 -0
  11. package/dist/docs/shortcuts/standard/cleanup-remove-trivial-tests.md +57 -0
  12. package/dist/docs/shortcuts/standard/cleanup-update-docstrings.md +76 -0
  13. package/dist/docs/shortcuts/standard/commit-code.md +20 -2
  14. package/dist/docs/shortcuts/standard/create-or-update-pr-simple.md +20 -9
  15. package/dist/docs/shortcuts/standard/create-or-update-pr-with-validation-plan.md +21 -9
  16. package/dist/docs/shortcuts/standard/merge-upstream.md +29 -0
  17. package/dist/docs/shortcuts/standard/new-validation-plan.md +73 -37
  18. package/dist/docs/shortcuts/standard/precommit-process.md +10 -37
  19. package/dist/docs/shortcuts/standard/review-code-python.md +16 -29
  20. package/dist/docs/shortcuts/standard/review-code-typescript.md +16 -28
  21. package/dist/docs/shortcuts/standard/review-code.md +108 -0
  22. package/dist/docs/shortcuts/standard/review-github-pr.md +69 -0
  23. package/dist/docs/shortcuts/standard/revise-all-architecture-docs.md +21 -0
  24. package/dist/docs/shortcuts/standard/revise-architecture-doc.md +29 -0
  25. package/dist/docs/shortcuts/standard/setup-github-cli.md +76 -0
  26. package/dist/docs/shortcuts/standard/sync-failure-recovery.md +87 -0
  27. package/dist/docs/shortcuts/standard/update-specs-status.md +26 -0
  28. package/dist/docs/tbd-design.md +210 -37
  29. package/dist/docs/tbd-docs.md +28 -0
  30. package/dist/index.d.mts +17 -0
  31. package/dist/index.mjs +1 -1
  32. package/dist/{src-Dm8ZhhIV.mjs → src-BfhjLZXE.mjs} +90 -4
  33. package/dist/src-BfhjLZXE.mjs.map +1 -0
  34. package/dist/tbd +1738 -936
  35. package/package.json +1 -1
  36. package/dist/src-Dm8ZhhIV.mjs.map +0 -1
package/README.md CHANGED
@@ -3,8 +3,8 @@
3
3
  **Task management, spec-driven planning, and instant knowledge injection for AI coding
4
4
  agents.**
5
5
 
6
- **tbd** (short for “To Be Done,” or “TypeScript beads” if you prefer) combines three
7
- things that are each powerful on their own but unreasonably effective together:
6
+ **tbd** (short for “To Be Done,” or “TypeScript beads” if you prefer) combines four
7
+ things that are each powerful on their own but work even better together:
8
8
 
9
9
  1. **Task tracking (beads):** Agent-friendly, CLI-native issue tracking for bugs,
10
10
  features, epics, and dependencies that persist across sessions in git.
@@ -12,51 +12,93 @@ things that are each powerful on their own but unreasonably effective together:
12
12
  [Beads](https://github.com/steveyegge/beads) are fantastic and *unreasonably
13
13
  effective* at scaling an agent’s capacity from ~5-10 ad-hoc tasks to hundreds of
14
14
  structured beads.
15
- 2. **Spec-driven planning:** workflows for writing specs, breaking them into beads, and
16
- implementing systematically.
15
+ 2. **Spec-driven planning:** Templates and workflows for writing specs, breaking them
16
+ into beads, and implementing systematically.
17
17
  With a good spec and beads, you can leave an agent running overnight and come back to
18
18
  solid code.
19
- 3. **Instant knowledge injection:** Instant availability of guidelines and rules docs.
20
- These are essentially “self-injected context” for an agent to get smarter when it
21
- needs it.
19
+ 3. **Knowledge injection:** Instant availability of in-depth engineering guidelines and
20
+ rules docs. These are essentially “self-injected context” for an agent to get smarter
21
+ when it needs it.
22
+ 4. **Shortcuts:** Reusable instructions for common tasks like code review, PR creation,
23
+ and writing planning specs, architecture docs, and research briefs.
24
+
25
+ `tbd` comes pre-installed with in-depth guidelines docs on many topics, including
26
+ TypeScript and Python best practices and common agent pitfalls, red-green TDD, golden
27
+ testing, Convex, monorepo project setup, error handling practices, and backward
28
+ compatibility rules.
29
+ (But you can use your own guidelines if you prefer.)
30
+
31
+ I use `tbd` most frequently in Claude Code since it’s most powerful as a skill, but it
32
+ will work in Cursor, Codex, or any agent environment that can use the `tbd` CLI.
22
33
 
23
- `tbd` comes pre-installed with guideline docs on dozens of topics, notably TypeScript
24
- and Python best practices and common agent pitfalls, red-green TDD, golden testing,
25
- Convex, monorepo project setup, error handling practices, and backward compatibility
26
- rules. But you can use your own if you prefer.
34
+ ## Quick Start
27
35
 
28
- I use `tbd` most frequently in Claude Code, where it self-installs as a skill, but it
29
- will work in Cursor, Codex, or any agent environment that can use the `tbd` CLI.
36
+ > [!TIP]
37
+ >
38
+ > If running on your own machine, install the `tbd` CLI yourself:
39
+ >
40
+ > **`npm install -g get-tbd@latest`**
41
+ >
42
+ > Then tell your agent:
43
+ >
44
+ > ***“run tbd for instructions to set up this project”***
45
+ >
46
+ > If running on a fresh cloud instance (like Claude Code Cloud), tell the agent:
47
+ >
48
+ > ***“install tbd (npm install -g get-tbd@latest) and run tbd for instructions to set up
49
+ > this project”***
30
50
 
31
- ## Should You Use `tbd`?
51
+ That’s it. Running `tbd` with no arguments “primes” the agent with how to use `tbd` and
52
+ how to help you. It will then bootstraps a SKILL.md into your project by running
53
+ `tbd setup --auto` (which will add a `.tbd` directory and add itself to your `.claude`
54
+ skills and hooks). And then it will use shortcuts to welcome you and get you started.
55
+
56
+ You can then always ask questions like: “what can I do with tbd?”
32
57
 
33
- Firstly, you can use `tbd` simply as a Beads replacement.
34
- It’s largely compatible with the original `bd` at the CLI level for core issue tracking
35
- functionality.
58
+ ## How Should You Use `tbd`?
36
59
 
37
- Unfortunately, inspite of the power of the beads ideas, there are quite a few
38
- [practical frustrations](#how-does-tbd-compare-to-beads) with the original
60
+ ### Drop-In `bd` Replacement
61
+
62
+ You can use `tbd` as a drop-in replacement for the original Beads (`bd`). It’s largely
63
+ compatible at the CLI level for core issue tracking functionality.
64
+
65
+ Despite the general power of the beads, there are quite a few
66
+ [practical frustrations](#how-does-tbd-compare-to-beads) with the original Beads
39
67
  implementation—notably the daemon modifying files, merge conflicts, sync confusions
40
- across branches and database, and SQLite not working in Claude Code Cloud.
68
+ across branches and database, and SQLite not working on network drives, such as Claude
69
+ Code Cloud. After using `bd` for over a month, this became my greatest pain point.
70
+ I now use `tbd` for all my agent coding and its sync architecture works pretty well.
71
+
72
+ ### Spec-Driven Coding and Review
73
+
74
+ What excites me now is that `tbd` is more than just task management.
41
75
 
42
- `tbd` is *very* new but aims to be a fully functional option for those who want an
43
- alternative to `bd` for agent issue tracking.
44
- I now use it instead of `bd` now.
76
+ These workflows arose from several months of
77
+ [heavy spec-driven agentic coding](https://github.com/jlevy/speculate/blob/main/about/lessons_in_spec_coding.md).
78
+ With better use of specs, what you build is far clearer and more maintainable.
79
+ In fact, I think of iterating on a spec as the hard part now.
80
+ Writing the code is often almost automatic, if a spec is good enough!
81
+
82
+ Basically 100% of the code I now write is agent-written, planned and tracked through
83
+ specs and beads and streamlined with shortcuts.
45
84
 
46
- But what excites me now is that `tbd` is more than just task management: the CLI is a
47
- way to **inject engineering rules and best practices** and **streamline reproducible
48
- workflows with shortcuts**.
85
+ To help with this, `tbd` provides a way to **inject engineering rules and best
86
+ practices** and **streamline reproducible workflows with shortcuts**.
49
87
 
50
88
  By combining task management, knowledge injection, and shortcuts, I find my agents ship
51
89
  code with speed, quality, and discipline.
90
+
91
+ ### Shortcuts for Common Tasks (Easy with Voice!)
92
+
93
+ Once you start doing things like the above workflows, it gets repetitive.
94
+ And I like to now use voice to give prompts.
95
+ So having “shortcut” docs that list common tasks is really helpful.
96
+
52
97
  I can now ship entire large features just with voice prompts like “use the shortcut to
53
98
  create a new plan spec that …” and “now use the shortcut to file a PR with a validation
54
99
  plan.”
55
100
 
56
- These workflows arose from several months of
57
- [heavy spec-driven agentic coding](https://github.com/jlevy/speculate/blob/main/about/lessons_in_spec_coding.md).
58
- Basically 100% of the code I now write is agent-written, planned and tracked through
59
- specs and beads and streamlined with shortcuts.
101
+ ### What `tbd` Doesn’t Do (Yet)
60
102
 
61
103
  `tbd` focuses on the *durable layer* of agent development: issue tracking, planning, and
62
104
  knowledge that persist in git across sessions.
@@ -73,34 +115,15 @@ agents handling different aspects that I manage) is slower, because it forces yo
73
115
  design, but it gives higher quality results.
74
116
 
75
117
  > [!NOTE]
118
+ >
76
119
  > We use *Beads* (capitalized) to refer to Steve Yegge’s original
77
120
  > [`bd` tool](https://github.com/steveyegge/beads).
78
121
  > Lowercase “beads” refers generically to the issues stored in `tbd` or `bd`.
79
122
 
80
- ## Quick Start
81
-
82
- > [!TIP]
83
- >
84
- > *Install `tbd` globally for convenience:*
85
- >
86
- > **`npm install -g get-tbd@latest`**
87
- >
88
- > Then tell your agent:
89
- >
90
- > ***“run tbd for instructions to set up this project”***
91
-
92
- That’s it. Running `tbd` with no arguments gives your agent what it needs as well as
93
- information on how to help you.
94
- It will then bootstraps a SKILL.md into your project by running `tbd setup --auto`
95
- (which will add a `.tbd` directory and add itself to your `.claude` skills and hooks).
96
- And then it will use then use shortcuts to welcome you and get you started.
97
-
98
- You can then always ask questions like: “what can I do with tbd?”
99
-
100
- ## How to Use tbd
123
+ ## How to Use `tbd`
101
124
 
102
125
  You talk to your agent in natural language.
103
- The agent translates your requests into tbd commands.
126
+ The agent translates your requests into `tbd` commands.
104
127
 
105
128
  The `tbd` CLI blends task tracking and context injection.
106
129
  Some `tbd` commands do things, like create or update beads, and some help the agent get
@@ -108,19 +131,20 @@ status or context or knowledge and know what to do next:
108
131
 
109
132
  | What you say | What happens | What runs |
110
133
  | --- | --- | --- |
111
- | "Let's plan a new feature that …" | Agent creates a spec from a template | `tbd shortcut new-plan-spec` |
112
- | "Break this spec into beads" | Agent creates implementation beads from the spec | `tbd shortcut plan-implementation-with-beads` |
113
- | "Implement these beads" | Agent works through beads systematically | `tbd shortcut implement-beads` |
134
+ | "Let's plan a new feature that …" | Agent creates a spec from a template | [`tbd shortcut new-plan-spec`](packages/tbd/docs/shortcuts/standard/new-plan-spec.md) |
135
+ | "Break this spec into beads" | Agent creates implementation beads from the spec | [`tbd shortcut plan-implementation-with-beads`](packages/tbd/docs/shortcuts/standard/plan-implementation-with-beads.md) |
136
+ | "Implement these beads" | Agent works through beads systematically | [`tbd shortcut implement-beads`](packages/tbd/docs/shortcuts/standard/implement-beads.md) |
114
137
  | "Create a bead for the bug where …" | Agent creates and tracks a bead | `tbd create "..." --type=bug` |
115
138
  | "Let's work on current beads" | Agent finds ready beads and starts working | `tbd ready` |
116
- | "Code review all changes on this branch" | Agent loads language-specific review guidelines | `tbd shortcut review-code-typescript` or `tbd shortcut review-code-python` |
117
- | "Use the shortcut to commit" | Agent runs full pre-commit checks, code review, and commits | `tbd shortcut commit-code` |
118
- | "Create a PR" | Agent creates or updates the pull request | `tbd shortcut create-or-update-pr-simple` |
119
- | "Let's create a research brief on …" | Agent creates a research document using a template | `tbd shortcut new-research-brief` |
120
- | "How could we test this better?" | Agent loads TDD and testing guidelines | `tbd guidelines general-tdd-guidelines` |
121
- | "How can we make this a well-designed TypeScript CLI?" | Agent loads TypeScript CLI guidelines | `tbd guidelines typescript-cli-tool-rules` |
122
- | "Can you review if this TypeScript package setup follows best practices" | Agent loads monorepo patterns | `tbd guidelines typescript-monorepo-patterns` |
123
- | "How can we do a better job of testing?" | Agent loads golden testing guidelines | `tbd guidelines golden-testing-guidelines` |
139
+ | "Review this code" | Agent performs comprehensive code review with all guidelines | [`tbd shortcut review-code`](packages/tbd/docs/shortcuts/standard/review-code.md) |
140
+ | "Review this PR" | Agent reviews a GitHub pull request and can comment/fix | [`tbd shortcut review-github-pr`](packages/tbd/docs/shortcuts/standard/review-github-pr.md) |
141
+ | "Use the shortcut to commit" | Agent runs full pre-commit checks, code review, and commits | [`tbd shortcut commit-code`](packages/tbd/docs/shortcuts/standard/commit-code.md) |
142
+ | "Create a PR" | Agent creates or updates the pull request | [`tbd shortcut create-or-update-pr-simple`](packages/tbd/docs/shortcuts/standard/create-or-update-pr-simple.md) |
143
+ | "Let's create a research brief on …" | Agent creates a research document using a template | [`tbd shortcut new-research-brief`](packages/tbd/docs/shortcuts/standard/new-research-brief.md) |
144
+ | "How could we test this better?" | Agent loads TDD and testing guidelines | [`tbd guidelines general-tdd-guidelines`](packages/tbd/docs/guidelines/general-tdd-guidelines.md) |
145
+ | "How can we make this a well-designed TypeScript CLI?" | Agent loads TypeScript CLI guidelines | [`tbd guidelines typescript-cli-tool-rules`](packages/tbd/docs/guidelines/typescript-cli-tool-rules.md) |
146
+ | "Can you review if this TypeScript package setup follows best practices" | Agent loads monorepo patterns | [`tbd guidelines typescript-monorepo-patterns`](packages/tbd/docs/guidelines/typescript-monorepo-patterns.md) |
147
+ | "How can we do a better job of testing?" | Agent loads golden testing guidelines | [`tbd guidelines golden-testing-guidelines`](packages/tbd/docs/guidelines/golden-testing-guidelines.md) |
124
148
 
125
149
  Under the hood, your agent runs these `tbd` commands automatically.
126
150
  You just talk naturally.
@@ -133,7 +157,7 @@ You just talk naturally.
133
157
  > (`tbd design`).
134
158
 
135
159
  - **Git-native:** Beads live in your repo, synced to a separate, dedicated `tbd-sync`
136
- branch. Your code history stays clean no bead churn polluting your logs.
160
+ branch. Your code history stays clean—no bead churn polluting your logs.
137
161
  - **Agent friendly:** JSON output, non-interactive mode, simple commands that agents
138
162
  understand. Installs itself as a skill in Claude Code.
139
163
  - **Markdown + YAML frontmatter:** One file per bead, human-readable and editable.
@@ -141,8 +165,8 @@ You just talk naturally.
141
165
  - **Beads alternative:** Largely compatible with `bd` at the CLI level, but with a
142
166
  simpler architecture: no JSONL merge conflicts, no daemon modifying your working tree,
143
167
  no SQLite file locking on network filesystems (see
144
- [FAQ: How does tbd compare to Beads?](#how-does-tbd-compare-to-beads)).
145
- - **Shortcuts:** Over a dozen reusable workflow documents plan specs, code reviews,
168
+ [FAQ: How does `tbd` compare to Beads?](#how-does-tbd-compare-to-beads)).
169
+ - **Shortcuts:** Over a dozen reusable workflow documents—plan specs, code reviews,
146
170
  commit processes, PR creation, research briefs, and more.
147
171
  - **Guidelines:** [17+ guideline docs](packages/tbd/docs/guidelines/) of coding rules
148
172
  and best practices (see
@@ -150,19 +174,25 @@ You just talk naturally.
150
174
  - **Templates:** Document templates for planning specs, research briefs, architecture
151
175
  docs.
152
176
 
153
- ## Why?
177
+ ## Why is This a Good Idea?
154
178
 
155
- With the right structures, agents can often write 100% of your code.
156
- But without structure and knowledge, the results are hit-or-miss and they dont scale to
157
- large projects.
179
+ Engineers are still adjusting to how fast things are changing.
180
+ But the reality is that most of the time now, if youre doing it right, *agents should
181
+ write 100% of your code*.
158
182
 
159
- Agents by nature are mediocre engineers.
183
+ But anyone who’s coded a lot with agents knows they can be very bad or very good,
184
+ depending on the situation.
185
+ Without structure and knowledge, the results are often slop or have critical flaws or
186
+ they don’t scale to large projects.
160
187
  They forget conventions between sessions, skip testing, and don’t follow your team’s
161
- patterns. The usual fix—pasting rules into prompts or CLAUDE.md files—is fragile and
162
- doesn’t scale.
188
+ patterns.
163
189
 
164
- Beads (git-native CLI-based issue tracking) solve the task management problem
165
- brilliantly. If you’re not using beads already, you should be!
190
+ The usual tactics like pasting rules into prompts is fragile and tiring.
191
+ And even adding all these rules to CLAUDE.md or AGENTS.md doesn’t scale.
192
+
193
+ Beads (git-native CLI-based issue tracking) is one element of the solution.
194
+ It solves the task management problem brilliantly.
195
+ If you’re not using beads already, you should be!
166
196
 
167
197
  But task tracking alone doesn’t help with *planning* or *quality*. You still need a way
168
198
  to think through what you’re building before you start, and a way to make sure the agent
@@ -177,17 +207,26 @@ sessions.
177
207
  My current favorite workflows and guidelines are included by default, but you’re not
178
208
  locked in. Add your own via `--add` or configure what’s available in `.tbd/config.yml`.
179
209
 
180
- And yes, all the code *and* all the speccs of `tbd` are agent written—see
210
+ And yes, all the code *and* all the specs of `tbd` are agent written—see
181
211
  [the FAQ](#was-tbd-built-with-tbd).
182
212
 
183
213
  ## Built-in Engineering Knowledge
184
214
 
185
215
  When you run `tbd setup`, your agent gets instant access to
186
216
  [17+ guideline documents](packages/tbd/docs/guidelines/) covering real-world engineering
187
- practices. These aren’t generic tips they’re detailed, opinionated rules with concrete
188
- examples, built from months of heavy agentic coding.
217
+ practices. These aren’t generic tips; they’re mostly my own detailed and sometimes
218
+ opinionated rules with concrete examples, built from months of heavy agentic coding.
189
219
 
190
- **Highlights:**
220
+ > [!TIP]
221
+ >
222
+ > An example: I *strongly* believe there are much better ways to do testing
223
+ > proliferating hundreds of unit and integration tests.
224
+ > So (with help from some Opus 4.5 and GPT-5 Pro) I wrote a multi-page brief about
225
+ > “[golden testing](packages/tbd/docs/guidelines/golden-testing-guidelines.md)”
226
+ > techniques, which allow the LLM to do end-to-end testing of CLI or web app flows in a
227
+ > clean, token-friendly way.
228
+ > Now simply telling your agent “check the guidelines on golden testing” can make a huge
229
+ > difference, encouraging far more maintainable, deeper tests.
191
230
 
192
231
  | Guideline | What it covers |
193
232
  | --- | --- |
@@ -228,10 +267,10 @@ npm install -g get-tbd@latest
228
267
  ### Setup
229
268
 
230
269
  ```bash
231
- # Fresh project (--prefix is REQUIRED it appears in every bead ID, e.g. myapp-a1b2)
270
+ # Fresh project (--prefix is REQUIRED—it appears in every bead ID, e.g. myapp-a1b2)
232
271
  tbd setup --auto --prefix=myapp
233
272
 
234
- # Joining an existing tbd project (no prefix needed reads existing config)
273
+ # Joining an existing tbd project (no prefix needed—reads existing config)
235
274
  tbd setup --auto
236
275
 
237
276
  # Migrate from Beads (uses your existing beads prefix)
@@ -243,7 +282,7 @@ tbd setup --from-beads
243
282
 
244
283
  ### Team Setup
245
284
 
246
- tbd is designed for teams where one person sets up the project and others join later.
285
+ `tbd` is designed for teams where one person sets up the project and others join later.
247
286
 
248
287
  **First contributor:**
249
288
  ```bash
@@ -257,7 +296,7 @@ git push
257
296
  ```bash
258
297
  git clone <repo>
259
298
  npm install -g get-tbd@latest
260
- tbd setup --auto # No --prefix needed reads existing config
299
+ tbd setup --auto # No --prefix needed—reads existing config
261
300
  ```
262
301
 
263
302
  ### Claude Code Integration
@@ -265,8 +304,8 @@ tbd setup --auto # No --prefix needed — reads existing conf
265
304
  `tbd setup --auto` configures SessionStart hooks that run at the beginning of each
266
305
  Claude Code session:
267
306
 
268
- - **`tbd prime`** — injects workflow context so the agent knows how to use tbd
269
- - **`ensure-gh-cli.sh`** — installs the GitHub CLI (`gh`) if not already available
307
+ - **`tbd prime`**—injects workflow context so the agent knows how to use `tbd`
308
+ - **`ensure-gh-cli.sh`**—installs the GitHub CLI (`gh`) if not already available
270
309
 
271
310
  **GitHub authentication:** For `gh` to work, set these environment variables before
272
311
  starting your agent session:
@@ -294,7 +333,7 @@ tbd list --all
294
333
  tbd setup beads --disable # Optionally disable beads after migration
295
334
  ```
296
335
 
297
- Issue IDs are preserved: `proj-123` in beads becomes `proj-123` in tbd.
336
+ Issue IDs are preserved: `proj-123` in beads becomes `proj-123` in `tbd`.
298
337
 
299
338
  ## Commands
300
339
 
@@ -326,18 +365,18 @@ tbd search "authentication" # Search beads
326
365
 
327
366
  ### Shortcuts, Guidelines, and Templates
328
367
 
329
- tbd bundles three types of documentation your agent can invoke on demand:
368
+ `tbd` bundles three types of documentation your agent can invoke on demand:
330
369
 
331
370
  ```bash
332
- # Shortcuts workflow instructions
371
+ # Shortcuts—workflow instructions
333
372
  tbd shortcut --list # List all shortcuts
334
373
  tbd shortcut new-plan-spec # Get the plan spec workflow
335
374
 
336
- # Guidelines coding rules and best practices
375
+ # Guidelines—coding rules and best practices
337
376
  tbd guidelines --list # List all guidelines
338
377
  tbd guidelines typescript-rules # Get TypeScript rules
339
378
 
340
- # Templates document scaffolds
379
+ # Templates—document scaffolds
341
380
  tbd template --list # List all templates
342
381
  tbd template plan-spec # Get a plan spec template
343
382
 
@@ -357,35 +396,18 @@ tbd template --add=<url> --name=<name>
357
396
  | `new-validation-plan` | Create a test/validation plan |
358
397
  | `plan-implementation-with-beads` | Break a spec into implementation beads |
359
398
  | `implement-beads` | Implement beads from a spec |
399
+ | `review-code` | Comprehensive code review (uncommitted, branch, or PR) |
400
+ | `review-github-pr` | Review a GitHub PR with commenting and CI checks |
401
+ | `review-code-typescript` | TypeScript-focused code review |
402
+ | `review-code-python` | Python-focused code review |
360
403
  | `precommit-process` | Pre-commit review and testing |
361
404
  | `commit-code` | Commit with pre-commit checks |
362
- | `review-code-typescript` | Code review for TypeScript |
363
- | `review-code-python` | Code review for Python |
364
405
  | `create-or-update-pr-simple` | Basic PR creation |
365
406
  | `create-or-update-pr-with-validation-plan` | PR with a validation plan |
366
407
 
367
- **Available guidelines** (see
368
- [Built-in Engineering Knowledge](#built-in-engineering-knowledge) for details):
369
-
370
- | Guideline | Description |
371
- | --- | --- |
372
- | [`general-tdd-guidelines`](packages/tbd/docs/guidelines/general-tdd-guidelines.md) | TDD methodology |
373
- | [`golden-testing-guidelines`](packages/tbd/docs/guidelines/golden-testing-guidelines.md) | Golden/snapshot testing |
374
- | [`general-testing-rules`](packages/tbd/docs/guidelines/general-testing-rules.md) | General testing principles |
375
- | [`typescript-code-coverage`](packages/tbd/docs/guidelines/typescript-code-coverage.md) | Code coverage with Vitest and v8 |
376
- | [`typescript-rules`](packages/tbd/docs/guidelines/typescript-rules.md) | TypeScript coding rules |
377
- | [`typescript-monorepo-patterns`](packages/tbd/docs/guidelines/typescript-monorepo-patterns.md) | pnpm workspaces, package setup, monorepo architecture |
378
- | [`typescript-cli-tool-rules`](packages/tbd/docs/guidelines/typescript-cli-tool-rules.md) | CLI tools with Commander.js |
379
- | [`python-rules`](packages/tbd/docs/guidelines/python-rules.md) | Python coding rules |
380
- | [`python-cli-patterns`](packages/tbd/docs/guidelines/python-cli-patterns.md) | Python CLI architecture |
381
- | [`backward-compatibility-rules`](packages/tbd/docs/guidelines/backward-compatibility-rules.md) | API and schema compatibility |
382
- | [`general-coding-rules`](packages/tbd/docs/guidelines/general-coding-rules.md) | Constants, magic numbers, practices |
383
- | [`general-comment-rules`](packages/tbd/docs/guidelines/general-comment-rules.md) | Comment best practices |
384
- | [`general-style-rules`](packages/tbd/docs/guidelines/general-style-rules.md) | Auto-formatting and output formatting |
385
- | [`general-eng-assistant-rules`](packages/tbd/docs/guidelines/general-eng-assistant-rules.md) | AI assistant objectivity and communication |
386
- | [`commit-conventions`](packages/tbd/docs/guidelines/commit-conventions.md) | Conventional commits format |
387
- | [`convex-rules`](packages/tbd/docs/guidelines/convex-rules.md) | Convex database patterns |
388
- | [`convex-limits-best-practices`](packages/tbd/docs/guidelines/convex-limits-best-practices.md) | Convex platform limits and workarounds |
408
+ **Available guidelines:** See
409
+ [Built-in Engineering Knowledge](#built-in-engineering-knowledge) for the full list of
410
+ 17+ guidelines covering TypeScript, Python, testing, TDD, and more.
389
411
 
390
412
  **Available templates:**
391
413
 
@@ -436,59 +458,16 @@ tbd docs # Full CLI reference
436
458
  ```
437
459
 
438
460
  Or read online:
439
- - [CLI Reference](packages/tbd/docs/tbd-docs.md) Complete command documentation
440
- - [Design Doc](packages/tbd/docs/tbd-design.md) Technical architecture
441
-
442
- ## Team Workflows
443
-
444
- tbd is designed for teams where one person sets up the project and others join later.
445
-
446
- **First contributor (project setup):**
447
- ```bash
448
- npm install -g get-tbd@latest
449
- tbd setup --auto --prefix=myproject
450
- git add .tbd/ .claude/ && git commit -m "Initialize tbd"
451
- git push
452
- ```
453
-
454
- **Joining contributors:**
455
- ```bash
456
- git clone <repo> # .tbd/ directory comes with repo
457
- npm install -g get-tbd@latest # If not already installed
458
- tbd setup --auto # No --prefix needed! Reads existing config
459
- ```
460
-
461
- The second contributor just runs `tbd setup --auto` — no need to know the project prefix
462
- or any other configuration details.
463
-
464
- **Updating tbd:** After upgrading tbd (`npm install -g get-tbd@latest`), run
465
- `tbd setup --auto` to refresh local skill files with the latest shortcuts, guidelines,
466
- and templates.
467
-
468
- ## Migration from Beads
469
-
470
- ```bash
471
- # Auto-detects beads and migrates (uses existing beads prefix)
472
- tbd setup --from-beads
473
-
474
- # Verify
475
- tbd stats
476
- tbd list --all
477
-
478
- # If you wish to disable beads after migration
479
- tbd setup beads --disable
480
- ```
481
-
482
- Issue IDs are preserved: `proj-123` in beads becomes `proj-123` in tbd.
483
- The prefix from your beads configuration is automatically used.
461
+ - [CLI Reference](packages/tbd/docs/tbd-docs.md)—Complete command documentation
462
+ - [Design Doc](packages/tbd/docs/tbd-design.md)—Technical architecture
484
463
 
485
464
  ## How It Works
486
465
 
487
- tbd keeps two things separate from your code:
466
+ `tbd` keeps two things separate from your code:
488
467
 
489
468
  - **Beads** live on a dedicated `tbd-sync` branch.
490
469
  One Markdown file per bead means parallel creation never conflicts.
491
- `tbd sync` pushes changes no manual git operations needed.
470
+ `tbd sync` pushes changes—no manual git operations needed.
492
471
  - **Documents** (shortcuts, guidelines, templates) are cached locally in `.tbd/docs/`
493
472
  during `tbd setup --auto`. Your agent reads them on demand via `tbd shortcut`,
494
473
  `tbd guidelines`, and `tbd template`. Re-run `tbd setup --auto` anytime to refresh
@@ -496,37 +475,36 @@ tbd keeps two things separate from your code:
496
475
  - **Everything is self-documented via the CLI.** Running `tbd` with no arguments gives
497
476
  full orientation. `tbd setup --auto` writes a skill file (SKILL.md/AGENTS.md) that
498
477
  teaches the agent all available commands, shortcuts, and guidelines.
499
- This means agents can inject context specs, engineering guidelines, workflow
500
- instructions at any point in a session, not just at startup.
478
+ This means agents can inject context—specs, engineering guidelines, workflow
479
+ instructions—at any point in a session, not just at startup.
501
480
 
502
481
  See the [design doc](packages/tbd/docs/tbd-design.md) for details.
503
482
 
504
483
  ## FAQ
505
484
 
506
- ### How does tbd compare to Beads?
485
+ ### How does `tbd` compare to Beads?
507
486
 
508
- tbd was inspired by [Beads](https://github.com/steveyegge/beads) by Steve Yegge, and I’m
509
- grateful for the idea it genuinely changed how I work with agents.
487
+ `tbd` was inspired by [Beads](https://github.com/steveyegge/beads) by Steve Yegge, and
488
+ I’m grateful for the idea—it genuinely changed how I work with agents.
510
489
  If you’re not familiar with Beads, the core insight is that git-native issue tracking
511
490
  raises an agent’s capacity for structured work from ~5-10 to-do items to hundreds of
512
491
  beads.
513
492
 
514
- tbd builds on that foundation with a simpler architecture: plain Markdown files instead
515
- of JSONL, no daemon, no SQLite, no 4-way sync.
493
+ `tbd` builds on that foundation with a simpler architecture: plain Markdown files
494
+ instead of JSONL, no daemon, no SQLite, no 4-way sync.
516
495
  This avoids the edge cases I ran into with network filesystems (Claude Code Cloud),
517
496
  merge conflicts, and multi-agent workflows.
518
497
 
519
- tbd also adds spec-driven planning and curated engineering guidelines things Beads
520
- doesn’t attempt. If you already use Beads, `tbd setup --from-beads` migrates your beads
521
- with IDs preserved.
498
+ If you already use Beads, `tbd setup --from-beads` migrates you to `tbd`. This imports
499
+ and sets up your `.tbd` directory and preserves the IDs of all issues.
522
500
 
523
- **Scope:** tbd focuses on the *durable layer* — issue tracking, specs, and knowledge
501
+ **Scope:** `tbd` focuses on the *durable layer*—issue tracking, specs, and knowledge
524
502
  that persist across sessions and live in git.
525
503
  It does *not* aim to solve real-time multi-agent coordination, which is a separate
526
504
  problem requiring sub-second messaging and atomic claims.
527
505
  Tools like [Agent Mail](https://github.com/Dicklesworthstone/mcp_agent_mail) and
528
506
  [Gas Town](https://github.com/steveyegge/gastown) address that space and are
529
- complementary to tbdyou could layer real-time coordination on top of tbds durable
507
+ complementary to `tbd`—you could layer real-time coordination on top of `tbd`'s durable
530
508
  tracking. See the [design doc](packages/tbd/docs/tbd-design.md) for a detailed
531
509
  comparison.
532
510
 
@@ -541,22 +519,22 @@ work into well-defined beads.
541
519
  The agent then implements each bead with clear context about the bigger picture.
542
520
 
543
521
  This matters because with a good spec broken into beads, you can leave an agent running
544
- overnight and come back to code that’s well-structured and coherent not a pile of
522
+ overnight and come back to code that’s well-structured and coherent—not a pile of
545
523
  disconnected changes.
546
- tbd bakes in shortcuts for the full cycle: writing specs, breaking them into beads,
524
+ `tbd` bakes in shortcuts for the full cycle: writing specs, breaking them into beads,
547
525
  implementing, validating, and shipping.
548
526
 
549
- ### Was tbd built with tbd?
527
+ ### Was `tbd` built with `tbd`?
550
528
 
551
- Of course! I boostrapped with the original `bd`. It imported from `bd` and began
529
+ Of course! I bootstrapped with the original `bd`. It imported from `bd` and began
552
530
  self-hosting its own tasks, then took over its own specs and reminds itself of its own
553
531
  coding guidelines. Here’s what that looks like in practice:
554
532
 
555
- **Specs:** tbd has dozens of active and completed plan specs, such as:
556
- - `plan-2026-01-15-tbd-v1-implementation.md` — The original v1 design
557
- - `plan-2026-01-20-streamlined-init-setup-design.md` — Redesigning the setup flow
558
- - `plan-2026-01-26-configurable-doc-cache-sync.md` — Making the doc system configurable
559
- - `plan-2026-01-28-cli-add-docs-by-url.md` — Adding `--add` for external docs
533
+ **Specs:** `tbd` has dozens of active and completed plan specs, such as:
534
+ - `plan-2026-01-15-tbd-v1-implementation.md`—The original v1 design
535
+ - `plan-2026-01-20-streamlined-init-setup-design.md`—Redesigning the setup flow
536
+ - `plan-2026-01-26-configurable-doc-cache-sync.md`—Making the doc system configurable
537
+ - `plan-2026-01-28-cli-add-docs-by-url.md`—Adding `--add` for external docs
560
538
 
561
539
  **Beads:** Features are broken into beads and worked through systematically.
562
540
  For example, the current list of open beads for this project looks like
@@ -586,9 +564,8 @@ $
586
564
 
587
565
  ### Can I add my own guidelines?
588
566
 
589
- Yes.
590
- tbd comes with 17+ bundled guidelines, but you can add your own team’s docs from any
591
- URL:
567
+ Yes. `tbd` comes with 17+ bundled guidelines, but you can add your own team’s docs from
568
+ any URL:
592
569
 
593
570
  ```bash
594
571
  tbd guidelines --add=<url> --name=my-team-rules