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.
- package/README.md +37 -24
- package/dist/bin.mjs +410 -170
- package/dist/bin.mjs.map +1 -1
- package/dist/cli.mjs +202 -94
- package/dist/cli.mjs.map +1 -1
- package/dist/docs/README.md +37 -24
- package/dist/docs/SKILL.md +61 -18
- package/dist/docs/guidelines/cli-agent-skill-patterns.md +77 -4
- package/dist/docs/guidelines/error-handling-rules.md +66 -0
- package/dist/docs/guidelines/release-notes-guidelines.md +140 -0
- package/dist/docs/guidelines/typescript-yaml-handling-rules.md +195 -0
- package/dist/docs/install/claude-header.md +13 -6
- package/dist/docs/shortcuts/standard/agent-handoff.md +1 -0
- package/dist/docs/shortcuts/standard/checkout-third-party-repo.md +50 -0
- package/dist/docs/shortcuts/standard/{cleanup-all.md → code-cleanup-all.md} +3 -2
- package/dist/docs/shortcuts/standard/{cleanup-update-docstrings.md → code-cleanup-docstrings.md} +1 -0
- package/dist/docs/shortcuts/standard/{cleanup-remove-trivial-tests.md → code-cleanup-tests.md} +1 -0
- package/dist/docs/shortcuts/standard/{commit-code.md → code-review-and-commit.md} +1 -0
- package/dist/docs/shortcuts/standard/create-or-update-pr-simple.md +1 -0
- package/dist/docs/shortcuts/standard/create-or-update-pr-with-validation-plan.md +1 -0
- package/dist/docs/shortcuts/standard/implement-beads.md +1 -0
- package/dist/docs/shortcuts/standard/merge-upstream.md +1 -0
- package/dist/docs/shortcuts/standard/new-architecture-doc.md +1 -0
- package/dist/docs/shortcuts/standard/new-guideline.md +8 -0
- package/dist/docs/shortcuts/standard/new-plan-spec.md +1 -0
- package/dist/docs/shortcuts/standard/new-research-brief.md +1 -0
- package/dist/docs/shortcuts/standard/new-shortcut.md +27 -1
- package/dist/docs/shortcuts/standard/new-validation-plan.md +1 -0
- package/dist/docs/shortcuts/standard/plan-implementation-with-beads.md +1 -0
- package/dist/docs/shortcuts/standard/precommit-process.md +1 -0
- package/dist/docs/shortcuts/standard/review-code-python.md +1 -0
- package/dist/docs/shortcuts/standard/review-code-typescript.md +1 -0
- package/dist/docs/shortcuts/standard/review-code.md +1 -0
- package/dist/docs/shortcuts/standard/review-github-pr.md +1 -0
- package/dist/docs/shortcuts/standard/revise-all-architecture-docs.md +1 -0
- package/dist/docs/shortcuts/standard/revise-architecture-doc.md +1 -0
- package/dist/docs/shortcuts/standard/setup-github-cli.md +1 -0
- package/dist/docs/shortcuts/standard/sync-failure-recovery.md +6 -53
- package/dist/docs/shortcuts/standard/update-specs-status.md +1 -0
- package/dist/docs/shortcuts/standard/welcome-user.md +2 -1
- package/dist/docs/shortcuts/system/skill-brief.md +1 -1
- package/dist/docs/shortcuts/system/skill.md +48 -12
- package/dist/docs/skill-brief.md +1 -1
- package/dist/docs/tbd-design.md +13 -1
- package/dist/index.d.mts +20 -6
- package/dist/index.mjs +2 -2
- package/dist/{src-BfhjLZXE.mjs → src-DdSZ1dgK.mjs} +154 -22
- package/dist/src-DdSZ1dgK.mjs.map +1 -0
- package/dist/tbd +410 -170
- package/package.json +1 -1
- 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
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
|
@@ -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-
|
|
56
|
+
7. **Remove trivial tests**: Follow `tbd shortcut code-cleanup-tests`.
|
|
56
57
|
|
|
57
|
-
8. **Update docstrings**: Follow `tbd shortcut cleanup-
|
|
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: 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 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
|
|
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: 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 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 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,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
|
-
##
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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.
|