Skip to content

Commit be2f938

Browse files
authored
Merge pull request #25 from jlevy/claude/trusting-maxwell-iz7cjc
Agent skill, license/publish template options, repo CI, and modernization (tbd v0.2.3)
2 parents 2e512fd + cb2d37f commit be2f938

31 files changed

Lines changed: 2844 additions & 145 deletions

.agents/skills/tbd/SKILL.md

Lines changed: 53 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Run 'tbd setup' to update.
1717
Drop-in replacement for `bd`.
1818
2. **Spec-Driven Workflows**: Plan features → break into beads → implement
1919
systematically.
20-
3. **Knowledge Injection**: 17+ engineering guidelines (TypeScript, Python, TDD,
20+
3. **Knowledge Injection**: 25+ engineering guidelines (TypeScript, Python, TDD,
2121
testing, Convex, monorepos) available on demand.
2222
4. **Shortcuts**: Reusable instruction templates for common workflows (code review,
2323
commits, PRs, cleanup, handoffs).
@@ -79,6 +79,7 @@ or want help → run `tbd shortcut welcome-user`
7979
| “Create a PR” / “File a PR” | `tbd shortcut create-or-update-pr-simple` |
8080
| “Merge main into my branch” | `tbd shortcut merge-upstream` |
8181
| **Guidelines & Knowledge** | |
82+
| *(any engineering work)* | Load the **General engineering** group first (see below) |
8283
| “Use TypeScript best practices” | `tbd guidelines typescript-rules` |
8384
| “Use Python best practices” | `tbd guidelines python-rules` |
8485
| “Build a TypeScript CLI” | `tbd guidelines typescript-cli-tool-rules` |
@@ -97,6 +98,12 @@ or want help → run `tbd shortcut welcome-user`
9798
| “Check out this library’s source” | `tbd shortcut checkout-third-party-repo` |
9899
| *(your choice whenever appropriate)* | `tbd list`, `tbd dep add`, `tbd close`, `tbd sync`, etc. |
99100

101+
**Loading guidelines for engineering work:** Before writing or reviewing code, load the
102+
**General engineering** group—the `general-*` rules plus `error-handling-rules`—since
103+
these apply to all code regardless of language.
104+
Then load the group for the language or framework in use (TypeScript, Python, Convex,
105+
etc.). Run `tbd guidelines --list` to see all available guidelines.
106+
100107
**Note:** Never gitignore `.tbd/workspaces/` — the outbox must be committed to your
101108
working branch. See `tbd guidelines tbd-sync-troubleshooting` for details.
102109

@@ -220,36 +227,67 @@ Run `tbd shortcut <name>` to use any of these shortcuts:
220227

221228
## Available Guidelines
222229

223-
Run `tbd guidelines <name>` to apply any of these guidelines:
230+
Run `tbd guidelines <name>` to apply any of these guidelines.
231+
Load the **General engineering** group first, then the language or framework group.
232+
233+
### General engineering
234+
235+
*Read all of these for any engineering work (writing or reviewing code).*
224236

225237
| Name | Description |
226238
| --- | --- |
227239
| backward-compatibility-rules | Guidelines for maintaining backward compatibility across code, APIs, file formats, and database schemas |
228-
| bun-monorepo-patterns | Modern patterns for Bun-based TypeScript monorepo architecture |
229-
| cli-agent-skill-patterns | How to write skills and agent-integrated CLIs that work across Claude Code, Codex, and the broader coding-agent ecosystem — a simple baseline plus references for advanced, multi-subcommand tools |
230240
| commit-conventions | Conventional Commits format with extensions for agentic workflows |
231-
| common-doc-guidelines | Common cross-project standards for writing and organizing docs, code comments, and text files — how to organize, structure, write, and format documents, plus the guideline footer convention. Downstream of github.com/jlevy/practical-prose. Use whenever writing or editing any documentation, README, guideline, or design doc. |
232-
| convex-limits-best-practices | Comprehensive reference for Convex platform limits, workarounds, and performance best practices |
233-
| convex-rules | Guidelines and best practices for building Convex projects, including database schema design, queries, mutations, and real-world examples |
234-
| electron-app-development-patterns | Guidelines for Electron development ecosystems including npm, pnpm, and Bun, with security baselines and framework comparisons |
235241
| error-handling-rules | Rules for handling errors, failures, and exceptional conditions |
236242
| general-coding-rules | Rules for constants, magic numbers, and general coding practices |
237243
| general-comment-rules | Language-agnostic rules for writing clean, maintainable comments |
238-
| general-eng-assistant-rules | Rules for AI assistants acting as senior engineers, including objectivity and communication guidelines |
244+
| general-eng-agent-principles | Core principles for AI agents acting as senior engineers—objectivity and communication conduct plus the engineering process (detailed understanding, verification, end-to-end ownership, scope discipline, tracking future work, and acting versus seeking clarification) |
239245
| general-tdd-guidelines | Test-Driven Development methodology and best practices |
240246
| general-testing-rules | Rules for writing minimal, effective tests with maximum coverage |
241247
| golden-testing-guidelines | Guidelines for implementing golden/snapshot testing for complex systems |
248+
249+
### TypeScript & JS ecosystem
250+
251+
*Also load these when working in TypeScript or JavaScript.*
252+
253+
| Name | Description |
254+
| --- | --- |
255+
| bun-monorepo-patterns | Modern patterns for Bun-based TypeScript monorepo architecture |
256+
| electron-app-development-patterns | Guidelines for Electron development ecosystems including npm, pnpm, and Bun, with security baselines and framework comparisons |
242257
| pnpm-monorepo-patterns | Modern patterns for pnpm-based TypeScript monorepo architecture |
243-
| python-cli-patterns | Modern patterns for Python CLI application architecture |
244-
| python-modern-guidelines | Guidelines for modern Python projects using uv, with a few more opinionated practices |
245-
| python-rules | General Python coding rules and best practices |
246-
| release-notes-guidelines | Guidelines for writing clear, accurate release notes |
247-
| supply-chain-hardening | Strongly recommended for EVERY repo — apply it if a repo has not been hardened yet. Cross-ecosystem policy for installing dependencies safely (the 14-day cool-off, disabled install scripts, lockfile discipline, untrusted-repo handling). Use whenever a user mentions hardening, security, supply chain, or setting up a new repo; before adding/upgrading dependencies; when auditing for compromised packages; or when reviewing install/build/run commands across npm/pnpm, PyPI, Cargo, or Go. |
248-
| tbd-sync-troubleshooting | Common issues and solutions for tbd sync and workspace operations |
249258
| typescript-cli-tool-rules | Rules for building CLI tools with Commander.js, picocolors, and TypeScript |
250259
| typescript-code-coverage | Best practices for code coverage in TypeScript with Vitest and v8 provider |
251260
| typescript-rules | TypeScript coding rules and best practices |
252261
| typescript-sorting-patterns | Deterministic sorting patterns and comparison chains for TypeScript |
253262
| typescript-yaml-handling-rules | Best practices for parsing and serializing YAML in TypeScript |
254263

264+
### Python
265+
266+
*Also load these when working in Python.*
267+
268+
| Name | Description |
269+
| --- | --- |
270+
| python-cli-patterns | Modern patterns for Python CLI application architecture |
271+
| python-modern-guidelines | Guidelines for modern Python projects using uv, with a few more opinionated practices |
272+
| python-rules | General Python coding rules and best practices |
273+
274+
### Convex
275+
276+
*Also load these when working with Convex.*
277+
278+
| Name | Description |
279+
| --- | --- |
280+
| convex-limits-best-practices | Comprehensive reference for Convex platform limits, workarounds, and performance best practices |
281+
| convex-rules | Guidelines and best practices for building Convex projects, including database schema design, queries, mutations, and real-world examples |
282+
283+
### Docs, process & tooling
284+
285+
| Name | Description |
286+
| --- | --- |
287+
| cli-agent-skill-patterns | How to write skills and agent-integrated CLIs that work across Claude Code, Codex, and the broader coding-agent ecosystem—a simple baseline plus references for advanced, multi-subcommand tools |
288+
| common-doc-guidelines | Common cross-project standards for writing and organizing docs, code comments, and text files—how to organize, structure, write, and format documents, plus the guideline footer convention. Downstream of github.com/jlevy/practical-prose. Use whenever writing or editing any documentation, README, guideline, or design doc. |
289+
| release-notes-guidelines | Guidelines for writing clear, accurate release notes |
290+
| supply-chain-hardening | Strongly recommended for EVERY repo—apply it if a repo has not been hardened yet. Cross-ecosystem policy for installing dependencies safely (the 14-day cool-off, disabled install scripts, lockfile discipline, untrusted-repo handling). Use whenever a user mentions hardening, security, supply chain, or setting up a new repo; before adding/upgrading dependencies; when auditing for compromised packages; or when reviewing install/build/run commands across npm/pnpm, PyPI, Cargo, or Go. |
291+
| tbd-sync-troubleshooting | Common issues and solutions for tbd sync and workspace operations |
292+
255293
<!-- END SHORTCUT DIRECTORY -->

.claude/scripts/ensure-gh-cli.sh

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -106,18 +106,17 @@ if ! command -v gh &> /dev/null; then
106106
exit 1
107107
fi
108108

109-
# Check authentication status
110-
if [ -n "${GH_TOKEN:-}" ]; then
111-
# GH_TOKEN is set, verify it works
112-
if gh auth status &> /dev/null; then
113-
echo "[gh] Authenticated successfully"
114-
else
115-
echo "[gh] WARNING: GH_TOKEN is set but authentication check failed"
116-
echo "[gh] Token may be invalid or expired"
117-
fi
109+
# Check authentication status. gh supports several auth mechanisms (GH_TOKEN,
110+
# keyring via `gh auth login`, etc.), so trust `gh auth status` rather than any
111+
# single environment variable.
112+
if gh auth status &> /dev/null; then
113+
echo "[gh] Authenticated successfully"
114+
elif [ -n "${GH_TOKEN:-}" ]; then
115+
echo "[gh] WARNING: GH_TOKEN is set but authentication check failed"
116+
echo "[gh] Token may be invalid or expired"
118117
else
119-
echo "[gh] NOTE: GH_TOKEN not set - some operations may require authentication"
120-
echo "[gh] See: docs/general/agent-setup/github-cli-setup.md"
118+
echo "[gh] NOTE: not authenticated - some operations may require authentication"
119+
echo "[gh] Run: gh auth login (or set GH_TOKEN)"
121120
fi
122121

123122
exit 0

.claude/scripts/tbd-session.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ fi
1818

1919
# Pinned zero-install fallback. Never use an unpinned runner here.
2020
if command -v npx &> /dev/null; then
21-
npx --yes get-tbd@0.2.1 prime "$@"
21+
npx --yes get-tbd@0.2.3 prime "$@"
2222
exit $?
2323
fi
2424

2525
echo "[tbd] tbd CLI not found and npx is unavailable."
26-
echo "[tbd] Install it with: npm install -g get-tbd@0.2.1"
26+
echo "[tbd] Install it with: npm install -g get-tbd@0.2.3"
2727
exit 1

.claude/skills/tbd/SKILL.md

Lines changed: 53 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Run 'tbd setup' to update.
1717
Drop-in replacement for `bd`.
1818
2. **Spec-Driven Workflows**: Plan features → break into beads → implement
1919
systematically.
20-
3. **Knowledge Injection**: 17+ engineering guidelines (TypeScript, Python, TDD,
20+
3. **Knowledge Injection**: 25+ engineering guidelines (TypeScript, Python, TDD,
2121
testing, Convex, monorepos) available on demand.
2222
4. **Shortcuts**: Reusable instruction templates for common workflows (code review,
2323
commits, PRs, cleanup, handoffs).
@@ -79,6 +79,7 @@ or want help → run `tbd shortcut welcome-user`
7979
| “Create a PR” / “File a PR” | `tbd shortcut create-or-update-pr-simple` |
8080
| “Merge main into my branch” | `tbd shortcut merge-upstream` |
8181
| **Guidelines & Knowledge** | |
82+
| *(any engineering work)* | Load the **General engineering** group first (see below) |
8283
| “Use TypeScript best practices” | `tbd guidelines typescript-rules` |
8384
| “Use Python best practices” | `tbd guidelines python-rules` |
8485
| “Build a TypeScript CLI” | `tbd guidelines typescript-cli-tool-rules` |
@@ -97,6 +98,12 @@ or want help → run `tbd shortcut welcome-user`
9798
| “Check out this library’s source” | `tbd shortcut checkout-third-party-repo` |
9899
| *(your choice whenever appropriate)* | `tbd list`, `tbd dep add`, `tbd close`, `tbd sync`, etc. |
99100

101+
**Loading guidelines for engineering work:** Before writing or reviewing code, load the
102+
**General engineering** group—the `general-*` rules plus `error-handling-rules`—since
103+
these apply to all code regardless of language.
104+
Then load the group for the language or framework in use (TypeScript, Python, Convex,
105+
etc.). Run `tbd guidelines --list` to see all available guidelines.
106+
100107
**Note:** Never gitignore `.tbd/workspaces/` — the outbox must be committed to your
101108
working branch. See `tbd guidelines tbd-sync-troubleshooting` for details.
102109

@@ -220,36 +227,67 @@ Run `tbd shortcut <name>` to use any of these shortcuts:
220227

221228
## Available Guidelines
222229

223-
Run `tbd guidelines <name>` to apply any of these guidelines:
230+
Run `tbd guidelines <name>` to apply any of these guidelines.
231+
Load the **General engineering** group first, then the language or framework group.
232+
233+
### General engineering
234+
235+
*Read all of these for any engineering work (writing or reviewing code).*
224236

225237
| Name | Description |
226238
| --- | --- |
227239
| backward-compatibility-rules | Guidelines for maintaining backward compatibility across code, APIs, file formats, and database schemas |
228-
| bun-monorepo-patterns | Modern patterns for Bun-based TypeScript monorepo architecture |
229-
| cli-agent-skill-patterns | How to write skills and agent-integrated CLIs that work across Claude Code, Codex, and the broader coding-agent ecosystem — a simple baseline plus references for advanced, multi-subcommand tools |
230240
| commit-conventions | Conventional Commits format with extensions for agentic workflows |
231-
| common-doc-guidelines | Common cross-project standards for writing and organizing docs, code comments, and text files — how to organize, structure, write, and format documents, plus the guideline footer convention. Downstream of github.com/jlevy/practical-prose. Use whenever writing or editing any documentation, README, guideline, or design doc. |
232-
| convex-limits-best-practices | Comprehensive reference for Convex platform limits, workarounds, and performance best practices |
233-
| convex-rules | Guidelines and best practices for building Convex projects, including database schema design, queries, mutations, and real-world examples |
234-
| electron-app-development-patterns | Guidelines for Electron development ecosystems including npm, pnpm, and Bun, with security baselines and framework comparisons |
235241
| error-handling-rules | Rules for handling errors, failures, and exceptional conditions |
236242
| general-coding-rules | Rules for constants, magic numbers, and general coding practices |
237243
| general-comment-rules | Language-agnostic rules for writing clean, maintainable comments |
238-
| general-eng-assistant-rules | Rules for AI assistants acting as senior engineers, including objectivity and communication guidelines |
244+
| general-eng-agent-principles | Core principles for AI agents acting as senior engineers—objectivity and communication conduct plus the engineering process (detailed understanding, verification, end-to-end ownership, scope discipline, tracking future work, and acting versus seeking clarification) |
239245
| general-tdd-guidelines | Test-Driven Development methodology and best practices |
240246
| general-testing-rules | Rules for writing minimal, effective tests with maximum coverage |
241247
| golden-testing-guidelines | Guidelines for implementing golden/snapshot testing for complex systems |
248+
249+
### TypeScript & JS ecosystem
250+
251+
*Also load these when working in TypeScript or JavaScript.*
252+
253+
| Name | Description |
254+
| --- | --- |
255+
| bun-monorepo-patterns | Modern patterns for Bun-based TypeScript monorepo architecture |
256+
| electron-app-development-patterns | Guidelines for Electron development ecosystems including npm, pnpm, and Bun, with security baselines and framework comparisons |
242257
| pnpm-monorepo-patterns | Modern patterns for pnpm-based TypeScript monorepo architecture |
243-
| python-cli-patterns | Modern patterns for Python CLI application architecture |
244-
| python-modern-guidelines | Guidelines for modern Python projects using uv, with a few more opinionated practices |
245-
| python-rules | General Python coding rules and best practices |
246-
| release-notes-guidelines | Guidelines for writing clear, accurate release notes |
247-
| supply-chain-hardening | Strongly recommended for EVERY repo — apply it if a repo has not been hardened yet. Cross-ecosystem policy for installing dependencies safely (the 14-day cool-off, disabled install scripts, lockfile discipline, untrusted-repo handling). Use whenever a user mentions hardening, security, supply chain, or setting up a new repo; before adding/upgrading dependencies; when auditing for compromised packages; or when reviewing install/build/run commands across npm/pnpm, PyPI, Cargo, or Go. |
248-
| tbd-sync-troubleshooting | Common issues and solutions for tbd sync and workspace operations |
249258
| typescript-cli-tool-rules | Rules for building CLI tools with Commander.js, picocolors, and TypeScript |
250259
| typescript-code-coverage | Best practices for code coverage in TypeScript with Vitest and v8 provider |
251260
| typescript-rules | TypeScript coding rules and best practices |
252261
| typescript-sorting-patterns | Deterministic sorting patterns and comparison chains for TypeScript |
253262
| typescript-yaml-handling-rules | Best practices for parsing and serializing YAML in TypeScript |
254263

264+
### Python
265+
266+
*Also load these when working in Python.*
267+
268+
| Name | Description |
269+
| --- | --- |
270+
| python-cli-patterns | Modern patterns for Python CLI application architecture |
271+
| python-modern-guidelines | Guidelines for modern Python projects using uv, with a few more opinionated practices |
272+
| python-rules | General Python coding rules and best practices |
273+
274+
### Convex
275+
276+
*Also load these when working with Convex.*
277+
278+
| Name | Description |
279+
| --- | --- |
280+
| convex-limits-best-practices | Comprehensive reference for Convex platform limits, workarounds, and performance best practices |
281+
| convex-rules | Guidelines and best practices for building Convex projects, including database schema design, queries, mutations, and real-world examples |
282+
283+
### Docs, process & tooling
284+
285+
| Name | Description |
286+
| --- | --- |
287+
| cli-agent-skill-patterns | How to write skills and agent-integrated CLIs that work across Claude Code, Codex, and the broader coding-agent ecosystem—a simple baseline plus references for advanced, multi-subcommand tools |
288+
| common-doc-guidelines | Common cross-project standards for writing and organizing docs, code comments, and text files—how to organize, structure, write, and format documents, plus the guideline footer convention. Downstream of github.com/jlevy/practical-prose. Use whenever writing or editing any documentation, README, guideline, or design doc. |
289+
| release-notes-guidelines | Guidelines for writing clear, accurate release notes |
290+
| supply-chain-hardening | Strongly recommended for EVERY repo—apply it if a repo has not been hardened yet. Cross-ecosystem policy for installing dependencies safely (the 14-day cool-off, disabled install scripts, lockfile discipline, untrusted-repo handling). Use whenever a user mentions hardening, security, supply chain, or setting up a new repo; before adding/upgrading dependencies; when auditing for compromised packages; or when reviewing install/build/run commands across npm/pnpm, PyPI, Cargo, or Go. |
291+
| tbd-sync-troubleshooting | Common issues and solutions for tbd sync and workspace operations |
292+
255293
<!-- END SHORTCUT DIRECTORY -->

0 commit comments

Comments
 (0)