trekoon 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/trekoon/SKILL.md +55 -6
- package/README.md +156 -122
- package/docs/ai-agents.md +105 -104
- package/docs/commands.md +137 -167
- package/docs/machine-contracts.md +67 -68
- package/docs/quickstart.md +87 -143
- package/package.json +2 -2
- package/src/board/assets/state/utils.js +1 -1
- package/src/commands/arg-parser.ts +10 -0
- package/src/commands/help.ts +243 -239
- package/src/commands/quickstart.ts +67 -77
- package/src/commands/skills.ts +517 -168
- package/src/commands/sync.ts +93 -5
- package/src/domain/tracker-domain.ts +210 -37
- package/src/runtime/cli-shell.ts +5 -0
- package/src/storage/events-retention.ts +72 -0
- package/src/storage/migrations.ts +28 -0
- package/src/sync/event-writes.ts +8 -6
- package/src/sync/service.ts +80 -52
- package/src/sync/types.ts +12 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: trekoon
|
|
3
|
-
description: Use Trekoon
|
|
3
|
+
description: Use Trekoon only for agentic development planning and execution, limited to creating epics with tasks and subtasks, planning backlog/sprints, updating status, tracking progress, and managing dependencies/sync across repository workflows with agents. Only invoke Trekoon when explicitly requested by the user.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Trekoon Skill
|
|
@@ -61,6 +61,8 @@ This skill ships with bundled reference guides for planning and execution. Read
|
|
|
61
61
|
them when the task calls for it — they extend this command reference with
|
|
62
62
|
methodology and orchestration patterns.
|
|
63
63
|
|
|
64
|
+
> **Path note:** Script paths below are relative to this skill's folder (where this SKILL.md lives), not the current project root. Resolve them from this skill folder when invoking Bash.
|
|
65
|
+
|
|
64
66
|
| When | Read | What it covers |
|
|
65
67
|
|---|---|---|
|
|
66
68
|
| User asks to plan, design, or architect a feature | `reference/planning.md` | Decomposition into epic/task/subtask DAGs, writing standard, file scopes, owner assignment, dependency modeling, validation |
|
|
@@ -70,9 +72,7 @@ methodology and orchestration patterns.
|
|
|
70
72
|
**Typical flow:**
|
|
71
73
|
1. Read `reference/planning.md` and create the epic with tasks, subtasks, deps,
|
|
72
74
|
owners.
|
|
73
|
-
2. Read `reference/execution.md`
|
|
74
|
-
Teams), run `session --epic`, build lane groups, dispatch agents, use
|
|
75
|
-
`task done` responses to orchestrate waves.
|
|
75
|
+
2. Read `reference/execution.md` for the regular subagents flow OR `reference/execution-with-team.md` for the Agent Teams flow. Then run `session --epic`, build lane groups, dispatch agents, and use `task done` responses to orchestrate waves.
|
|
76
76
|
3. This file (SKILL.md) provides the command reference and status machine rules
|
|
77
77
|
that both planning and execution rely on.
|
|
78
78
|
|
|
@@ -502,8 +502,11 @@ Rules:
|
|
|
502
502
|
- Do not commit `.trekoon/trekoon.db`; remove the tracked DB and keep
|
|
503
503
|
`.trekoon` ignored instead.
|
|
504
504
|
|
|
505
|
-
Use `
|
|
506
|
-
|
|
505
|
+
Use `session` as the primary entry point — it returns diagnostics, sync status,
|
|
506
|
+
and the next ready task in one call. Use `suggest` for priority-ranked
|
|
507
|
+
recommendations. Use `quickstart` for the canonical bootstrapping walkthrough
|
|
508
|
+
and execution loop reference. Use `help` when you need exact flag syntax for a
|
|
509
|
+
specific command.
|
|
507
510
|
|
|
508
511
|
## Sync reminders
|
|
509
512
|
|
|
@@ -524,9 +527,55 @@ Cross-branch sync matters before merging a feature branch back:
|
|
|
524
527
|
```bash
|
|
525
528
|
trekoon --toon sync conflicts list
|
|
526
529
|
trekoon --toon sync conflicts show <conflict-id>
|
|
530
|
+
trekoon --toon sync resolve <conflict-id> --use theirs --dry-run
|
|
527
531
|
trekoon --toon sync resolve <conflict-id> --use ours
|
|
528
532
|
```
|
|
529
533
|
|
|
534
|
+
### Conflict resolution: ours vs theirs
|
|
535
|
+
|
|
536
|
+
Conflicts are **field-level**, not whole-record. Each conflict targets one field
|
|
537
|
+
(e.g., `status`, `title`, `description`) on one entity.
|
|
538
|
+
|
|
539
|
+
- `--use ours` — keep the current entity field value in the shared DB. The
|
|
540
|
+
entity is not written, but the conflict record is marked resolved and a
|
|
541
|
+
resolution event is appended.
|
|
542
|
+
- `--use theirs` — overwrite the shared DB entity field with the source-branch
|
|
543
|
+
value. The conflict record is marked resolved and a resolution event is
|
|
544
|
+
appended.
|
|
545
|
+
- `--dry-run` — preview the resolution without mutating the database. Returns
|
|
546
|
+
`oursValue`, `theirsValue`, `wouldWrite`, and `dryRun: true`. Use this before
|
|
547
|
+
committing to a resolution.
|
|
548
|
+
|
|
549
|
+
**Example:** after `sync pull --from main`, a conflict appears on epic `abc123`,
|
|
550
|
+
field `status`:
|
|
551
|
+
- ours (current DB): `in_progress`
|
|
552
|
+
- theirs (source branch): `done`
|
|
553
|
+
- `--use ours` keeps status as `in_progress`
|
|
554
|
+
- `--use theirs` changes status to `done` in the live shared DB
|
|
555
|
+
|
|
556
|
+
Always inspect conflicts with `sync conflicts show` before resolving. Choosing
|
|
557
|
+
`theirs` without inspection can overwrite in-progress work in the shared DB.
|
|
558
|
+
|
|
559
|
+
## Shared-database model
|
|
560
|
+
|
|
561
|
+
Trekoon uses **one live SQLite database per repository**. The file lives at
|
|
562
|
+
`<sharedStorageRoot>/.trekoon/trekoon.db`, where `sharedStorageRoot` is the
|
|
563
|
+
parent of `git rev-parse --git-common-dir` (i.e., the main worktree root).
|
|
564
|
+
|
|
565
|
+
Key consequences:
|
|
566
|
+
|
|
567
|
+
- **All linked worktrees share the same database.** A status change in one
|
|
568
|
+
worktree is immediately visible in every other worktree.
|
|
569
|
+
- **`git checkout` / `git switch` does not change tracker state.** The database
|
|
570
|
+
is outside the git object store, so switching branches does not roll back or
|
|
571
|
+
swap task data.
|
|
572
|
+
- **Sync operates on tracker events, not on the database file itself.** Use
|
|
573
|
+
`sync pull` to import events between branches — never copy or commit the
|
|
574
|
+
`.db` file.
|
|
575
|
+
|
|
576
|
+
Treat every write as a mutation of shared repo-wide state, not branch-scoped
|
|
577
|
+
state.
|
|
578
|
+
|
|
530
579
|
## Worktree diagnostics and destructive scope
|
|
531
580
|
|
|
532
581
|
- Inspect machine-readable storage fields when debugging worktrees:
|
package/README.md
CHANGED
|
@@ -1,159 +1,200 @@
|
|
|
1
1
|
# Trekoon
|
|
2
2
|
|
|
3
|
-
AI-first
|
|
3
|
+
AI-first task tracking that lives in your repo. You describe what to build, your
|
|
4
|
+
agent plans it as a dependency graph, then executes it task by task.
|
|
4
5
|
|
|
5
|
-
Trekoon
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## What it is for
|
|
11
|
-
|
|
12
|
-
- Fast issue tracking for day-to-day terminal use
|
|
13
|
-
- One repo-scoped task graph that works across branches and worktrees
|
|
14
|
-
- Stable machine-readable output for AI workflows (`--toon`, `--json`)
|
|
15
|
-
- Minimal command surface with strong planning and execution primitives
|
|
16
|
-
|
|
17
|
-
## Why it exists
|
|
18
|
-
|
|
19
|
-
Trekoon exists to make task tracking cheap enough to use while coding, and
|
|
20
|
-
structured enough that agents can read, update, and complete work without
|
|
21
|
-
guessing.
|
|
6
|
+
Trekoon stores work as **epics > tasks > subtasks** with dependency edges in a
|
|
7
|
+
local SQLite database. Every command has structured output (`--toon`, `--json`)
|
|
8
|
+
so agents can read and update state without parsing human text. No server, no
|
|
9
|
+
accounts. The database lives in `.trekoon/` inside your repo.
|
|
22
10
|
|
|
23
11
|
## Install
|
|
24
12
|
|
|
25
|
-
Recommended (global install with Bun):
|
|
26
|
-
|
|
27
13
|
```bash
|
|
28
14
|
bun add -g trekoon
|
|
29
15
|
```
|
|
30
16
|
|
|
31
|
-
|
|
17
|
+
Or via npm (Bun still needs to be installed as the runtime):
|
|
32
18
|
|
|
33
19
|
```bash
|
|
34
20
|
npm i -g trekoon
|
|
35
21
|
```
|
|
36
22
|
|
|
37
|
-
Verify the install:
|
|
38
|
-
|
|
39
23
|
```bash
|
|
40
|
-
trekoon
|
|
41
|
-
trekoon quickstart
|
|
24
|
+
trekoon init # set up .trekoon/ in your repo
|
|
25
|
+
trekoon quickstart # walkthrough of the basics
|
|
42
26
|
```
|
|
43
27
|
|
|
44
|
-
##
|
|
28
|
+
## The two workflows
|
|
45
29
|
|
|
46
|
-
|
|
30
|
+
Trekoon gives agents two modes: **plan** and **execute**. You can run them
|
|
31
|
+
separately or back to back.
|
|
47
32
|
|
|
48
|
-
|
|
49
|
-
| --- | --- |
|
|
50
|
-
| Initialize a repo | `trekoon init` |
|
|
51
|
-
| Install/open/update the local board | `trekoon board open`, `trekoon board update` |
|
|
52
|
-
| Learn the CLI | `trekoon help [command]`, `trekoon quickstart` |
|
|
53
|
-
| Plan work | `trekoon epic ...`, `trekoon task ...`, `trekoon subtask ...`, `trekoon dep ...` |
|
|
54
|
-
| Track epic progress | `trekoon epic progress <id>` |
|
|
55
|
-
| Start an execution session | `trekoon session`, `trekoon session --epic <id>` |
|
|
56
|
-
| Get next-action suggestions | `trekoon suggest`, `trekoon suggest --epic <id>` |
|
|
57
|
-
| Keep worktrees in sync | `trekoon sync ...` |
|
|
58
|
-
| Install or refresh the AI skill | `trekoon skills install`, `trekoon skills update` |
|
|
59
|
-
| Maintenance | `trekoon events prune ...`, `trekoon migrate ...`, `trekoon wipe --yes` |
|
|
60
|
-
|
|
61
|
-
Machine output modes:
|
|
62
|
-
|
|
63
|
-
- `--toon` for true TOON-encoded payloads
|
|
64
|
-
- `--json` for JSON output
|
|
65
|
-
- `--compact` to strip metadata from TOON envelopes
|
|
66
|
-
- `--compat <mode>` for explicit compatibility behavior
|
|
67
|
-
- `--help` and `--version` at the root or command level
|
|
68
|
-
|
|
69
|
-
For the full command surface, flags, filters, and bulk update rules, read the
|
|
70
|
-
[command reference](docs/commands.md).
|
|
71
|
-
|
|
72
|
-
## Local board workflow
|
|
73
|
-
|
|
74
|
-
Trekoon ships a no-extra-install local board for browsing and updating work in a
|
|
75
|
-
browser.
|
|
76
|
-
|
|
77
|
-
- `trekoon init` creates the shared `.trekoon` storage, database, and board
|
|
78
|
-
runtime under `.trekoon/board`
|
|
79
|
-
- `trekoon board open` ensures those bundled board assets are installed, starts a
|
|
80
|
-
token-gated loopback server on `127.0.0.1`, and launches the browser
|
|
81
|
-
- `trekoon board update` refreshes the board runtime assets only; it does not
|
|
82
|
-
start the server or open a browser
|
|
83
|
-
|
|
84
|
-
Keep the operator path simple:
|
|
33
|
+
### Plan
|
|
85
34
|
|
|
86
|
-
|
|
87
|
-
|
|
35
|
+
Tell the agent what you want to build or find and fix bugs in your code. Then ask Trekoon to
|
|
36
|
+
create plan and decomposes the plan into an epic with tasks, subtasks, and dependency edges,
|
|
37
|
+
then writes the whole graph into Trekoon in a single transaction.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
/trekoon plan <description>
|
|
88
41
|
```
|
|
89
42
|
|
|
90
|
-
|
|
91
|
-
assets without opening a session.
|
|
43
|
+
What the agent does during planning:
|
|
92
44
|
|
|
93
|
-
|
|
45
|
+
1. Asks clarifying questions if requirements are ambiguous
|
|
46
|
+
2. Creates an epic with outcome-oriented title and scoped description
|
|
47
|
+
3. Breaks it into tasks grouped by subsystem (auth, billing, UI, etc.)
|
|
48
|
+
4. Adds subtasks with concrete file paths, acceptance criteria, and test commands
|
|
49
|
+
5. Wires dependency edges so the execution order is explicit
|
|
50
|
+
6. Assigns lane owners when multiple agents will work in parallel
|
|
51
|
+
7. Validates the graph with `epic progress` and `suggest` before handing off
|
|
94
52
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- the
|
|
98
|
-
- every `board open` session uses a per-session token in the URL/API requests
|
|
99
|
-
- command output always includes a manual fallback URL if the browser launch
|
|
100
|
-
fails
|
|
53
|
+
Each task description includes target files, read-first files, do-not-touch
|
|
54
|
+
paths, and verification commands. Another agent (or a human) can pick up any
|
|
55
|
+
task and execute it without re-reading the codebase to figure out what to do.
|
|
101
56
|
|
|
102
|
-
|
|
57
|
+
### Execute
|
|
103
58
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
Material Symbols), and vanilla JS with no framework or CDN dependencies
|
|
107
|
-
- the board works fully offline once `trekoon board open` copies the runtime
|
|
108
|
-
assets into `.trekoon/board`
|
|
59
|
+
Point the agent at an epic and it works through the dependency graph
|
|
60
|
+
automatically. It is recommended to do it with clean context window.
|
|
109
61
|
|
|
110
|
-
|
|
62
|
+
```
|
|
63
|
+
/trekoon <id> execute
|
|
64
|
+
```
|
|
111
65
|
|
|
112
|
-
|
|
113
|
-
and Board navigation, search, theme toggle, and a workspace info popover;
|
|
114
|
-
selecting an epic adds the active epic context to the topbar
|
|
115
|
-
- the board toggles between an epics overview and a task workspace view; task
|
|
116
|
-
detail opens as a modal overlay; responsive breakpoints adjust kanban column
|
|
117
|
-
counts and component spacing
|
|
118
|
-
- the page scrolls naturally as a single SPA surface; modal overlays (task
|
|
119
|
-
detail, subtask editor) lock body scroll while open
|
|
120
|
-
- overview cards are the primary entry point into an epic; clicking a card opens
|
|
121
|
-
that epic's board workspace
|
|
122
|
-
- task cards show truncated descriptions; clicking anywhere on a card opens the
|
|
123
|
-
task detail modal with the full description
|
|
124
|
-
- search is debounced and filters client-side across titles, descriptions,
|
|
125
|
-
statuses, and subtask content
|
|
66
|
+
What the agent does during execution:
|
|
126
67
|
|
|
127
|
-
|
|
128
|
-
|
|
68
|
+
1. Runs `session --epic <id>` to get diagnostics, sync status, and the first
|
|
69
|
+
ready task
|
|
70
|
+
2. Marks the epic `in_progress`
|
|
71
|
+
3. Groups ready tasks into lanes by subsystem to minimize redundant codebase
|
|
72
|
+
exploration
|
|
73
|
+
4. Spawns sub-agents for parallel lanes (auth tasks go to one agent, billing
|
|
74
|
+
tasks to another)
|
|
75
|
+
5. Each sub-agent claims a task, does the work, appends progress notes, and
|
|
76
|
+
calls `task done`
|
|
77
|
+
6. `task done` returns which downstream tasks just became unblocked, so the
|
|
78
|
+
orchestrator knows what to dispatch next
|
|
79
|
+
7. After all tasks complete: code review, tests, manual verification, then marks
|
|
80
|
+
the epic `done`
|
|
129
81
|
|
|
130
|
-
|
|
82
|
+
The orchestrator uses `task done` responses to drive the whole loop. No polling,
|
|
83
|
+
no guessing. When a task finishes, Trekoon tells you exactly what's ready next.
|
|
131
84
|
|
|
132
|
-
|
|
133
|
-
covers the full plan-to-completion workflow:
|
|
85
|
+
## Install the skill
|
|
134
86
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
file scopes, owner assignment, dependency modeling
|
|
139
|
-
- **Execution** — graph building, lane grouping, sub-agent dispatch, task done
|
|
140
|
-
orchestration, verification
|
|
141
|
-
- **Agent Teams** — TeamCreate/SendMessage pattern for parallel Claude Code
|
|
142
|
-
instances (requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=true`)
|
|
87
|
+
The `trekoon` skill is what teaches agents the planning methodology, execution
|
|
88
|
+
orchestration, status machine rules, and command reference. Without the skill,
|
|
89
|
+
agents don't know how to use Trekoon properly.
|
|
143
90
|
|
|
144
|
-
|
|
91
|
+
```bash
|
|
92
|
+
trekoon skills install # repo-local (.agents/skills/trekoon/)
|
|
93
|
+
trekoon skills install -g # global (~/.agents/skills/trekoon)
|
|
94
|
+
trekoon update # refresh all installed skills
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
The skill bundles three reference documents that agents load on demand:
|
|
98
|
+
|
|
99
|
+
| Agent needs to... | Skill reads | What it covers |
|
|
100
|
+
| --- | --- | --- |
|
|
101
|
+
| Plan a feature | `reference/planning.md` | Decomposition, writing standard, dependency modeling, validation |
|
|
102
|
+
| Execute an epic | `reference/execution.md` | Graph building, lane grouping, sub-agent dispatch, verification (universal) |
|
|
103
|
+
| Execute with Agent Teams | `reference/execution-with-team.md` | TeamCreate/SendMessage, parallel Claude Code instances in tmux |
|
|
104
|
+
|
|
105
|
+
### Invoke the skill
|
|
145
106
|
|
|
146
107
|
```
|
|
147
108
|
/trekoon → load the skill
|
|
109
|
+
/trekoon plan → decompose into tasks/subtasks/deps
|
|
148
110
|
/trekoon <id> → show status and next steps for an entity
|
|
149
|
-
/trekoon <id> execute → start
|
|
150
|
-
/trekoon <id>
|
|
111
|
+
/trekoon <id> execute → start the execution loop
|
|
112
|
+
/trekoon <id> analyze → run progress + suggest, report findings
|
|
151
113
|
```
|
|
152
114
|
|
|
153
|
-
|
|
154
|
-
editor linking, and example prompts.
|
|
115
|
+
### Example prompts
|
|
155
116
|
|
|
156
|
-
|
|
117
|
+
Plan only:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
/trekoon — plan this feature as one epic with tasks, subtasks, and dependencies
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Execute only:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
/trekoon <epic-id> execute
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Plan and execute end to end:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
/trekoon — plan this feature, create the backlog, then execute the tasks in
|
|
133
|
+
dependency order until the epic is complete
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Agent Teams
|
|
137
|
+
|
|
138
|
+
For larger epics, Trekoon supports Claude Code Agent Teams. Instead of
|
|
139
|
+
sequential sub-agents, you get real parallel Claude Code instances coordinated
|
|
140
|
+
through `TeamCreate` and `SendMessage`, each running in its own tmux pane.
|
|
141
|
+
|
|
142
|
+
Requires Claude Code env variable `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=true`.
|
|
143
|
+
|
|
144
|
+
The team lead orchestrator creates a team, populates a shared task list, spawns
|
|
145
|
+
3-5 teammates per lane, and coordinates via messages. Teammates claim tasks,
|
|
146
|
+
report completions and blockers, and the lead dispatches new work as tasks get
|
|
147
|
+
unblocked.
|
|
148
|
+
|
|
149
|
+
## Status machine
|
|
150
|
+
|
|
151
|
+
Trekoon enforces valid transitions. You can't skip straight from `todo` to
|
|
152
|
+
`done`.
|
|
153
|
+
|
|
154
|
+
| From | Allowed targets |
|
|
155
|
+
| --- | --- |
|
|
156
|
+
| `todo` | `in_progress`, `blocked` |
|
|
157
|
+
| `in_progress` | `done`, `blocked` |
|
|
158
|
+
| `blocked` | `in_progress`, `todo` |
|
|
159
|
+
| `done` | `in_progress` |
|
|
160
|
+
|
|
161
|
+
Exception: `task done` auto-transitions through `in_progress`, so agents can
|
|
162
|
+
call it from any non-done status.
|
|
163
|
+
|
|
164
|
+
## Local board
|
|
165
|
+
|
|
166
|
+
Trekoon includes a browser-based board for humans who like having visual overview.
|
|
167
|
+
No build step, no framework dependencies, works offline.
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
trekoon board open # starts a local server, opens browser
|
|
171
|
+
trekoon board update # refresh assets only
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Binds to `127.0.0.1` only with a per-session token. Gives you an epics
|
|
175
|
+
overview, kanban workspace per epic, task detail modals, and search.
|
|
176
|
+
|
|
177
|
+
## Commands
|
|
178
|
+
|
|
179
|
+
| What you want to do | How |
|
|
180
|
+
| --- | --- |
|
|
181
|
+
| Set up a repo | `trekoon init` |
|
|
182
|
+
| Open the local board | `trekoon board open` |
|
|
183
|
+
| Plan work | `trekoon epic create ...`, `trekoon epic expand ...` |
|
|
184
|
+
| Create tasks in bulk | `trekoon task create-many ...` |
|
|
185
|
+
| Add dependencies | `trekoon dep add-many ...` |
|
|
186
|
+
| Start an agent session | `trekoon session --epic <id>` |
|
|
187
|
+
| Get next-action suggestions | `trekoon suggest --epic <id>` |
|
|
188
|
+
| Check epic progress | `trekoon epic progress <id>` |
|
|
189
|
+
| Mark a task done | `trekoon task done <id>` |
|
|
190
|
+
| Sync across worktrees | `trekoon sync pull --from main` |
|
|
191
|
+
| Get help | `trekoon [command] -h` |
|
|
192
|
+
|
|
193
|
+
Every command supports `--toon`, `--json`, `--compact` for structured output.
|
|
194
|
+
|
|
195
|
+
Full flag reference in [docs/commands.md](docs/commands.md).
|
|
196
|
+
|
|
197
|
+
## Docs
|
|
157
198
|
|
|
158
199
|
- [Quickstart](docs/quickstart.md)
|
|
159
200
|
- [Command reference](docs/commands.md)
|
|
@@ -161,10 +202,3 @@ editor linking, and example prompts.
|
|
|
161
202
|
- [Machine contracts](docs/machine-contracts.md)
|
|
162
203
|
- [Contributing](CONTRIBUTING.md)
|
|
163
204
|
- [Changelog](CHANGELOG.md)
|
|
164
|
-
|
|
165
|
-
## Implementation principles
|
|
166
|
-
|
|
167
|
-
- Minimal, composable modules
|
|
168
|
-
- Strict validation at command boundaries
|
|
169
|
-
- Stable automation envelopes for JSON and TOON modes
|
|
170
|
-
- No unnecessary feature sprawl
|