NACHIKETPATEL.
Building · 2026
← [02] Lab
Lab[03][Active]Open sourceAgents

DocOps — Project state for LLM-first development

Open-source CLI that turns docs/ into a typed, validated substrate so coding agents land in a repo and immediately know what's been built, decided, and what's next.

[Status] Active
Open sourceAgentsDeveloper toolsGo

DocOps is the thing I kept wishing for every time I let an agent loose on a real codebase. The agent would land, read a few files, and start guessing — at intent, at past decisions, at what was already in flight. The fix wasn't smarter prompts. It was giving the repo itself a small, typed memory that any agent (or human) could query.

[GitHub]
logicwind/DocOps

Typed project-state substrate for LLM-first development. Three document kinds, one validator, one query CLI.

View on GitHub
GoMIT
GoCLIOpen sourceLogicwind

What it solves

  • Agents guess at context. "What are we building, what was decided, what's next?" usually lives in Slack or someone's head. DocOps puts it in docs/ as typed files.
  • Decisions drift from work. Every task in DocOps must cite at least one decision or context doc. The validator enforces it. Drift becomes a failed build, not a quiet bug.
  • Project state goes stale. STATE.md and the dependency graph are computed from the files, not hand-edited. They never disagree with the source.
  • Tools assume one stack. DocOps is a single Go binary that drops into any repo — Python, TypeScript, Rust, doesn't matter. The substrate is the same.

How it works

Three document types in docs/, linked by typed edges, validated by a CLI:

  • Context (CTX-*) — stakeholder inputs: PRDs, memos, research, notes.
  • Decisions (ADR-*) — architecture and process calls, in ADR format.
  • Tasks (TP-*) — units of work, each citing the decisions or context they trace to.

docops validate checks the graph: citations resolve, no dangling references, every task is anchored. docops index builds the typed graph; docops state regenerates a human-readable snapshot. docops next recommends what to pick up. Every read command supports --json, so it doubles as a query API for agents and scripts.

The repo itself dog-foods all of this — the design decisions behind DocOps live as ADRs inside DocOps.

Install

[Install]
macOS / Linux$brew install logicwind/tap/docops
Windows$scoop bucket add logicwind https://github.com/logicwind/scoop-bucket && scoop install docops
From source$go install github.com/logicwind/docops/cmd/docops@latest

Then, in any git repo:

docops init
docops new ctx "What we're building" --type brief
docops new adr "Pick the database"
docops new task "Wire it up" --requires ADR-0001
docops refresh

Why I'm building it

Most "AI-ready repo" tooling I've seen either dumps everything into a vector store or assumes one editor and one model. Both feel wrong. The substrate that agents need is closer to a small, typed knowledge graph that humans also want to read — ADRs, PRDs, and tasks, linked properly. DocOps is the smallest version of that I could make work, and it ships as a single binary so it doesn't lock you into a stack or a vendor.

It's built and maintained by Logicwind, and it's MIT-licensed.