ito

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2026 License: MIT Imports: 16 Imported by: 0

README

ito

A local, solo issue tracker for the terminal — built to be driven by an AI agent through the command line.

ito — 糸 (the thread that links the issues) · 意図 (intention). The thread of intentions.

Why

Projects are born from the conversation with an AI, on the local machine — but tracking them still requires ceremony: configuring a SaaS project before you can file the first task breaks the flow. ito gives you traceability with zero ceremony: the agent plans the work, files the issues through the CLI, and you watch the board in the terminal. No server, no account, no API key.

Install

go install github.com/c3h/ito@latest

A single static binary: pure-Go SQLite (no CGO), instant cold start.

Quick start

cd your-project
ito init                  # registers the project; name and prefix derive from the folder
ito new --title "Ship the login flow" --priority high --label feature
ito list                  # issues of the current project
ito move PROJ-1 in_progress
ito show PROJ-1
ito                       # bare ito opens the TUI

ito init never asks anything and never writes inside your repository — the store is a central SQLite database in ~/.ito/.

Agent-native by design

The AI is external: ito does not expose MCP and does not embed an LLM. The agent you already use drives the CLI through the shell, so the integration costs zero tokens until a command runs. The whole surface is built for that:

  • --json on every command — raw data, no envelope.
  • A small, stable exit-code taxonomy (0 ok, 2 usage, 3 not found, 4 project not initialized).
  • No interactive prompts anywhere, so an agent never stalls.
  • Errors are actionable sentences on stderr (no Project registered for the current directory. run 'ito init' in this Project or use --project <name>.) — the message is what makes the agent take the right next action.
  • ito list --ready computes the frontier of issues whose blockers are all done — the set an agent can safely fan out, one git worktree per issue.
  • --help is the guide: the root help orients to the non-obvious model so a first run explains itself.

How it works

  • Central store, zero repo footprint. One SQLite database in ~/.ito/ (overridable with ITO_HOME). The CLI never writes inside the repository — there is not a single ito file to configure or ignore.
  • Project identity comes from the git root. Every git worktree shares the same project; moving or renaming the repo never loses issues (ito init --reattach <name> re-points it).
  • The CLI is the only writer. Every mutation is a transaction; IDs (PROJ-12) are minted from a monotonic per-project counter and never reused.
  • The TUI calls the core in-process. Running bare ito opens a digest/board view over the same store — no daemon.

Issues are flat in v1: statuses backlog → todo → in_progress → in_review → done, priorities, a fixed label vocabulary, and typed links (blocked_by, relates_to).

Documentation

  • SPEC.md — the full spec, with every architecture decision and its why.
  • CONTEXT.md — the domain glossary.
  • docs/adr/ — architecture decision records.

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
tui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL