get-tbd 0.1.13 → 0.1.14

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 (51) hide show
  1. package/README.md +37 -24
  2. package/dist/bin.mjs +410 -170
  3. package/dist/bin.mjs.map +1 -1
  4. package/dist/cli.mjs +202 -94
  5. package/dist/cli.mjs.map +1 -1
  6. package/dist/docs/README.md +37 -24
  7. package/dist/docs/SKILL.md +61 -18
  8. package/dist/docs/guidelines/cli-agent-skill-patterns.md +77 -4
  9. package/dist/docs/guidelines/error-handling-rules.md +66 -0
  10. package/dist/docs/guidelines/release-notes-guidelines.md +140 -0
  11. package/dist/docs/guidelines/typescript-yaml-handling-rules.md +195 -0
  12. package/dist/docs/install/claude-header.md +13 -6
  13. package/dist/docs/shortcuts/standard/agent-handoff.md +1 -0
  14. package/dist/docs/shortcuts/standard/checkout-third-party-repo.md +50 -0
  15. package/dist/docs/shortcuts/standard/{cleanup-all.md → code-cleanup-all.md} +3 -2
  16. package/dist/docs/shortcuts/standard/{cleanup-update-docstrings.md → code-cleanup-docstrings.md} +1 -0
  17. package/dist/docs/shortcuts/standard/{cleanup-remove-trivial-tests.md → code-cleanup-tests.md} +1 -0
  18. package/dist/docs/shortcuts/standard/{commit-code.md → code-review-and-commit.md} +1 -0
  19. package/dist/docs/shortcuts/standard/create-or-update-pr-simple.md +1 -0
  20. package/dist/docs/shortcuts/standard/create-or-update-pr-with-validation-plan.md +1 -0
  21. package/dist/docs/shortcuts/standard/implement-beads.md +1 -0
  22. package/dist/docs/shortcuts/standard/merge-upstream.md +1 -0
  23. package/dist/docs/shortcuts/standard/new-architecture-doc.md +1 -0
  24. package/dist/docs/shortcuts/standard/new-guideline.md +8 -0
  25. package/dist/docs/shortcuts/standard/new-plan-spec.md +1 -0
  26. package/dist/docs/shortcuts/standard/new-research-brief.md +1 -0
  27. package/dist/docs/shortcuts/standard/new-shortcut.md +27 -1
  28. package/dist/docs/shortcuts/standard/new-validation-plan.md +1 -0
  29. package/dist/docs/shortcuts/standard/plan-implementation-with-beads.md +1 -0
  30. package/dist/docs/shortcuts/standard/precommit-process.md +1 -0
  31. package/dist/docs/shortcuts/standard/review-code-python.md +1 -0
  32. package/dist/docs/shortcuts/standard/review-code-typescript.md +1 -0
  33. package/dist/docs/shortcuts/standard/review-code.md +1 -0
  34. package/dist/docs/shortcuts/standard/review-github-pr.md +1 -0
  35. package/dist/docs/shortcuts/standard/revise-all-architecture-docs.md +1 -0
  36. package/dist/docs/shortcuts/standard/revise-architecture-doc.md +1 -0
  37. package/dist/docs/shortcuts/standard/setup-github-cli.md +1 -0
  38. package/dist/docs/shortcuts/standard/sync-failure-recovery.md +6 -53
  39. package/dist/docs/shortcuts/standard/update-specs-status.md +1 -0
  40. package/dist/docs/shortcuts/standard/welcome-user.md +2 -1
  41. package/dist/docs/shortcuts/system/skill-brief.md +1 -1
  42. package/dist/docs/shortcuts/system/skill.md +48 -12
  43. package/dist/docs/skill-brief.md +1 -1
  44. package/dist/docs/tbd-design.md +13 -1
  45. package/dist/index.d.mts +20 -6
  46. package/dist/index.mjs +2 -2
  47. package/dist/{src-BfhjLZXE.mjs → src-DdSZ1dgK.mjs} +154 -22
  48. package/dist/src-DdSZ1dgK.mjs.map +1 -0
  49. package/dist/tbd +410 -170
  50. package/package.json +1 -1
  51. package/dist/src-BfhjLZXE.mjs.map +0 -1
@@ -0,0 +1,195 @@
1
+ ---
2
+ title: TypeScript YAML Handling Rules
3
+ description: Best practices for parsing and serializing YAML in TypeScript
4
+ author: Joshua Levy (github.com/jlevy) with LLM assistance
5
+ globs: "*.ts"
6
+ ---
7
+ # TypeScript YAML Handling Rules
8
+
9
+ These guidelines ensure consistent, safe, and readable YAML handling across TypeScript
10
+ codebases. YAML is deceptively tricky—inconsistent quoting, serialization differences,
11
+ and lack of validation cause subtle bugs.
12
+
13
+ ## Use the Right Package
14
+
15
+ - **Use `yaml` (v2.x)**, not `js-yaml`. The `yaml` package has better TypeScript
16
+ support, more control over output formatting, and proper handling of edge cases.
17
+
18
+ ```ts
19
+ // Good
20
+ import { parse, stringify } from 'yaml';
21
+
22
+ // Avoid
23
+ import yaml from 'js-yaml';
24
+ ```
25
+
26
+ ## Centralize Serialization Options
27
+
28
+ - **Externalize settings to a central file** instead of scattering `stringify()` calls
29
+ with ad-hoc options throughout the codebase.
30
+
31
+ ```ts
32
+ // lib/settings.ts
33
+ export const DEFAULT_YAML_LINE_WIDTH = 88;
34
+
35
+ // Readable YAML output:
36
+ // - No forced quoting (YAML only quotes when necessary)
37
+ // - Line wrapping at 88 chars for readability
38
+ // - Sorted keys for deterministic diffs
39
+ export const YAML_STRINGIFY_OPTIONS = {
40
+ lineWidth: DEFAULT_YAML_LINE_WIDTH,
41
+ defaultStringType: 'PLAIN',
42
+ defaultKeyType: 'PLAIN',
43
+ sortMapEntries: true,
44
+ } as const;
45
+ ```
46
+
47
+ - **Use the centralized options** wherever you serialize YAML:
48
+
49
+ ```ts
50
+ // serialize.ts
51
+ import { stringify } from 'yaml';
52
+ import { YAML_STRINGIFY_OPTIONS } from '../lib/settings.js';
53
+
54
+ const yamlStr = stringify(frontmatterObj, YAML_STRINGIFY_OPTIONS);
55
+ ```
56
+
57
+ - **Optionally create wrapper functions** for additional convenience:
58
+
59
+ ```ts
60
+ // utils/yaml-utils.ts
61
+ import { stringify } from 'yaml';
62
+ import { YAML_STRINGIFY_OPTIONS } from '../lib/settings.js';
63
+
64
+ export function stringifyYaml(data: unknown, options?: object): string {
65
+ return stringify(data, { ...YAML_STRINGIFY_OPTIONS, ...options });
66
+ }
67
+ ```
68
+
69
+ ## Recommended Defaults
70
+
71
+ These defaults produce clean, readable YAML without unnecessary quoting:
72
+
73
+ | Option | Value | Rationale |
74
+ | --- | --- | --- |
75
+ | `lineWidth` | 88 | Line wrapping for readability (matches Black formatter) |
76
+ | `defaultStringType` | `'PLAIN'` | No quotes unless necessary (e.g., special chars, colons) |
77
+ | `defaultKeyType` | `'PLAIN'` | Unquoted keys: `name:` not `"name":` |
78
+ | `sortMapEntries` | `true` | Deterministic output for clean diffs |
79
+
80
+ The key insight: YAML is designed to be human-readable.
81
+ Forcing quotes everywhere (e.g., `"value"` instead of `value`) defeats this purpose.
82
+ Use `PLAIN` types to let YAML quote only when semantically required.
83
+
84
+ ## Validate with Zod
85
+
86
+ - **Always validate parsed YAML** with a Zod schema.
87
+ Raw `parse()` returns `unknown` and provides no guarantees about structure.
88
+
89
+ ```ts
90
+ // Good
91
+ import { z } from 'zod';
92
+ import { parse } from 'yaml';
93
+
94
+ const ConfigSchema = z.object({
95
+ name: z.string(),
96
+ version: z.string(),
97
+ });
98
+
99
+ const rawData = parse(content);
100
+ const result = ConfigSchema.safeParse(rawData);
101
+ if (!result.success) {
102
+ throw new Error(`Invalid config: ${result.error.message}`);
103
+ }
104
+ const config = result.data; // Typed and validated
105
+
106
+ // Avoid
107
+ const config = parse(content) as Config; // Type assertion with no runtime validation
108
+ ```
109
+
110
+ ## Handle Merge Conflicts
111
+
112
+ - **Check for git merge conflict markers** before parsing user-editable files.
113
+ Conflict markers cause cryptic YAML parse errors.
114
+
115
+ ```ts
116
+ export function parseYamlWithConflictDetection<T>(content: string, filePath?: string): T {
117
+ if (/^<<<<<<< /m.test(content) || /^=======/m.test(content) || /^>>>>>>> /m.test(content)) {
118
+ throw new MergeConflictError(
119
+ `File contains unresolved git merge conflict markers`,
120
+ filePath
121
+ );
122
+ }
123
+ return parse(content) as T;
124
+ }
125
+ ```
126
+
127
+ ## Common Antipatterns
128
+
129
+ ### Antipattern: Manual String Building
130
+
131
+ ```ts
132
+ // Bad: Manual YAML string construction
133
+ const yaml = `name: ${name}\nversion: ${version}`;
134
+
135
+ // Good: Use stringify()
136
+ const yaml = stringifyYaml({ name, version });
137
+ ```
138
+
139
+ ### Antipattern: Inconsistent Quoting
140
+
141
+ ```ts
142
+ // Bad: Inconsistent options across codebase
143
+ stringify(data1, { lineWidth: 80 });
144
+ stringify(data2, { lineWidth: 100, defaultStringType: 'QUOTE_DOUBLE' });
145
+ stringify(data3); // No options
146
+
147
+ // Good: Use centralized wrapper
148
+ stringifyYaml(data1);
149
+ stringifyYaml(data2);
150
+ stringifyYaml(data3);
151
+ ```
152
+
153
+ ### Antipattern: Unvalidated Parsing
154
+
155
+ ```ts
156
+ // Bad: Type assertion without validation
157
+ const config = parse(content) as Config;
158
+
159
+ // Good: Runtime validation
160
+ const config = ConfigSchema.parse(parse(content));
161
+ ```
162
+
163
+ ### Antipattern: Using gray-matter Directly for Serialization
164
+
165
+ ```ts
166
+ // Bad: gray-matter.stringify() has limited formatting control
167
+ import matter from 'gray-matter';
168
+ const output = matter.stringify(body, frontmatter);
169
+
170
+ // Good: Use gray-matter for parsing, yaml package for serialization
171
+ import matter from 'gray-matter';
172
+ import { stringifyYaml } from './yaml-utils.js';
173
+
174
+ const { data, content } = matter(input);
175
+ const output = `---\n${stringifyYaml(data)}---\n\n${content}`;
176
+ ```
177
+
178
+ ## Testing YAML Output
179
+
180
+ - **Don’t rely on key order in tests** when using `sortMapEntries: true`. Keys are
181
+ sorted alphabetically.
182
+
183
+ ```ts
184
+ // Fragile: Depends on key order
185
+ expect(yaml).toMatch(/^---\nname: foo\nversion: 1/);
186
+
187
+ // Robust: Tests presence, not order
188
+ expect(yaml).toContain('name: foo');
189
+ expect(yaml).toContain('version: 1');
190
+ ```
191
+
192
+ ## Related Guidelines
193
+
194
+ - For general TypeScript rules, see `tbd guidelines typescript-rules`
195
+ - For error handling patterns, see `tbd guidelines error-handling-rules`
@@ -1,12 +1,19 @@
1
1
  ---
