Agent-native issue tracker with convention-based project discovery
Project description
Filigree
Agent-native issue tracker with convention-based project discovery.
What Is Filigree?
Filigree is a lightweight, SQLite-backed issue tracker designed for AI coding agents (Claude Code, Codex, etc.) to use as first-class citizens. It exposes 43 MCP tools so agents interact natively, plus a full CLI for humans and background subagents.
Traditional issue trackers are human-first — agents have to scrape CLI output or parse API responses. Filigree flips this: agents read a pre-computed context.md at session start, claim work with optimistic locking, follow enforced workflow state machines, and resume sessions via event streams. For Claude Code, filigree install wires up session hooks and a workflow skill pack so agents get project context automatically.
Filigree is single-project and local-first. No server, no cloud, no accounts. Just a .filigree/ directory (like .git/) containing a SQLite database, configuration, and auto-generated context summary.
Key Features
- MCP server with 43 tools — agents interact natively without parsing text
- Full CLI with
--jsonoutput for background subagents and--actorfor audit trails - Claude Code integration — session hooks inject project snapshots at startup; bundled skill pack teaches agents workflow patterns
- Workflow templates — 24 issue types across 9 packs with enforced state machines
- Dependency graph — blockers, ready-queue, critical path analysis
- Hierarchical planning — milestone/phase/step hierarchies with automatic unblocking
- Atomic claiming — optimistic locking prevents double-work in multi-agent scenarios
- Pre-computed context —
context.mdregenerated on every mutation for instant agent orientation - Web dashboard — real-time project overview with filtering and search (optional extra)
- Minimal dependencies — just Python + SQLite + click (no framework overhead)
- Session resumption —
get_changes --since <timestamp>to catch up after downtime
Quick Start
pip install filigree # or: uv add filigree
cd my-project
filigree init # Create .filigree/ directory
filigree install # Set up MCP, hooks, skills, CLAUDE.md, .gitignore
filigree create "Set up CI pipeline" --type=task --priority=1
filigree ready # See what's ready to work on
filigree update <id> --status=in_progress
filigree close <id>
Installation
pip install filigree # Core CLI
pip install "filigree[mcp]" # + MCP server
pip install "filigree[dashboard]" # + Web dashboard
pip install "filigree[all]" # Everything
Or from source:
git clone https://github.com/tachyon-beep/filigree.git
cd filigree && uv sync
Entry Points
| Command | Purpose |
|---|---|
filigree |
CLI interface |
filigree-mcp |
MCP server (stdio transport) |
filigree-dashboard |
Web UI (port 8377) |
Claude Code Setup
filigree install configures everything in one step. To install individual components:
filigree install --claude-code # MCP server + CLAUDE.md instructions
filigree install --hooks # SessionStart hooks (project snapshot + dashboard auto-start)
filigree install --skills # Workflow skill pack for agents
filigree doctor # Verify installation health
The session hook runs filigree session-context at startup, giving the agent a snapshot of in-progress work, ready tasks, and the critical path. The skill pack (filigree-workflow) teaches agents triage patterns, team coordination, and sprint planning via progressive disclosure.
Why Filigree?
| Filigree | GitHub Issues | Jira | TODO files | |
|---|---|---|---|---|
| Agent-native (MCP tools) | Yes | No | No | No |
| Works offline / local-first | Yes | No | No | Yes |
| Structured queries & filtering | Yes | Yes | Yes | No |
| Workflow state machines | Yes | Limited | Yes | No |
| Zero configuration | Yes | No | No | Yes |
| Dependency tracking | Yes | Limited | Yes | No |
Documentation
| Document | Description |
|---|---|
| Getting Started | 5-minute tutorial: install, init, first issue |
| CLI Reference | All CLI commands with full parameter docs |
| MCP Server Reference | 43 MCP tools for agent-native interaction |
| Workflow Templates | State machines, packs, field schemas, enforcement |
| Agent Integration | Multi-agent patterns, claiming, session resumption |
| Python API Reference | FiligreeDB, Issue, TemplateRegistry for programmatic use |
| Architecture | Source layout, DB schema, design decisions |
| Examples | Runnable scripts: multi-agent, workflows, CLI scripting, planning |
Priority Scale
See Workflow Templates — Priority Scale for the full priority definitions (P0–P4).
Development
Requires Python 3.11+. Developed on 3.13.
git clone https://github.com/tachyon-beep/filigree.git
cd filigree
uv sync --group dev
make ci # ruff check + mypy strict + pytest with 85% coverage gate
make lint # Ruff check + format check
make format # Auto-format with ruff
make typecheck # Mypy strict mode
make test # Pytest
make test-cov # Pytest with coverage (fail-under=85%)
Key Conventions
- Ruff for linting and formatting (line-length=120)
- Mypy in strict mode
- Pytest with pytest-asyncio for MCP server tests
- Coverage threshold at 85%
- Tests in
tests/, source insrc/filigree/
Acknowledgements
Filigree was inspired by Steve Yegge's beads project. Filigree builds on the core idea of git-friendly issue tracking, focusing on MCP-native workflows and local-first operation.
License
MIT — Copyright (c) 2026 John Morrissey
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file filigree-1.1.1.tar.gz.
File metadata
- Download URL: filigree-1.1.1.tar.gz
- Upload date:
- Size: 265.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3f2d3f370deb119170dbe98127a1ca8d319edeaa4cf704ea6bf0dd5e3d35a04
|
|
| MD5 |
25f76d711ccfcd8458605c2c5310a896
|
|
| BLAKE2b-256 |
8e9b9e79ea4e66595de57eb6d5aeee3ace3bcbce15c28044ce31a773a55cfd75
|
Provenance
The following attestation bundles were made for filigree-1.1.1.tar.gz:
Publisher:
release.yml on tachyon-beep/filigree
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
filigree-1.1.1.tar.gz -
Subject digest:
d3f2d3f370deb119170dbe98127a1ca8d319edeaa4cf704ea6bf0dd5e3d35a04 - Sigstore transparency entry: 970408553
- Sigstore integration time:
-
Permalink:
tachyon-beep/filigree@835842f777d713ac7093f8c4c34e82d900343e7b -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/tachyon-beep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@835842f777d713ac7093f8c4c34e82d900343e7b -
Trigger Event:
push
-
Statement type:
File details
Details for the file filigree-1.1.1-py3-none-any.whl.
File metadata
- Download URL: filigree-1.1.1-py3-none-any.whl
- Upload date:
- Size: 132.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5eff0654a917b1181b6fdae0bc36ac7deff7e673b5c9b9dfd1b4c0b50b5abe8
|
|
| MD5 |
36899bc1263b2060487c251a49875122
|
|
| BLAKE2b-256 |
a8a7114bcf2751e0d7d38330a37c541a32ea446f1321ccaac9057e8228fe2710
|
Provenance
The following attestation bundles were made for filigree-1.1.1-py3-none-any.whl:
Publisher:
release.yml on tachyon-beep/filigree
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
filigree-1.1.1-py3-none-any.whl -
Subject digest:
e5eff0654a917b1181b6fdae0bc36ac7deff7e673b5c9b9dfd1b4c0b50b5abe8 - Sigstore transparency entry: 970408557
- Sigstore integration time:
-
Permalink:
tachyon-beep/filigree@835842f777d713ac7093f8c4c34e82d900343e7b -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/tachyon-beep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@835842f777d713ac7093f8c4c34e82d900343e7b -
Trigger Event:
push
-
Statement type: