dev-tools
Developer tooling for the BoomTick repository. The primary entry point is
td-cli, but agents should always call boomtick-mcp Tier 1 tools first —
td-cli is the Tier 2 fallback. See .agents/AGENTS.md for the full
tool hierarchy.
🚀 One-Step Setup
./setup-agent.sh
This setup script is now located at the repository root (not symlinked) and handles system tools, Node.js, pnpm, Python dependencies, Playwright, remote origin configuration, and git hook registration.
🔑 Environment Variables
| Variable | Required | Purpose |
|---|---|---|
GITHUB_TOKEN (string) |
Required | Auth for gh and td-cli gh ... commands (PR audits, comments, variables, status checks). Standard for GH Actions. |
GH_TOKEN (string) |
Optional fallback | Legacy authentication variable, deprecated in favor of GITHUB_TOKEN. |
GITHUB_REPOSITORY (owner/repo) |
Recommended | Ensures deterministic origin remote auto-configuration. |
JULES_API_KEY |
Optional | Enables td-cli agent ... / td-cli jules ... cloud workflows. |
GEMINI_API_KEY |
Optional | Enables Gemini-backed review/audit workflows. |
Secret handling guidance
- GitHub Actions / agent runners: store
GITHUB_TOKEN,JULES_API_KEY, andGEMINI_API_KEYin repository or org Secrets. - Dev containers / local shells: export secrets before running setup/CLI:
export GITHUB_TOKEN="<token>"
export GITHUB_REPOSITORY="owner/repo"
# optional
export JULES_API_KEY="<key>"
export GEMINI_API_KEY="<key>"
Optional tuning variables
SKIP_GIT_HOOKS=1— skip git hook execution (e.g. in CI).SKIP_VALIDATION=1— skip post-setup runtime validation.NODE_MAJOR— override Node major used for apt installation (defaults to24).
🧩 Workflow-Specific Setup
After ./setup-agent.sh, use the following workflow-specific setup:
1) Standard PR / Review Workflows
- Plan a review (fetches context and audits):
td-cli agent plan-review --pr <PR_NUMBER>
- Submit audit results (after authoring the review in
pr-review-<PR>.md):td-cli gh audit-pr <PR_NUMBER> --submit --execute
- Pre-submit quality gate before push/merge:
td-cli gh pre-submit
2) Jules Workflows
- Required secret:
JULES_API_KEY. - Optional context env var:
JULES_SOURCE_ID(if your environment already knows the source mapping). - Typical commands:
td-cli agent dispatch <BRANCH> "<TASK>"td-cli agent fix-ci --pr-number <PR> --executetd-cli agent sync
3) Headless / Bot Auditing
- For batch auditing open PRs:
td-cli gh audit-pr <PR_NUMBER> --fetch --audit --submit --execute
- Ensure
jq,gh, Python deps, and pnpm deps are installed (handled by setup script).
🗂️ Agent Context Index
.agent-context.json (repository root) is the pre-built index that
boomtick-mcp reads on every tool call. It contains file_tree, cli_schema,
and package_json metadata — built by scripts/build-repo-context.py.
The index is kept fresh automatically by the git hooks registered during
./setup-agent.sh:
.githooks/post-checkout— refreshes on branch switch.githooks/post-merge— refreshes on pull/merge
To manually refresh:
pnpm run agent:prime
If the index is stale, MCP tools fall back to raw filesystem calls, bypassing the index and increasing token usage. Always refresh before running reviews or dispatching Jules sessions.
🤖 Agent / Jules GitHub Command Pattern
Always use boomtick-mcp Tier 1 tools first. td-cli is the fallback
when MCP is unavailable — not the default. See .agents/AGENTS.md for the
full tool mapping table.
When td-cli must be called directly, read the CLI schema from
.agent-context.json rather than guessing flags or running --help:
# Extract schema for a specific subcommand before calling it
cat .agent-context.json | python3 -c "
import json, sys
schema = json.load(sys.stdin)
print(json.dumps(schema['cli_schema']['subcommands']['gh pr-diff'], indent=2))
"
Prefer repository CLI commands over raw gh:
# ✅ Preferred
td-cli gh <repo-command>
# ⚠️ Only if td-cli does not expose the operation
gh <command>
If auth fails, do not run gh auth login. Instead, set an environment secret
named GITHUB_TOKEN.
✅ Verification Commands (Post-Setup)
node --version # should match .node-version
pnpm --version # should be 10.28.2
td-cli doctor
pnpm run check:runtime-files
gh auth status
🆘 Troubleshooting
GitHub CLI not authenticated
gh issue create --title "<title>" --body "<details>"
If auth fails, report this exact issue (do not run interactive auth):
GitHub CLI is not authenticated. Please add an environment secret named
GITHUB_TOKENwith a repo-scoped GitHub token.
.agent-context.json stale or missing
pnpm run agent:prime
Then re-read before proceeding with any agent operation.
pnpm / Node mismatch
Stop and report the mismatch. Do not attempt to change runtime versions unless explicitly instructed to update the runtime contract.
🚀 Repository CLI (td-cli)
dev-tools/td-cli is the Tier 2 unified entry point for local repository
automation. All available subcommands and flags are defined in
dev-tools/cli-schema.json (also embedded in .agent-context.json under
cli_schema). That file is the single source of truth — never use --help
to discover flags.
Key subcommand groups:
| Group | Description |
|---|---|
doctor |
Runtime consistency check |
gh |
GitHub operations (PRs, issues, audits, conflicts) |
repo |
Repository operations (CI logs, Playwright) |
agent / jules |
Jules agent session management |
Metadata
Release files for boomtick-cli 0.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| boomtick_cli-0.10.1.tar.gz | 207.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| boomtick_cli-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 435.1 kB
Release files / boomtick_cli-0.10.1.tar.gz
| Download URL | boomtick_cli-0.10.1.tar.gz |
|---|---|
| Size | 207.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
547faf2a24f28e0290089a41bfaede8f1d323e9ab9be619710dcf9edd57e0261
|
|
BLAKE2b-256 checksum How to use checksums |
831400493515108429b33d8ae6b65b066682412c705d3fe90d354a7243e4a968
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / boomtick_cli-0.10.1-py3-none-any.whl
| Download URL | boomtick_cli-0.10.1-py3-none-any.whl |
|---|---|
| Size | 227.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff1d1638e4ee51a20d6dea0bc1b7183a515a3f6f5ebc9aa6643f039ecef5c549
|
|
BLAKE2b-256 checksum How to use checksums |
707f219895d37209e1afdb48a09fa53abb940e5a8c5797dbce41b4d195dcd6ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log