trekoon 0.2.6 → 0.2.8
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/README.md +102 -708
- package/docs/ai-agents.md +198 -0
- package/docs/commands.md +226 -0
- package/docs/machine-contracts.md +253 -0
- package/docs/plans/2026-03-15-trekoon-board-design.md +13 -0
- package/docs/quickstart.md +207 -0
- package/package.json +3 -1
- package/src/board/assets/app.js +1498 -0
- package/src/board/assets/components/AppShell.js +17 -0
- package/src/board/assets/components/BoardTopbar.js +78 -0
- package/src/board/assets/components/ClampedText.js +31 -0
- package/src/board/assets/components/EpicRow.js +62 -0
- package/src/board/assets/components/EpicsOverview.js +43 -0
- package/src/board/assets/components/WorkspaceHeader.js +70 -0
- package/src/board/assets/components/assetMap.js +65 -0
- package/src/board/assets/index.html +76 -0
- package/src/board/assets/main.js +27 -0
- package/src/board/assets/manifest.json +12 -0
- package/src/board/assets/state/actions.js +334 -0
- package/src/board/assets/state/api.js +126 -0
- package/src/board/assets/state/store.js +172 -0
- package/src/board/assets/styles/board.css +1127 -0
- package/src/board/assets/utils/dom.js +308 -0
- package/src/board/install.ts +196 -0
- package/src/board/open-browser.ts +131 -0
- package/src/board/routes.ts +299 -0
- package/src/board/server.ts +184 -0
- package/src/board/snapshot.ts +277 -0
- package/src/board/types.ts +43 -0
- package/src/commands/board.ts +158 -0
- package/src/commands/epic.ts +104 -3
- package/src/commands/help.ts +52 -13
- package/src/commands/init.ts +29 -0
- package/src/commands/subtask.ts +78 -1
- package/src/commands/task.ts +113 -7
- package/src/domain/mutation-service.ts +116 -0
- package/src/domain/tracker-domain.ts +261 -5
- package/src/domain/types.ts +51 -0
- package/src/runtime/cli-shell.ts +5 -0
- package/src/storage/path.ts +36 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
Use this guide for the shortest path from an empty repo to an active Trekoon
|
|
4
|
+
workflow.
|
|
5
|
+
|
|
6
|
+
## Understand the storage model first
|
|
7
|
+
|
|
8
|
+
Trekoon is local-first, but inside git repos and worktrees it is **repo-shared**.
|
|
9
|
+
Every worktree for the same repository resolves to one shared `.trekoon`
|
|
10
|
+
directory and one shared `.trekoon/trekoon.db` database.
|
|
11
|
+
|
|
12
|
+
- `worktreeRoot` identifies the current checkout.
|
|
13
|
+
- `sharedStorageRoot` identifies the repository root that owns `.trekoon`.
|
|
14
|
+
- `databaseFile` points at the shared SQLite database.
|
|
15
|
+
- `.trekoon` stays gitignored because the DB is operational state, not source
|
|
16
|
+
code.
|
|
17
|
+
|
|
18
|
+
Outside git repos, Trekoon falls back to the current working directory.
|
|
19
|
+
|
|
20
|
+
## Initialize
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
trekoon init
|
|
24
|
+
trekoon --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
If an agent is driving the workflow, use the machine-readable form:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
trekoon --toon init
|
|
31
|
+
trekoon --toon sync status
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Bootstrap rules:
|
|
35
|
+
|
|
36
|
+
- Run `trekoon --toon init` once per repository to create or re-bootstrap the
|
|
37
|
+
shared storage root and install the bundled board runtime under
|
|
38
|
+
`.trekoon/board`.
|
|
39
|
+
- Run `trekoon --toon sync status` before agent work to inspect diagnostics.
|
|
40
|
+
- If diagnostics report `recoveryRequired`, a tracked or ignored mismatch, or an
|
|
41
|
+
ambiguous recovery path, stop and repair setup before continuing.
|
|
42
|
+
|
|
43
|
+
## Open the local board
|
|
44
|
+
|
|
45
|
+
After `trekoon init`, you can browse and update the same repo-shared Trekoon
|
|
46
|
+
state in the browser:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
trekoon board open
|
|
50
|
+
trekoon board update
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
For day-to-day use, treat `trekoon board open` as the one-command entry point.
|
|
54
|
+
It both verifies the runtime files and launches the board. Reach for
|
|
55
|
+
`trekoon board update` only when you need to refresh the copied runtime without
|
|
56
|
+
opening the browser.
|
|
57
|
+
|
|
58
|
+
What these commands do:
|
|
59
|
+
|
|
60
|
+
- `trekoon board open` ensures bundled board assets are installed, starts a
|
|
61
|
+
loopback-only server on `127.0.0.1`, opens the browser, and prints a fallback
|
|
62
|
+
URL you can paste manually if launch fails
|
|
63
|
+
- `trekoon board update` refreshes the runtime assets in `.trekoon/board`
|
|
64
|
+
without opening a browser or starting the server
|
|
65
|
+
|
|
66
|
+
Why the board uses a local server instead of a bare HTML file:
|
|
67
|
+
|
|
68
|
+
- the UI needs live reads and writes against Trekoon data, not a static export
|
|
69
|
+
- the server binds only to `127.0.0.1`
|
|
70
|
+
- each `board open` call generates a per-session token used by the browser/API
|
|
71
|
+
- bundled assets are copied from the CLI package into `.trekoon/board`, so the
|
|
72
|
+
board works without a separate frontend install or local build step
|
|
73
|
+
|
|
74
|
+
Current runtime expectations for operators:
|
|
75
|
+
|
|
76
|
+
- the served HTML, styles, and board app files come from the local
|
|
77
|
+
`.trekoon/board` runtime directory
|
|
78
|
+
- the current shell also pulls Vue from `unpkg.com`, Tailwind from
|
|
79
|
+
`cdn.tailwindcss.com`, and Google-hosted fonts/icons at page load time
|
|
80
|
+
- if those hosts are unavailable, the command still starts the loopback server
|
|
81
|
+
and prints the fallback URL, but the shell may not fully hydrate in the
|
|
82
|
+
browser until network access is available again
|
|
83
|
+
|
|
84
|
+
Current layout behavior:
|
|
85
|
+
|
|
86
|
+
- the topbar is a compact navbar with workspace identity, Epics and Board
|
|
87
|
+
navigation, debounced search, theme toggle, and workspace info
|
|
88
|
+
- on wide displays, expect a three-surface workspace: epic switcher sidebar,
|
|
89
|
+
task workspace, and task inspector
|
|
90
|
+
- on medium and small displays, secondary surfaces collapse into stacked panels
|
|
91
|
+
or drawer-style views so the board remains navigable on narrower widths
|
|
92
|
+
- the page scrolls naturally as one document; modal overlays lock body scroll
|
|
93
|
+
while open
|
|
94
|
+
- task cards show truncated descriptions; clicking a card opens the task detail
|
|
95
|
+
modal with the full description and edit controls
|
|
96
|
+
- search filters client-side across titles, descriptions, statuses, and subtask
|
|
97
|
+
content with a 180ms debounce
|
|
98
|
+
|
|
99
|
+
Verification checklist for operators:
|
|
100
|
+
|
|
101
|
+
1. Open the board with `trekoon board open` and confirm the first view is the
|
|
102
|
+
epic overview with all epics listed and scrollable.
|
|
103
|
+
2. Click an epic card and confirm you enter the board workspace with the topbar
|
|
104
|
+
showing the active epic context.
|
|
105
|
+
3. Type in search and verify results filter as you type; confirm focus stays in
|
|
106
|
+
the search input while typing.
|
|
107
|
+
4. Click a task card and confirm the task detail modal opens with the full
|
|
108
|
+
description, edit form, and subtask list.
|
|
109
|
+
5. On desktop width, confirm the epic switcher sidebar, workspace, and detail
|
|
110
|
+
panel can all be visible simultaneously.
|
|
111
|
+
6. Resize to a narrow viewport and confirm the layout stacks cleanly without
|
|
112
|
+
horizontal overflow.
|
|
113
|
+
7. Close modals and confirm you return to the previous board context.
|
|
114
|
+
|
|
115
|
+
## Create an epic, task, and subtask
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
trekoon epic create --title "Agent backlog stabilization" --description "Track stabilization work" --status todo
|
|
119
|
+
trekoon task create --title "Implement sync status" --description "Add status reporting" --epic <epic-id> --status todo
|
|
120
|
+
trekoon subtask create --task <task-id> --title "Add cursor model" --status todo
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Useful follow-up reads:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
trekoon task list
|
|
127
|
+
trekoon task list --status done
|
|
128
|
+
trekoon task list --limit 25
|
|
129
|
+
trekoon task list --all --view compact
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Prefer one-shot planning when the graph is already known
|
|
133
|
+
|
|
134
|
+
If you already know the epic tree, create the epic, tasks, subtasks, and
|
|
135
|
+
dependencies in one call:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
trekoon epic create \
|
|
139
|
+
--title "Batch command rollout" \
|
|
140
|
+
--description "Ship one-shot planning workflows" \
|
|
141
|
+
--task "task-a|First task|First description|todo" \
|
|
142
|
+
--task "task-b|Second task|Second description|todo" \
|
|
143
|
+
--subtask "@task-a|sub-a|First subtask|Subtask description|todo" \
|
|
144
|
+
--dep "@task-b|@task-a" \
|
|
145
|
+
--dep "@sub-a|@task-a"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Use this when:
|
|
149
|
+
|
|
150
|
+
- the epic does not exist yet
|
|
151
|
+
- later records need to reference earlier records with `@temp-key`
|
|
152
|
+
- you want one atomic create step and one machine response with mappings and
|
|
153
|
+
counts
|
|
154
|
+
|
|
155
|
+
## Add dependencies
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
trekoon dep add <task-id> <depends-on-id>
|
|
159
|
+
trekoon dep list <task-id>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Use batch commands for larger updates
|
|
163
|
+
|
|
164
|
+
When one call needs to create or link multiple records, prefer the transactional
|
|
165
|
+
batch commands:
|
|
166
|
+
|
|
167
|
+
| Need | Command |
|
|
168
|
+
| --- | --- |
|
|
169
|
+
| Create multiple tasks under one epic | `trekoon task create-many --epic <epic-id> --task ...` |
|
|
170
|
+
| Create multiple subtasks under one task | `trekoon subtask create-many <task-id> --subtask ...` |
|
|
171
|
+
| Add multiple dependency edges | `trekoon dep add-many --dep ...` |
|
|
172
|
+
| Expand an existing epic with linked records | `trekoon epic expand <epic-id> ...` |
|
|
173
|
+
|
|
174
|
+
These commands validate the whole batch before applying changes, so a bad input
|
|
175
|
+
fails the whole operation instead of leaving partial state behind.
|
|
176
|
+
|
|
177
|
+
## Close or reopen a whole tree in one update
|
|
178
|
+
|
|
179
|
+
When you need to manually finish or reopen an entire epic or task tree, use the
|
|
180
|
+
positional-ID cascade form of `update --all`:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
trekoon epic update <epic-id> --all --status done
|
|
184
|
+
trekoon epic update <epic-id> --all --status todo
|
|
185
|
+
trekoon task update <task-id> --all --status done
|
|
186
|
+
trekoon task update <task-id> --all --status todo
|
|
187
|
+
trekoon subtask update <subtask-id> --all --status done
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Rules:
|
|
191
|
+
|
|
192
|
+
- `epic update <id> --all --status done|todo` updates the epic and all
|
|
193
|
+
descendants atomically
|
|
194
|
+
- `task update <id> --all --status done|todo` updates the task and all
|
|
195
|
+
descendant subtasks atomically
|
|
196
|
+
- `subtask update <id> --all --status done|todo` is accepted for consistency,
|
|
197
|
+
but it only updates that one subtask
|
|
198
|
+
- Positional-ID cascade mode is status-only; do not combine it with `--append`,
|
|
199
|
+
`--description`, `--title`, or `--ids`
|
|
200
|
+
- If any epic/task descendant is blocked by an unresolved external dependency,
|
|
201
|
+
the whole cascade fails with no partial writes
|
|
202
|
+
|
|
203
|
+
## What to read next
|
|
204
|
+
|
|
205
|
+
- [Command reference](commands.md)
|
|
206
|
+
- [AI agents and the Trekoon skill](ai-agents.md)
|
|
207
|
+
- [Machine contracts](machine-contracts.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trekoon",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "AI-first local issue tracker CLI.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"bin",
|
|
12
|
+
"docs",
|
|
12
13
|
"src",
|
|
14
|
+
"src/board/assets",
|
|
13
15
|
".agents/skills/trekoon/SKILL.md",
|
|
14
16
|
"README.md",
|
|
15
17
|
"LICENSE"
|