月ノ目

tsukinome

The moon's eye over your codebase.

A GitHub-native agent that turns a plain-English issue into a high-quality, test-first pull request — with you in the loop at every gate.

Install on GitHub ↗ View the code Connect on LinkedIn
The pipeline

From an issue to a reviewed PR.

You describe the change in plain English; Tsukinome runs the rest — pausing only at the highlighted gates where you're in the loop. Each stage shows the model tier it runs on.

Haiku Sonnet Opus Deterministic ⏸ Your move
Issue opened

Intake

Haiku

Triages the issue and checks the repo's language is supported.

Product Owner · draft spec

Opus

Testable Given/When/Then acceptance criteria and explicit non-goals.

Clarify?

Haiku⏸ You

Only if it must — asks up to four batched questions and waits.

underspecified → you replyclear → through

Product Owner · finalize

Opus

Folds your answers back in and locks the spec.

Architect · plan

Opus

Plans against real repo context: files, contracts, test strategy.

Plan gate

⏸ You

Commits plan.md and waits — no code until you approve.

/approve/abortchange → re-plan

Decomposer

Sonnet

Splits the plan into small, independently testable tasks.

TDD loop · per task

Sonnet

Test Author → Implementer → Refactor. Red first, then green.

Reviewer

Opus

Self-reviews the diff against spec, conventions, and security.

Integrator · opens the PR

Deterministic

Every git write goes through deterministic code — no agent touches your repo.

PR review

⏸ You

Review & merge like any PR. Comments trigger a bounded, test-first fix loop.

actionable → fix (≤3)approve & merge
Merged ✓
Want to see it for real? See a live example — issue → PR ↗
What we're fixing

The agent workflow, done right.

Most code agents are fire-and-forget scripts that dump your whole repo into a context window. Tsukinome is built on three deliberate choices.

Human-in-the-loop

A GitHub App, not a GitHub Action.

Runs on a persistent backend, so a run can suspend and resume across human gates — clarify, approve, review — for days. A stateless Action can't hold that state. You approve the plan before a single line is written.

Token-lean

Retrieval, not repo dumps.

CocoIndex + pgvector give the agents semantic retrieval of just the relevant code, instead of stuffing the whole repo into the prompt. Model tiering — Haiku, Sonnet, Opus — plus prompt caching keep every run cheap and metered.

Lightweight

Install once. No config.

No per-repo config files, no workflow YAML, no CI wiring. Install the GitHub App once and open an issue — it just works, on any supported repo.

Under the hood

A disciplined, modern stack.

Every external dependency sits behind an interface with a real implementation and a fake — the whole pipeline is unit-tested without a single key.

TypeScript
end to end
GitHub App
Probot + Octokit
Postgres · Neon
state + pgvector
CocoIndex
tree-sitter semantic index
E2B sandbox
ephemeral microVMs
Anthropic Claude
Haiku / Sonnet / Opus
Test-first
TDD is a hard mechanical gate
$/run
every call metered, budget-capped
Zero-config
install the App, open an issue
Get started

Up and running in minutes.

No workflow files, no CI wiring. Install the App, open an issue, and stay in control of every gate.

1

Install the GitHub App

One click from the GitHub Marketplace. Pick the repositories you want Tsukinome to work on — it needs read/write on issues, pull requests, and contents. No files added to your repo.

2

Open an issue

Describe the change in plain English — a bug, a small feature, a refactor. Tsukinome acknowledges it, then drafts a spec with testable acceptance criteria.

3

Answer any questions

If something genuinely can't be inferred, it asks one batched set of clarifying questions right in the issue thread. Reply, and it refines the spec.

4

Approve the plan

It commits an implementation plan and waits. Nothing gets built until you say so.

/approve # start implementation /abort # stop and close out # …or just describe what to change
5

Review & merge the PR

A self-reviewed, test-first pull request lands — spec, plan, and tests attached, with a per-run cost summary. Leave review comments for a bounded fix loop, or merge.

月ノ目

Let the moon's eye
watch your repo.

An experiment in agentic engineering that keeps humans in command.