Git-native issue tracking for the age of agentic development.
Pearls is a fast, local-first issue tracker that lives in your repo, speaks in structured data, and behaves like a serious engineering tool. No cloud lock-in. No daemon circus. No mystery state.
Local-first: issue state lives with your code in.pearls/issues.jsonlAgent-ready: strict schema, dependency graph, finite-state transitionsGit-native: merge driver + hooks for real workflowsSingle binary:prlis all users need in their PATHSmall: example macOS release binary is ~10MB (Beadsbdis ~31MB on the same platform; sizes vary by target and build flags)Rust-fast: optimized for tight human and agent feedback loops
If markdown TODOs feel too fuzzy and SaaS trackers feel too heavy, Pearls is the middle path that actually scales.
Fastest install:
cargo install --git https://github.com/mrorigo/pearls pearls-cliInstall from local checkout:
cargo install --path /path/to/pearls/crates/pearls-cliEnsure prl is on PATH so Git hooks and merge drivers can invoke it.
git init
prl init
prl create "Ship launch page" --priority 1 --label marketing,web
prl create "Wire merge driver docs" --priority 2 --label docs
prl list --status open --sort updated_at
prl readyRun the MCP stdio server for agent clients:
prl mcp --repo .prl init: initialize.pearls, hooks, and Git merge integrationprl create,prl update,prl close: lifecycle operationsprl list,prl show,prl ready: discovery and execution flowprl mcp: MCP stdio server for agent toolingprl link,prl unlink: dependency managementprl comments: add, list, and delete issue commentsprl meta: structured per-issue metadataprl doctor: integrity checks and optional repairsprl compact: archive old closed issuesprl sync: Git sync workflow helperprl hooks: run hook actions directlyprl merge: merge-driver entrypoint for JSONL conflicts
- User guide:
docs/USER-GUIDE.md - Whitepaper:
docs/WHITEPAPER.md - Deep architecture:
docs/PEARLS.md - End-to-end sample:
examples/WORKFLOW.md
There is an agent skill defined for using the CLI, see skills/pearls-cli.
Do not give your agent both the CLI skill and the MCP server, or the agent might get confused!
This workspace ships six crates:
crates/pearls-core: models, storage, graph, FSM, identitycrates/pearls-cli:prlcommand-line applicationcrates/pearls-app: shared application servicescrates/pearls-mcp: MCP stdio server implementationcrates/pearls-merge: semantic JSONL merge enginecrates/pearls-hooks: pre-commit and post-merge validations
cargo check
cargo fmt
cargo clippy -- -D warnings
cargo testPearls follows the Microsoft Pragmatic Rust Guidelines. See AGENTS.md for repository-specific coding standards.
MIT
