One connection, two roles.
Sign in, pick a repo, and the same connection powers spec context and briefs out.
Sign in with GitHub. State token with ten-minute TTL, HMAC-SHA256 signed.
Single repo per connection. Circuit pre-selects the first you have access to.
A one-time refresh of your existing briefs against the newly-connected repo, plus an optional auto-create-issue toggle when briefs generate. Both off by default.
Repo context for every spec, plus a hook destination for briefs out — same connection drives both.
Every spec, grounded in your repo.
The repo connection feeds spec generation, the Spec map and the Files-to-Touch section.
The Codebase view of the Spec map is built from the Files-to-Touch section of every spec. Connect GitHub and the whole map lights up.
RELEVANT CODE CONTEXT · RELATED ISSUES · CODEBASE CONVENTIONS · TESTING PATTERN · DIRECTORY OVERVIEW.
Every spec carries a Files-to-Touch section grounded in your actual codebase — not invented file paths.
Connect once. Every spec fits.
OAuth state stored in an oauth_states table with 10-minute TTL and HMAC-SHA256 signature. Connect once; the repo connection powers spec generation, the Spec map, and per-card handoff to Cursor and Claude Code.
Asked and answered.
Sixteen signal types fetched per brief — repository, README, tech stack, directory structure, recent commits, open issues, related issues, open PRs, recent merged PRs, relevant files, file signatures, import graph, AI config (CLAUDE.md / .cursorrules), a sample test, contributing guide, GitHub Actions and config files. The LLM prompt then sees five ordered sections: RELEVANT CODE CONTEXT, RELATED ISSUES, CODEBASE CONVENTIONS, TESTING PATTERN, DIRECTORY OVERVIEW.
Read scope only. Circuit reads structure and conventions to shape specs — never writes to your repo without an explicit action (push to issue, create PR comment, and so on).
Every spec Circuit generates includes a Files-to-Touch section. The Spec map's codebase view is the union of those file paths — so the more specs you write, the richer the map.
No. The handoff dispatches the agent against a specific repo, so a GitHub connection is required. The buttons are hidden on roadmap cards until you connect.