Noctra reads your Linear tickets, writes the code, and opens the pull requests — then sees them through: answering review feedback, fixing failing CI, and taking direction from Telegram. The engineering hand that works while you sleep.
go install github.com/ahmadAlMezaal/noctra/cmd/noctra@latest Every tick, Noctra picks up tickets from a trigger state or label and runs each to a pull request in its own git worktree — so several tickets ship in parallel without stepping on each other.
Finds issues by trigger state or the noctra label.
→Routes per-ticket from the project's Repo: directive.
→Claude Code or OpenAI Codex implements in an isolated worktree, on its own branch.
→Optional second-model gate, then gh pr create.
→Watches the PR, fixes feedback and CI, and accepts Telegram commands.
Bounded, observable, and safe to point at real repos — the guardrails matter more than the autonomy.
With AUTO_ITERATE_PRS enabled, Noctra watches the PRs it opened and pushes follow-up commits for review feedback, inline threads, and failing CI. Bounded by a per-PR iteration cap.
Outbound pings are joined by an inbound command dispatcher built into the run loop — check status, nudge work, and steer the night straight from chat.
Install with go install or prebuilt binaries. noctra setup writes ~/.noctra config, and noctra doctor checks tokens, tools, repos, and models before the first run.
One Noctra, many repos. Resolve each ticket from a Repo: directive on its Linear project — owner/name or any HTTPS/SSH git URL — then clone the target on demand.
Run from the classic Next column, or switch to the noctra label when you want trigger control without moving issues between states.
Your agent implements; an optional Gemini gate independently reviews the diff before the PR opens. A different model catches what the author missed.
Iteration caps, agent timeouts, dispatch limits, rate-limit detection, and a trusted-reviewer allowlist — bots don't get blind trust.
A single static Go binary, cross-compiled for arm64. It can literally live on a Raspberry Pi in your house, working overnight.
You wake up. Three PRs are waiting. CI is green. You review, you merge.
Open source, written in Go, no daemon to babysit. Install the CLI, run the wizard, pass preflight, then point it at a trigger state or label.
Run the install script, or use go install / a prebuilt binary from GitHub Releases.
noctra setup writes config under ~/.noctra/.
Add a Repo: line to the Linear project's description — that's all the routing Noctra needs.
Move it to your trigger state or add the noctra label and watch it become a PR.
# install the latest release binary (no Go toolchain) curl -fsSL https://raw.githubusercontent.com/ahmadAlMezaal/noctra/main/scripts/install.sh | sh # or with Go: go install github.com/ahmadAlMezaal/noctra/cmd/noctra@latest # guided setup → ~/.noctra/ noctra setup # preflight checks noctra doctor # start the night watch noctra
# In the Linear project's description: Repo: your-org/your-repo Branch: main # optional — defaults to the repo's default branch