workfile

GET /docs/getting-startedAccept: text/markdown/docs/getting-started.md≈780 tokens

Getting started

Workfile coordinates Work, Docs, History and durable Memory as markdown files inside your repository. This guide takes you from zero to a working workspace.

Install

pnpm add -D @illodev/workfile     # per repository (recommended)
pnpm workfile doctor              # dependency bins run through pnpm / npx

pnpm add -g @illodev/workfile     # or globally: `workfile` lands on your PATH

pnpm dlx @illodev/workfile init works for one-shot initialization, but keep the package installed afterwards — that is what makes the project* scripts init adds to package.json resolve.

Initialize a workspace

workfile init

The initializer detects your package manager, monorepo folders, likely card areas, documentation sources, agent environments and CI providers. Every answer can be given as a flag for automation, and --dry-run prints the exact filesystem plan:

workfile init --yes --agents agents-md,claude --ci github
workfile init --dry-run --json

You get a project.config.mjs at the root and a .project/ directory:

project.config.mjs
.project/
├── VERSION
├── cards/            # Work records (T-NNNN), archive/ for closed history
├── assets/           # files attached to cards
├── docs/             # managed documents (DOC-NNNN)
├── changelog/        # unreleased/ fragments and releases/
├── memory/           # learnings, decisions, incidents, conventions, context
└── agents/           # canonical agent instructions

All of it is plain markdown with frontmatter — commit everything except .project/.cache/ (the initializer adds it to .gitignore for you).

The daily loop

workfile ui                       # local board at http://127.0.0.1:4747
workfile card create --title "Ship the login page" --area web
workfile card claim T-0001 --scope apps/web
workfile card transition T-0001 review

Agents claim cards with scoped paths so two of them never touch the same files; claims release automatically when a card leaves doing.

As work lands, record it:

workfile changelog add --title "Login page" --type added --area web
workfile memory add learning --title "Session cookies need SameSite=Lax"
workfile doc create --title "Auth runbook" --kind runbook

And when you cut a version, the accumulated fragments become a release:

workfile changelog preview
workfile changelog release 1.4.0
workfile changelog render --visibility public --write   # regenerates CHANGELOG.md

Keeping it healthy

workfile doctor --json

The doctor validates every collection: broken references, stale docs, expired context, incidents missing resolution metadata, unmanaged agent instructions. The same diagnostics power the Health view in the UI.

Where to go next

  • CLI reference — every command and flag.
  • HTTP API — the same operations over REST.
  • MCP server — expose the workspace to AI agents.
  • SPEC — the normative protocol specification.

Generated from packages/workfile/docs/getting-started.md.