How Bucky Works
Bucky is a GitHub Actions toolkit that automates the Jira-to-code pipeline using Claude AI. It consists of three main layers:
Architecture overview
Section titled “Architecture overview”┌─────────────────────────────────────────────────────┐│ Entry Points ││ Slack @mention │ Jira assign │ GitHub @bucky │└────────┬────────┴──────┬──────┴──────┬──────────────┘ │ │ │ ▼ ▼ ▼┌─────────────────────────────────────────────────────┐│ Agent Service (Go + Google ADK) ││ - LLM reasoning (Claude via Bedrock) ││ - MCP tools (Sourcegraph, Grafana) ││ - Custom tools (create issues, dispatch sessions) ││ - Session continuity across platforms │└────────────────────┬────────────────────────────────┘ │ repository_dispatch ▼┌─────────────────────────────────────────────────────┐│ GitHub Actions Workflows ││ - Thin caller workflows (in target repos) ││ - Reusable shared workflows (in buck-bronson) ││ - Composite actions (execute, review, setup) │└────────────────────┬────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────┐│ Claude Code Runner ││ - Docker container (ubuntu + gh CLI) ││ - Claude AI via AWS Bedrock ││ - MCP plugins (Sourcegraph, Grafana, PostHog) ││ - Dev tools (Node.js, Go, Playwright) │└─────────────────────────────────────────────────────┘The pipeline
Section titled “The pipeline”1. Trigger
Section titled “1. Trigger”A user starts work in one of three ways:
- Slack:
@buckyin a channel or thread - Jira: Assign a ticket to Bucky, or comment on his ticket
- GitHub: Comment
@buckyon an issue (or@bucky /planfor planning only)
2. Agent reasoning
Section titled “2. Agent reasoning”The agent service receives the event and uses Claude (via Bedrock) to reason about what to do. It has access to:
- Sourcegraph for code search across all repos
- Grafana for observability data
- Custom tools for creating Jira tickets, GitHub issues, and dispatching Claude sessions
For implementation work, the agent creates a Jira ticket for backlog tracking, then a GitHub issue, then dispatches a Claude session.
3. Session dispatch
Section titled “3. Session dispatch”The agent dispatches a repository_dispatch event with type bucky-session to the target repo. This triggers the caller workflow, which delegates to the shared reusable workflow in buck-bronson.
4. Claude Code execution
Section titled “4. Claude Code execution”The reusable workflow:
- Logs into ECR and pulls the Claude runner Docker image
- Resolves the preset (web/golang/none) to determine dev environment setup and plugins
- Sets up the dev environment if needed (Node.js, Go, Playwright)
- Runs Claude Code against the GitHub issue (by default Claude decides what to do;
planmode restricts to planning only)
5. Callback
Section titled “5. Callback”When the workflow completes, the report-session-outcome action POSTs results back to the agent. The agent resumes reasoning and can chain follow-up actions based on the results.
By default, Claude decides what to do — it reads the issue, plans the work, and implements it in a single session. The optional plan mode restricts Claude to planning only: it reads the codebase, explores dependencies, and posts a detailed implementation plan as a comment on the GitHub issue, tagged with the needs-review label for human review.