Feature Comparison
| Feature | ticket-rs | Beads | JIRA/Linear | GitHub Issues |
|---|---|---|---|---|
| Git-backed | ✅ Markdown + YAML | ✅ SQLite + git | ❌ Cloud database | ❌ Cloud database |
| Dependencies | ✅ Built-in graph | ✅ Built-in | ⚠️ Limited | ❌ None |
| Graph Analytics | ✅ PageRank, critical path | ⚠️ Basic | ❌ None | ❌ None |
| AI-Native | ✅ MCP, hooks, triage | ✅ Good CLI | ⚠️ API only | ⚠️ API only |
| Offline Mode | ✅ Full functionality | ✅ Full functionality | ❌ Requires network | ❌ Requires network |
| Background Process | ✅ None (stateless) | ❌ SQLite daemon | ❌ Browser required | ❌ Browser required |
| Installation | ✅ Single binary | ⚠️ Go + SQLite | ❌ Browser only | ❌ Browser only |
| External Sync | ✅ GitHub, Linear | ❌ None | N/A (is the system) | N/A (is the system) |
| Sandboxed Env | ✅ Works everywhere | ⚠️ Needs SQLite | ❌ API tokens | ❌ API tokens |
| Merge Conflicts | ✅ Rare (text files) | ❌ SQLite conflicts | N/A | N/A |
| Team UI | ⚠️ CLI + sync | ❌ CLI only | ✅ Rich web UI | ✅ GitHub UI |
| Speed | ✅ Rust performance | ✅ Go performance | ⚠️ Network latency | ⚠️ Network latency |
Performance Benchmarks
We maintain a comprehensive benchmark suite comparing ticket-rs against alternative implementations including bash scripts and Go-based tools (beads). All benchmarks are automated and run with Monte Carlo analysis across multiple dataset sizes.Benchmark Results
Overall Performance (median across all commands, 500 tickets, 30 iterations). This is the same canonical dataset that powers the chart on the about page and is regenerated from the benchmark suite:Benchmarks run with 500 tickets, 30 iterations.
Data source: benchmark-data.json
Rust CLI Speed
Fastest overall — ~4× faster than bash and 6.2× faster than the Go daemon, with no dependencies and instant startup.
PyO3 Bindings
Zero subprocess overhead for Python-first workflows: in-process Rust via PyO3, no per-call process spawn.
Linear Scaling
O(n) complexity with excellent constants. Handles 1,000+ issues efficiently.
Detailed Command Performance
Operations tested:ready, list, show, stats, create, update
Highlights (Rust CLI, 500-ticket dataset):
- Ready command: Finds unblocked issues in ~4.5ms (vs ~35ms in bash)
- List command: Full issue list in ~14ms (vs ~35ms in bash)
- Show command: Single issue lookup in ~4ms (vs ~39ms in bash)
- Stats command: Repository stats in ~14ms
Per-command latency scales with dataset size — the numbers above are at 500 tickets. On smaller repositories (and for the CLI’s own regression suite) these commands run in the low single-digit milliseconds.
Scaling Analysis
Tested with 10, 50, 100, 500, and 1,000 ticket datasets:- ticket-rs/ticket-py: O(n) scaling with minimal overhead
- bash: O(n²) for operations requiring full repository scans
- beads daemon: Constant daemon overhead + O(n) parsing
View full benchmark methodology, charts, and raw data in
pypi/benchmarks/BENCHMARK_REPORT.mdWhen to Use ticket-rs
ticket-rs is ideal when you:Work primarily in the terminal and IDE
Use AI coding assistants (Claude, Cursor, Windsurf)
Want git-backed issue tracking that versions with code
Need dependency graphs and smart prioritization
Value offline capability and zero external dependencies
Work in sandboxed environments (CI/CD, containers)
Want blazing fast commands (milliseconds, not seconds)
When NOT to Use ticket-rs
Consider alternatives when you:Detailed Comparisons
vs. Beads
Beads pioneered AI-native issue tracking. ticket-rs builds on those ideas:- Similarities
- Differences
- Migration
- ✅ Git-backed storage
- ✅ Dependency tracking
- ✅ AI-native CLI
- ✅ Terminal-first workflow
vs. JIRA / Linear
JIRA and Linear are full-featured project management systems. ticket-rs is developer-focused.- When to Use JIRA/Linear
- When to Use ticket-rs
- Best of Both
- Team needs rich web UI
- Non-technical stakeholders
- Complex workflows (sprints, epics, boards)
- Advanced reporting and dashboards
- Real-time collaboration
vs. GitHub Issues
GitHub Issues is tightly integrated with GitHub. ticket-rs is git-native.- GitHub Issues Pros
- ticket-rs Advantages
- Sync Both
- Built into GitHub (no separate tool)
- Rich web UI
- Integrations with Actions, Projects
- Team-friendly interface
vs. Plain Text / Markdown Files
Some teams just use TODO.md or NOTES.md. ticket-rs adds structure:Migration Guides
Switching to ticket-rs is straightforward:From Beads
From GitHub
From Linear
Next Steps
Quickstart
Install ticket-rs and try it out
Philosophy
Understand our design principles
Graph Analytics
Learn about tk’s killer feature
GitHub
Star the repo and contribute