2
2
  name: tbd
3
3
  description: >-
4
- Git-native issue tracking (beads), coding guidelines, and spec-driven planning for AI agents.
5
- Use for tracking issues with dependencies, creating and closing bugs, features, and tasks,
6
- planning specs for new features, implementing features from specs, code reviews, committing code,
7
- creating PRs, research briefs, and architecture docs. Invoke when user mentions: tbd, beads,
8
- issues, bugs, tasks, todo, tracking, specs, planning, implementation, validation, guidelines,
9
- shortcuts, templates, commit, PR workflows, code review, testing best practices, or monorepo patterns.
4
+ Git-native issue tracking (beads), coding guidelines, knowledge injection, and spec-driven
5
+ planning for AI agents. Drop-in replacement for bd/Beads with simpler architecture.
6
+
7
+ Use for: tracking issues/beads with dependencies, creating bugs/features/tasks, planning specs,
8
+ implementing features from specs, code reviews, committing code, creating PRs, loading coding
9
+ guidelines (TypeScript, Python, TDD, golden testing, Convex, monorepo patterns), code cleanup,
10
+ research briefs, architecture docs, agent handoffs, and checking out third-party library source code.
11
+
12
+ Invoke when user mentions: tbd, beads, bd, shortcuts, issues, bugs, tasks, features, epics, todo,
13
+ tracking, specs, planning, implementation, validation, guidelines, templates, commit, PR, pull request,
14
+ code review, testing, TDD, test-driven, golden testing, snapshot testing, TypeScript, Python, Convex,
15
+ monorepo, cleanup, dead code, refactor, handoff, research, architecture, labels, search, checkout library,
16
+ source code review, or any workflow shortcut.
10
17
  allowed-tools: Bash(tbd:*), Read, Write
11
18
  ---
12
19
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Agent Handoff
3
3
  description: Generate a concise handoff prompt for another coding agent to continue work
4
+ category: session
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  Generate a high-signal handoff prompt for the next agent.
@@ -0,0 +1,50 @@
1
+ ---
2
+ title: Checkout Third-Party Repo
3
+ description: Get source code for libraries and third-party repos using git. Essential for reliable source code review. Prefer this to web searches or fetching of web pages from github.com as it is far more effective (github.com blocks web scraping from main website).
4
+ category: research
5
+ author: Joshua Levy (github.com/jlevy) with LLM assistance
6
+ ---
7
+ Clone a third-party library or tool’s repository locally to review its source code.
8
+
9
+ ## Why This Approach
10
+
11
+ **Do not** use web search or try to scrape GitHub.com for source code.
12
+ GitHub blocks scraping, results are messy, and you lose full codebase context.
13
+ Cloning locally gives you reliable, complete, searchable access to the exact version you
14
+ need.
15
+
16
+ ## Steps
17
+
18
+ 1. **Create attic directory** (if not exists):
19
+ ```bash
20
+ mkdir -p attic
21
+ ```
22
+
23
+ 2. **Add to .gitignore** (if not already):
24
+ ```bash
25
+ echo "attic/" >> .gitignore
26
+ ```
27
+
28
+ 3. **Identify the version in use**: Check `package.json`, `requirements.txt`,
29
+ `Cargo.toml`, etc. for the exact version of the dependency you’re investigating.
30
+
31
+ 4. **Clone the repo**:
32
+ ```bash
33
+ git clone <repo-url> attic/<repo-name>
34
+ ```
35
+
36
+ 5. **Checkout the matching version**: Find the tag or branch matching your project’s
37
+ version:
38
+ ```bash
39
+ cd attic/<repo-name>
40
+ git tag -l | grep <version> # Find matching tag
41
+ git checkout <tag-or-branch>
42
+ ```
43
+
44
+ 6. **Explore**: Now use standard tools (Grep, Read, Glob) to investigate the source.
45
+
46
+ ## Notes
47
+
48
+ - The `attic/` directory is gitignored—cloned repos won’t pollute your project
49
+ - You can clone multiple repos into attic/ as needed
50
+ - Delete cloned repos when done to save disk space
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Clean Up All Code
3
3
  description: Full cleanup cycle including duplicate removal, dead code, and code quality improvements
4
+ category: cleanup
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  # Shortcut: Clean Up Code
@@ -52,9 +53,9 @@ cycle afterwords, fixing all build or test issues.
52
53
  - Review types and eliminate use of optional types as possible so we don’t spread
53
54
  state checks throughout the codebase.
54
55
 
55
- 7. **Remove trivial tests**: Follow `tbd shortcut cleanup-remove-trivial-tests`.
56
+ 7. **Remove trivial tests**: Follow `tbd shortcut code-cleanup-tests`.
56
57
 
57
- 8. **Update docstrings**: Follow `tbd shortcut cleanup-update-docstrings`.
58
+ 8. **Update docstrings**: Follow `tbd shortcut code-cleanup-docstrings`.
58
59
 
59
60
  9. **Consolidate constants and settings**: Determine what files hold shared settings
60
61
  (such as `settings.ts` or similar).
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: "Cleanup: Update Docstrings"
3
3
  description: Review and add concise docstrings to major functions and types
4
+ category: cleanup
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  # Shortcut: Update Docstrings
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: "Cleanup: Remove Trivial Tests"
3
3
  description: Review and remove tests that do not add meaningful coverage
4
+ category: cleanup
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  # Shortcut: Remove Trivial Tests
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Commit Code
3
3
  description: Run pre-commit checks, review changes, and commit code
4
+ category: git
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Create or Update PR (Simple)
3
3
  description: Create or update a pull request with a concise summary
4
+ category: git
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Create or Update PR with Validation Plan
3
3
  description: Create or update a pull request with a detailed test/validation plan
4
+ category: git
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Implement Beads
3
3
  description: Implement beads from a spec, following TDD and project rules
4
+ category: planning
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Merge Upstream
3
3
  description: Merge origin/main into current branch with conflict resolution
4
+ category: git
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  Merge upstream changes from origin/main into the current branch.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: New Architecture Doc
3
3
  description: Create an architecture document for a system or component design
4
+ category: documentation
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: New Guideline
3
3
  description: Create a new coding guideline document for tbd
4
+ category: meta
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  This shortcut helps create new guideline documents that agents can reference via
@@ -87,6 +88,11 @@ Create a to-do list with the following items then perform all of them:
87
88
  - Rebuild tbd: `pnpm build` (in packages/tbd/)
88
89
  - Verify bundled: check `packages/tbd/dist/docs/guidelines/<name>.md`
89
90
 
91
+ 9. **Update documentation** (for official guidelines):
92
+ - Add to root `README.md` “Built-in Engineering Knowledge” table
93
+ - Sync docs cache: `tbd setup --auto` (updates `.tbd/docs/`)
94
+ - Note: `packages/tbd/README.md` is auto-copied from root during build
95
+
90
96
  ## Guideline Quality Checklist
91
97
 
92
98
  - [ ] Frontmatter has title and description
@@ -96,6 +102,8 @@ Create a to-do list with the following items then perform all of them:
96
102
  - [ ] Cross-references to related guidelines
97
103
  - [ ] No relative links (use full URLs for external refs)
98
104
  - [ ] Tested with `tbd guidelines <name>`
105
+ - [ ] (Official) Added to root README.md “Built-in Engineering Knowledge” table
106
+ - [ ] (Official) Docs cache synced: `tbd setup --auto`
99
107
 
100
108
  ## Example Frontmatter
101
109
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: New Plan Spec
3
3
  description: Create a new feature planning specification document
4
+ category: planning
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: New Research Doc
3
3
  description: Create a research document for investigating a topic or technology
4
+ category: documentation
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: New Shortcut
3
3
  description: Create a new shortcut (reusable instruction template) for tbd
4
+ category: meta
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  Create a new shortcut for `tbd shortcut <name>`.
@@ -16,6 +17,7 @@ Create a new shortcut for `tbd shortcut <name>`.
16
17
  ---
17
18
  title: [Title]
18
19
  description: [One line for --list output]
20
+ category: [category]
19
21
  author: Joshua Levy (github.com/jlevy) with LLM assistance
20
22
  ---
21
23
  [Concise instructions. Focus on what's specific to this task.
@@ -23,11 +25,26 @@ Skip obvious steps the agent would figure out.
23
25
  Reference other shortcuts/guidelines/templates as needed.]
24
26
  ```
25
27
 
28
+ ## Categories
29
+
30
+ Use one of these standard categories in the frontmatter:
31
+
32
+ | Category | Use For |
33
+ | --- | --- |
34
+ | `planning` | Spec creation, implementation planning, validation plans |
35
+ | `documentation` | Research briefs, architecture docs, doc revisions |
36
+ | `review` | Code review, PR review |
37
+ | `git` | Commits, PRs, merging, pre-commit workflows |
38
+ | `cleanup` | Code cleanup, dead code removal, test cleanup |
39
+ | `session` | Session management, handoffs, setup, recovery |
40
+ | `meta` | Creating new shortcuts/guidelines |
41
+ | `research` | Research tasks, third-party code checkout |
42
+
26
43
  ## Naming
27
44
 
28
45
  Use kebab-case: `new-<thing>`, `<verb>-<noun>`, `<thing>-<variant>`
29
46
 
30
- Examples: `commit-code`, `new-plan-spec`, `review-code-typescript`
47
+ Examples: `code-review-and-commit`, `new-plan-spec`, `review-code-typescript`
31
48
 
32
49
  ## Key Principles
33
50
 
@@ -45,6 +62,15 @@ tbd shortcut --list # Verify listing
45
62
 
46
63
  For official shortcuts: `pnpm build` in packages/tbd/
47
64
 
65
+ ## Documentation Updates (Official Shortcuts)
66
+
67
+ For official shortcuts added to `packages/tbd/docs/shortcuts/standard/`:
68
+
69
+ 1. **Update root README.md** — Add to the “Available shortcuts” table (grouped by
70
+ category: Planning, Documentation, Review, Git, Cleanup, Session, Meta)
71
+ 2. **Sync docs cache** — Run `tbd setup --auto` to update `.tbd/docs/`
72
+ 3. **Rebuild** — `pnpm build` in packages/tbd/ (also copies README to package)
73
+
48
74
  ## Shortcuts vs Guidelines
49
75
 
50
76
  - **Shortcuts**: Workflows to follow (process)
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: New Validation Plan
3
3
  description: Create a validation/test plan showing what's tested and what remains
4
+ category: planning
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  Create a validation plan documenting completed and remaining validation work.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Plan Implementation with Beads
3
3
  description: Create implementation beads from a feature planning spec
4
+ category: planning
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  Break a plan spec (or other work) into implementation beads.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Pre-Commit Process
3
3
  description: Full pre-commit checklist including spec sync, code review, and testing
4
+ category: git
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Review Code (Python)
3
3
  description: Python-focused code review (language-specific rules only)
4
+ category: review
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  This shortcut performs a **Python-focused** code review, checking Python-specific best
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Review Code (TypeScript)
3
3
  description: TypeScript-focused code review (language-specific rules only)
4
+ category: review
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  This shortcut performs a **TypeScript-focused** code review, checking
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Review Code
3
3
  description: Comprehensive code review for uncommitted changes, branch work, or GitHub PRs
4
+ category: review
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  This is the **core code review** shortcut.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Review GitHub PR
3
3
  description: Review a GitHub pull request with follow-up actions (comment, fix, CI check)
4
+ category: review
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  This shortcut reviews a **GitHub pull request** and handles GitHub-specific follow-ups
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Revise All Architecture Docs
3
3
  description: Comprehensive revision of all current architecture documents
4
+ category: documentation
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  We track work as beads using tbd.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Revise Architecture Doc
3
3
  description: Update an architecture document to reflect current codebase state
4
+ category: documentation
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  Review and update an architecture document to ensure accuracy with current code.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Setup GitHub CLI
3
3
  description: Ensure GitHub CLI (gh) is installed and working
4
+ category: session
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  The GitHub CLI (`gh`) is required for PR and issue operations.
@@ -1,16 +1,13 @@
1
1
  ---
2
2
  title: Sync Failure Recovery
3
3
  description: Handle tbd sync failures by saving to workspace and recovering later
4
+ category: session
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  When `tbd sync` fails to push (e.g., network errors, permission issues, branch
7
8
  restrictions), use this workflow to preserve and recover issue data.
8
9
 
9
- ## Workflow
10
-
11
- ### 1. When sync fails
12
-
13
- If `tbd sync` fails with a push error:
10
+ ## When Sync Fails
14
11
 
15
12
  ```bash
