A minimal local todo list — one project, one list. Independent from Helix and Acme Issues; use those tools to drive work on this repo.
The Acme suite is an executable reference architecture, not an all-inclusive platform or a universal prescription. Its local-first, independently runnable products and replaceable integration seams let subject-matter experts inspect working patterns and adapt the parts that fit their organization.
Acme Todo is one of the related projects. They remain separate products with separate responsibilities.
| Project | Role |
|---|---|
| Acme Identity | Suite users, browser sessions, capability roles, and scoped service principals. |
| Primer | Knowledge product and fictional Acme evidence corpus; not currently part of the Issues → Helix runtime loop. |
| Prelude | Project inception workspace; exports bootstrap artifacts for Helix empty-workspace bootstrap. |
| Helix | Agent workflow control plane that receives work and orchestrates changes. |
| Acme Issues | Local issue tracker and webhook harness that triggers Helix and receives callbacks. |
| Acme Projects | Feature-idea and collaboration board for existing Helix repos; can manually create non-triggering issues through Acme Issues. |
| Acme Steering | Optional decision inbox and delegation policy for workflow owners; Todo itself is not a Steering source. |
| Acme Intel | Optional think-lab for suite experience study; Todo itself is not an Intel source. |
| Acme Todo | Disposable target application used for agent implementation and verification. |
Typical exercise: Acme Issues sends a work item to Helix, which makes and verifies changes in Acme Todo. Primer develops the separate knowledge side of the same fictional Acme context. Prelude is used when inventing a new project before a Helix repo exists.
In the current manual feature flow for this existing target, Acme Projects requests a linked implementation issue from Acme Issues, and Acme Issues triggers Helix against this repository. Acme Projects does not call Helix directly.
Acme Todo remains only the implementation target. It does not publish Steering events or accept Steering actions; Helix owns run notifications and any narrow recovery action for work executing against this repository.
cd acme-todo
npm install
npm run dev
# → http://127.0.0.1:8331/| Method | Path | Purpose |
|---|---|---|
GET |
/api/todos |
List todos (open first, then done) |
POST |
/api/todos |
{ "text": "..." } |
PATCH |
/api/todos/:id |
{ "done": true } or { "text": "..." } |
DELETE |
/api/todos/:id |
Remove todo |
DELETE |
/api/todos/clear |
Remove all done todos |
GET |
/api/hello |
Say hello |
Data is stored in data/todos.db (override with ACME_TODO_DATA_DIR).
This repo is the target project Helix works on. Helix is globally installed (helix CLI).
cd acme-todo
helix init --preset express
cp .helix/.env.example .helix/.env
# set OPENROUTER_API_KEY, then provision scoped suite tokens from acme-identityFrom the sibling acme-identity checkout, npm run provision:suite-auth
rotates the Helix → Issues, Helix → Prelude, and Helix → Steering tokens into this ignored
.helix/.env. Helix keeps its standalone auth adapter available for independent
use; with Acme Identity enabled, human actions use capability permissions and
service tokens are sent only to the trusted origins listed in that file.
cd acme-todo
helix run --title "Add due dates to todos" --body "Store optional due date on each todo"Or start the server UI:
# Run this from the target repository, not from the Helix source checkout.
helix serve
# → http://127.0.0.1:8319/Helix loads this repository's .helix/config.json and .helix/.env at startup.
Restart helix serve after changing provider or service-token settings. Use
helix-dev serve from this directory when developing the sibling Helix source
with auto-restart; npm run dev remains the Todo application server and does
not start Helix.
In Acme Issues:
- Connections → Helix webhook URL
http://127.0.0.1:8319/runs, enable webhooks - Create an issue with the
triggerlabel describing the acme-todo task - Helix runs against this directory (start
helix servefromacme-todo) - On success, Acme Issues closes the issue and adds a completion comment
- Optional: in Helix Connections, use Use local suite default (or uncomment
ACME_STEERING_URLin.helix/.env) if you want run events in Acme Steering
| Service | Default |
|---|---|
| Acme Identity | 8316 |
| Todo app | 8331 |
| Helix | 8319 |
| Acme Issues | 8320 |
| Acme Observability | 8322 |
| Acme Steering | 8323 |
| Acme Intel | 8324 |
npm run dev
npm test
npm run build