Skip to main content

BoomTick CLI — agentic dev-tools for GitHub + AI workflows

Project description

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, and GEMINI_API_KEY in 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 to 24).

🧩 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> --execute
    • td-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_TOKEN with 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boomtick_cli-0.5.0.tar.gz (173.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boomtick_cli-0.5.0-py3-none-any.whl (198.5 kB view details)

Uploaded Python 3

File details

Details for the file boomtick_cli-0.5.0.tar.gz.

File metadata

  • Download URL: boomtick_cli-0.5.0.tar.gz
  • Upload date:
  • Size: 173.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for boomtick_cli-0.5.0.tar.gz
Algorithm Hash digest
SHA256 be4eebf9ca942ed7d3f982d0e9a4a8f578d0186836d59bce23589035adc78f23
MD5 0a06224eb0bc8da8d1f9533c56725cc3
BLAKE2b-256 08b5fbb24db19881f35e76c2fba0b9e74ce01fddf62c74b154bb92be36bfa568

See more details on using hashes here.

Provenance

The following attestation bundles were made for boomtick_cli-0.5.0.tar.gz:

Publisher: release.yml on arii/boomtick

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file boomtick_cli-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: boomtick_cli-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 198.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for boomtick_cli-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3cef5e2d6a48ed3297416131faf89f82e30504d9b6ebddc9eb1691901c491e5
MD5 cc11d70479ebdfc03171aa8c51f93e33
BLAKE2b-256 8843bc3a31723f634bc3f673da7a79777d9164e62308cf00deb55b77d6c03b53

See more details on using hashes here.

Provenance

The following attestation bundles were made for boomtick_cli-0.5.0-py3-none-any.whl:

Publisher: release.yml on arii/boomtick

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page