16
13
  # Save unsynced changes to the outbox
@@ -22,9 +19,7 @@ git commit -m "tbd: save outbox"
22
19
  git push
23
20
  ```
24
21
 
25
- The `--outbox` flag saves only issues modified since the last successful sync.
26
-
27
- ### 2. Later, when sync works
22
+ ## Later, When Sync Works
28
23
 
29
24
  In a new session or environment where sync works:
30
25
 
@@ -36,52 +31,10 @@ tbd import --outbox
36
31
  tbd sync
37
32
  ```
38
33
 
39
- ## Understanding Workspaces
40
-
41
- Workspaces are directories under `.tbd/workspaces/` that store issue backups.
42
-
43
- - `tbd save --outbox` saves to `.tbd/workspaces/outbox/`
44
- - `tbd import --outbox` imports from outbox and clears it on success
45
- - Workspaces are committed to your working branch (not gitignored)
34
+ ## More Information
46
35
 
47
- ## Alternative: Named Workspaces
48
-
49
- For backups or bulk editing, use named workspaces:
36
+ For detailed troubleshooting, workspace usage, and diagnostic commands, see:
50
37
 
51
38
  ```bash
52
- # Create a backup
53
- tbd save --workspace=backup-2026-01
54
-
55
- # Save to arbitrary directory
56
- tbd save --dir=/tmp/issues-backup
57
-
58
- # Import from named workspace
59
- tbd import --workspace=backup-2026-01
39
+ tbd guidelines sync-troubleshooting
60
40
  ```
61
-
62
- ## Checking Workspace Status
63
-
64
- ```bash
65
- # List all workspaces
66
- tbd workspace list
67
-
68
- # See workspaces in tbd status output
69
- tbd status
70
- ```
71
-
72
- ## Multi-Agent Scenarios
73
-
74
- Multiple agents can save to the same outbox:
75
-
76
- - Different issues: No conflicts, all preserved
77
- - Same issue edited compatibly: Merged automatically
78
- - Same issue with conflicts: Conflict goes to attic for review
79
-
80
- ## Troubleshooting
81
-
82
- If sync continues to fail:
83
-
84
- 1. Check network connectivity
85
- 2. Verify push permissions: `git push --dry-run origin tbd-sync`
86
- 3. Check for branch restrictions in your environment
87
- 4. Review error message from `tbd sync` for specific guidance
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Update Specs Status
3
3
  description: Review active specs and sync their status with tbd issues
4
+ category: planning
4
5
  author: Joshua Levy (github.com/jlevy) with LLM assistance
5
6
  ---
6
7
  Review all active specs and ensure tbd issues accurately reflect current progress.