All projects
Strand CLI creating, listing, and showing local issues

Strand

Creator and engineer / 2026

  • Rust
  • SQLite

Strand is a local issue tracker with three commands: add an issue, list the issues in a project, and show one by ID. It stores everything in .strand/strand.db, so it needs no account or server.

I built Strand while learning Rust application design. A small tool gave me enough real behavior to test an architecture without spending most of the project on features.

Small on purpose

The workspace separates the issue model, use cases, repository trait, SQLite adapter, and command-line interface. The core does not know that SQLite exists. The CLI parses input and prints results but does not own the rules for creating or finding an issue.

That split makes the tests plain. Core tests use an in-memory repository. SQLite tests cover tables and persistence. CLI behavior stays thin enough to read in one file.

The ultimate goal of this project was to not just learn Rust application design, but to create a functional local issue tracker to integrate with agentic workflows. I’m still working on this project to get it to that point, but the architecture is solid and the core is fully tested.