Skip to content

Repository files navigation

Lattice

English | 简体中文

Ticket-Driven Development for coding agents.

Lattice is an open-source toolkit of Agent Skills and optional Claude Code hooks that gives coding agents a disciplined path from product intent to a merged pull request. It runs locally with your existing Git and GitHub credentials, and is packaged for Claude Code and Codex. It is discipline-first, not heavy — it constrains the path (every shippable branch binds to a tkt-N/spc-N, every PR carries its Why/How/Spec line) but leaves the model free to think and code inside each step; the guardrails are a floor, not a ceiling.

Quick start

Install once per machine, then open any repo and start a ticket.

# 1) Portable skills (all supported agents: Claude Code, Codex, Cursor, …)
npx skills add percena/lattice -g -y
# 2) Claude Code plugin (same skills + optional hooks)
/plugin marketplace add percena/lattice
/plugin install lattice@percena
# 3) In your repo
/start-work

Advanced install (org roll-out, private forks, local dev, refresh) → docs/getting-started.md.

The loop

/start-work is the universal entry — it classifies scope and routes into this loop (for a new feature it delegates to /create-spec; to resume an existing ticket, /start-work tkt-N).

  /create-spec  |  /create-review
       ↓
  /create-tickets
       ↓
  /start-work
       ↓
  implement
       ↓
  /create-pr
       ↓
  /finish-work
# 1) Plan — lock scope, split into tickets
/create-spec           # e.g. "Add a payment feature"
/create-tickets

# 2) Execute the ticket
/start-work tkt-N

# 3) Ship
/create-pr
/finish-work pr N

Philosophy

Constrain the path, not the model. Lattice scripts the backbone — Spec → ticket → worktree → PR → merge — so the chain never skips a step and never loses its lineage. It does not script how the model reasons, what order to think, or what to output inside each step. Strong models stay creative; the framework keeps the chain resumable. Guardrails (worktree isolation, alignment checks, lineage) are a floor, not a ceiling.

Local-first retrieval, transparent memory. Spec, ticket, and review are written as templated local files under .lattice/ (ADRs under docs/adr/) — grep-able, reviewable, and committed with your repo. Most context lookups (acceptance criteria, last review outcome, which tickets a spec split into) resolve with a local cat/grep in milliseconds; GitHub is queried only for facts that can only come from the remote (issue/PR live state, comments, CI). Memory is not a framework black box — it is an explicit engineering artifact you and your team own.

Lineage. Each delivery leaves a traceable chain — a Spec (spc-N) splits into tickets (tkt-N), each ticket lands in a PR (pr-N), every review is a rev-…. These IDs are the binder file names, so the whole chain is recoverable with one grep -r spc-N .lattice/, across sessions, without a network hop.

Skills

Skill Purpose Slash
start-work Classify S/M/C, bind ticket + worktree, resume by id /start-work
create-spec Persist a Lattice Spec (spc-n) with acceptance criteria /create-spec
create-review Persist a Lattice Review (rev-YYYYMMDD-HHMMSSZ) with an explicit outcome /create-review
create-tickets Split locked scope into GitHub issues + binders /create-tickets
create-pr Open/update a well-formed GitHub PR /create-pr
finish-work Update base, alignment-check, merge, cleanup /finish-work
_lattice-lib Shared scripts backing the above (co-install, not a slash entry)

Not part of the delivery loop — three tiers, none create lineage nodes:

Tier Skill(s) Notes
PR-scoped quality side-paths review-code · review-production Optional, before/after /create-pr; no _lattice-lib
standalone doc tool generate-wiki wiki/ + llms.txt; anytime; no _lattice-lib
out-of-band companion (create-* family) create-adr writes docs/adr/NNN; co-installs _lattice-lib; not a lineage node — invoked alongside /create-spec//create-review (same worktree, promotes cross-feature decisions); never a loop entry or a Spec substitute

Documentation

Doc Topic
getting-started Install, auto-ensure, profiles, daily path, advanced install
github-surface Kind + priority labels, optional Project auto-add
CONTRIBUTING Changing skills/plugins in this monorepo
SECURITY Vulnerability reporting
CODE OF CONDUCT Community standards
CHANGELOG Plugin SemVer

Requirements

git, gh, jq, python3 (≥ 3.8), curl — plus an agent that runs Agent Skills or Claude Code plugins. Hook tests need bats.

License

MIT — see LICENSE.

Acknowledgements

Thanks to the linuxdo community for discussion, sharing, and feedback.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages