@pmelab/gtd 23.2.0 → 24.1.0
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/.claude-plugin/plugin.json +1 -1
- package/README.md +44 -11
- package/claude/hooks/access.ts +1 -1
- package/dist/chunks/Schema-Dh-mkwkq.mjs +25353 -0
- package/dist/chunks/reserved-ejn-LVYO.mjs +1388 -0
- package/dist/chunks/rolldown-runtime-8H4AJuhK.mjs +14 -0
- package/dist/chunks/steering-D-PvRC5W.mjs +16296 -0
- package/dist/chunks/wire-DA7q2ikx.mjs +473 -0
- package/dist/flows.mjs +525 -0
- package/dist/gtd.bundle.mjs +43830 -56044
- package/dist/steering.mjs +2 -0
- package/dist/testkit.mjs +13006 -0
- package/dist/wire.mjs +2 -0
- package/dist/workflow-kit.mjs +352 -0
- package/dist/workflows/feature.mjs +315 -0
- package/dist/workflows/fix.mjs +40 -0
- package/dist/workflows/review.mjs +25 -0
- package/dist/workflows.mjs +1953 -1724
- package/package.json +70 -8
- package/skills/authoring/SKILL.md +5 -4
- package/src/cli/Cli.test.ts +1329 -0
- package/src/cli/Cli.ts +1348 -0
- package/src/cli/Program.test.ts +2262 -0
- package/src/cli/Program.ts +1331 -0
- package/src/cli/ToolCommands.ts +43 -0
- package/src/cli/index.ts +14 -0
- package/src/edge/Edge.test.ts +1016 -0
- package/src/edge/Edge.ts +1225 -0
- package/src/edge/index.ts +16 -0
- package/src/emit/Emit.test.ts +425 -0
- package/src/emit/Emit.ts +139 -0
- package/src/emit/GitScript.test.ts +260 -0
- package/src/emit/GitScript.ts +131 -0
- package/src/emit/ModeContradiction.test.ts +120 -0
- package/src/emit/ModeContradiction.ts +66 -0
- package/src/emit/OutcomeScript.test.ts +238 -0
- package/src/emit/OutcomeScript.ts +73 -0
- package/src/emit/SteeringMode.test.ts +274 -0
- package/src/emit/SteeringMode.ts +256 -0
- package/src/emit/index.ts +40 -0
- package/src/flows/factory.ts +5 -1
- package/src/flows/runtime.ts +3 -0
- package/src/install/ConfigScaffold.ts +19 -0
- package/src/install/Install.test.ts +426 -0
- package/src/install/Install.ts +634 -0
- package/src/install/Version.ts +27 -0
- package/src/install/index.ts +3 -0
- package/src/platform/CommandRunner.ts +74 -0
- package/src/platform/Commentary.test.ts +126 -0
- package/src/platform/Commentary.ts +92 -0
- package/src/platform/Git.test.ts +50 -0
- package/src/platform/Git.ts +552 -0
- package/src/platform/Host.ts +42 -0
- package/src/platform/RetainedHistory.test.ts +65 -0
- package/src/platform/RetainedHistory.ts +34 -0
- package/src/platform/Workspace.test.ts +669 -0
- package/src/platform/Workspace.ts +631 -0
- package/src/platform/WorktreeState.test.ts +162 -0
- package/src/platform/WorktreeState.ts +50 -0
- package/src/platform/index.ts +22 -0
- package/src/replay/Access.test.ts +53 -0
- package/src/replay/Access.ts +46 -0
- package/src/replay/Format.test.ts +20 -0
- package/src/replay/Format.ts +14 -0
- package/src/replay/Replay.test.ts +887 -0
- package/src/replay/Replay.ts +669 -0
- package/src/replay/Trailers.test.ts +117 -0
- package/src/replay/Trailers.ts +213 -0
- package/src/replay/Tree.test.ts +25 -0
- package/src/replay/Tree.ts +45 -0
- package/src/replay/index.ts +11 -0
- package/src/steering/Blocks.fixture.ts +6 -0
- package/src/steering/Blocks.test.ts +167 -0
- package/src/steering/Blocks.ts +321 -0
- package/src/steering/CodeThreads.test.ts +127 -0
- package/src/steering/CodeThreads.ts +197 -0
- package/src/steering/Edits.test.ts +19 -0
- package/src/steering/Edits.ts +20 -0
- package/src/steering/Eol.test.ts +16 -0
- package/src/steering/Eol.ts +2 -0
- package/src/steering/FORMATS.md +58 -0
- package/src/steering/Footnotes.test.ts +977 -0
- package/src/steering/Footnotes.ts +661 -0
- package/src/steering/Inline.fixture.ts +7 -0
- package/src/steering/Inline.test.ts +227 -0
- package/src/steering/Inline.ts +195 -0
- package/src/steering/MarkdownTree.test.ts +247 -0
- package/src/steering/MarkdownTree.ts +260 -0
- package/src/steering/Outline.ts +19 -0
- package/src/steering/SteeringFormat.test.ts +91 -0
- package/src/steering/SteeringFormat.ts +267 -0
- package/src/steering/SteeringFormats.test.ts +163 -0
- package/src/steering/Threads.ts +163 -0
- package/src/steering/contract.test.ts +264 -0
- package/src/steering/fixtures/code-threads/cache.stripped.ts.txt +6 -0
- package/src/steering/fixtures/code-threads/cache.ts.md +15 -0
- package/src/steering/fixtures/free-form/notes.md +12 -0
- package/src/steering/fixtures/free-form/notes.read.json +42 -0
- package/src/steering/fixtures/qa/answered.md +23 -0
- package/src/steering/fixtures/qa/answered.read.json +119 -0
- package/src/steering/fixtures/qa/requirements.md +160 -0
- package/src/steering/fixtures/qa/requirements.read.json +475 -0
- package/src/steering/fixtures/review/review.md +76 -0
- package/src/steering/fixtures/review/review.read.json +237 -0
- package/src/steering/fixtures/review/ticked.md +23 -0
- package/src/steering/fixtures/review/ticked.read.json +99 -0
- package/src/steering/fixtures/review-notes/baseline.md +14 -0
- package/src/steering/fixtures/review-notes/noted.md +19 -0
- package/src/steering/freeform.test.ts +311 -0
- package/src/steering/freeform.ts +148 -0
- package/src/steering/index.test.ts +62 -0
- package/src/steering/index.ts +140 -0
- package/src/steering/qa.test.ts +2160 -0
- package/src/steering/qa.ts +1104 -0
- package/src/steering/review.test.ts +1829 -0
- package/src/steering/review.ts +1180 -0
- package/src/step/LandStep.ts +31 -0
- package/src/step/RepoSnapshot.ts +29 -0
- package/src/step/accessRefusal.test.ts +58 -0
- package/src/step/accessRefusal.ts +26 -0
- package/src/step/index.ts +5 -0
- package/src/step/planStart.test.ts +202 -0
- package/src/step/planStart.ts +167 -0
- package/src/step/planStep.test.ts +104 -0
- package/src/step/planStep.ts +89 -0
- package/src/step/snapshot.fixture.ts +28 -0
- package/src/testkit/EmittedScriptRecognizer.test.ts +639 -0
- package/src/testkit/EmittedScriptRecognizer.ts +642 -0
- package/src/testkit/FakeGitOperations.ts +95 -0
- package/src/testkit/GitTiers.test.ts +11 -0
- package/src/testkit/GitTiers.ts +1052 -0
- package/src/testkit/InMemRepo.ts +467 -0
- package/src/testkit/Layers.test.ts +58 -0
- package/src/testkit/Layers.ts +241 -0
- package/src/testkit/StrictGitOperations.ts +31 -0
- package/src/testkit/TestRepo.test.ts +119 -0
- package/src/testkit/TestRepo.ts +274 -0
- package/src/testkit/cliIo.ts +36 -0
- package/src/testkit/index.ts +9 -0
- package/src/testkit/steps.ts +177 -0
- package/src/testkit/testkit.feature +65 -0
- package/src/wire/BeatDocument.test.ts +419 -0
- package/src/wire/BeatDocument.ts +114 -0
- package/src/wire/BeatPlain.test.ts +113 -0
- package/src/wire/BeatPlain.ts +127 -0
- package/src/wire/BeatStatus.test.ts +59 -0
- package/src/wire/BeatStatus.ts +81 -0
- package/src/wire/Demand.test.ts +142 -0
- package/src/wire/Demand.ts +108 -0
- package/src/wire/ExitCodes.test.ts +21 -0
- package/src/wire/ExitCodes.ts +16 -0
- package/src/wire/Glob.ts +29 -0
- package/src/wire/Judge.ts +22 -0
- package/src/wire/Land.test.ts +120 -0
- package/src/wire/Land.ts +75 -0
- package/src/wire/Select.test.ts +148 -0
- package/src/wire/Select.ts +78 -0
- package/src/wire/Sessions.test.ts +59 -0
- package/src/wire/Sessions.ts +39 -0
- package/src/wire/WireSchema.test.ts +162 -0
- package/src/wire/constants.ts +22 -0
- package/src/wire/golden/1/beat-capture.json +34 -0
- package/src/wire/golden/1/beat-message.json +34 -0
- package/src/wire/golden/1/beat-prompt.json +44 -0
- package/src/wire/golden/1/beat-script.json +34 -0
- package/src/wire/golden/1/beat-stalled.json +34 -0
- package/src/wire/golden/1/judge.json +14 -0
- package/src/wire/golden/1/land-noop.json +10 -0
- package/src/wire/golden/1/land.json +10 -0
- package/src/wire/index.ts +12 -0
- package/src/wire/types.ts +46 -0
- package/src/workflow/Diagnostic.test.ts +93 -0
- package/src/workflow/Diagnostic.ts +54 -0
- package/src/workflow/SteeringFormats.test.ts +27 -0
- package/src/workflow/SteeringFormats.ts +6 -0
- package/src/workflow/Workflow.ts +77 -0
- package/src/workflow/compile.test.ts +53 -0
- package/src/workflow/compile.ts +56 -0
- package/src/workflow/discovery.ts +122 -0
- package/src/workflow/fingerprint.test.ts +52 -0
- package/src/workflow/fingerprint.ts +53 -0
- package/src/workflow/index.ts +33 -0
- package/src/workflow/load.test.ts +1017 -0
- package/src/workflow/load.ts +836 -0
- package/src/workflow/skills.test.ts +109 -0
- package/src/workflow/skills.ts +90 -0
- package/src/workflow/vars.ts +33 -0
- package/src/workflow-kit/health.test.ts +30 -0
- package/src/workflow-kit/health.ts +86 -0
- package/src/workflow-kit/index.ts +7 -0
- package/src/workflow-kit/quality.test.ts +17 -0
- package/src/workflow-kit/quality.ts +45 -0
- package/src/workflow-kit/review.ts +324 -0
- package/src/{workflows → workflow-kit}/scenarios.ts +21 -28
- package/src/workflows/feature/feature.test.ts +32 -0
- package/src/workflows/{bundled.ts → feature/feature.ts} +11 -63
- package/src/workflows/feature/index.ts +10 -0
- package/src/workflows/{packages.test.ts → feature/packages.test.ts} +2 -2
- package/src/workflows/{packages.ts → feature/packages.ts} +3 -3
- package/src/workflows/{planning.ts → feature/planning.ts} +2 -3
- package/src/workflows/{review.test.ts → feature/review.test.ts} +9 -44
- package/src/workflows/feature/review.ts +106 -0
- package/src/workflows/feature/steps.test.ts +82 -0
- package/src/workflows/feature/steps.ts +92 -0
- package/src/workflows/fix/fix.feature +80 -0
- package/src/workflows/fix/fix.test.ts +74 -0
- package/src/workflows/fix/fix.ts +52 -0
- package/src/workflows/fix/index.ts +6 -0
- package/src/workflows/index.ts +36 -2
- package/src/workflows/review/index.ts +6 -0
- package/src/workflows/review/review.test.ts +99 -0
- package/src/workflows/review/review.ts +33 -0
- package/src/workflows/{access.test.ts → shared/access.test.ts} +1 -1
- package/src/workflows/{access.ts → shared/access.ts} +3 -5
- package/src/workflows/shared/config.fixture.ts +12 -0
- package/src/workflows/{health.test.ts → shared/health.test.ts} +1 -1
- package/src/workflows/{health.ts → shared/health.ts} +38 -55
- package/src/workflows/{options.test.ts → shared/options.test.ts} +2 -2
- package/src/workflows/{options.ts → shared/options.ts} +14 -2
- package/src/workflows/shared/reserved.ts +11 -0
- package/src/workflows/{scenarios.test.ts → shared/scenarios.test.ts} +1 -1
- package/src/workflows/shared/scenarios.ts +35 -0
- package/src/workflows/{skills.test.ts → shared/skills.test.ts} +3 -1
- package/src/workflows/{skills.ts → shared/skills.ts} +7 -6
- package/src/workflows/{steps.test.ts → shared/steps.test.ts} +1 -66
- package/src/workflows/{steps.ts → shared/steps.ts} +8 -98
- package/src/workflows/shared/tail.test.ts +205 -0
- package/src/workflows/shared/tail.ts +135 -0
- package/src/workflows/{text.fixture.ts → shared/text.fixture.ts} +2 -2
- package/src/workflows/{text.ts → shared/text.ts} +48 -7
- package/src/workflows/{threads.test.ts → shared/threads.test.ts} +1 -1
- package/src/workflows/shared/workflows.steps.ts +7 -0
- package/src/workflows/review.ts +0 -362
- /package/src/workflows/{prose.ts → shared/prose.ts} +0 -0
- /package/src/workflows/{text.test.ts → shared/text.test.ts} +0 -0
- /package/src/workflows/{vars.ts → shared/vars.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,28 +1,79 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pmelab/gtd",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "24.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Git-aware CLI that emits the next prompt for an autonomous coding agent based on the current repository state",
|
|
6
6
|
"bin": {
|
|
7
7
|
"gtd": "dist/gtd.bundle.mjs"
|
|
8
8
|
},
|
|
9
9
|
"exports": {
|
|
10
|
-
"./flows":
|
|
10
|
+
"./flows": {
|
|
11
|
+
"types": "./src/flows/index.ts",
|
|
12
|
+
"source": "./src/flows/index.ts",
|
|
13
|
+
"default": "./dist/flows.mjs"
|
|
14
|
+
},
|
|
15
|
+
"./wire": {
|
|
16
|
+
"types": "./src/wire/index.ts",
|
|
17
|
+
"source": "./src/wire/index.ts",
|
|
18
|
+
"default": "./dist/wire.mjs"
|
|
19
|
+
},
|
|
20
|
+
"./steering": {
|
|
21
|
+
"types": "./src/steering/index.ts",
|
|
22
|
+
"source": "./src/steering/index.ts",
|
|
23
|
+
"default": "./dist/steering.mjs"
|
|
24
|
+
},
|
|
25
|
+
"./workflow-kit": {
|
|
26
|
+
"types": "./src/workflow-kit/index.ts",
|
|
27
|
+
"source": "./src/workflow-kit/index.ts",
|
|
28
|
+
"default": "./dist/workflow-kit.mjs"
|
|
29
|
+
},
|
|
11
30
|
"./workflows": {
|
|
12
31
|
"types": "./src/workflows/index.ts",
|
|
13
32
|
"source": "./src/workflows/index.ts",
|
|
14
33
|
"default": "./dist/workflows.mjs"
|
|
15
34
|
},
|
|
35
|
+
"./workflows/feature": {
|
|
36
|
+
"types": "./src/workflows/feature/index.ts",
|
|
37
|
+
"source": "./src/workflows/feature/index.ts",
|
|
38
|
+
"default": "./dist/workflows/feature.mjs"
|
|
39
|
+
},
|
|
40
|
+
"./workflows/review": {
|
|
41
|
+
"types": "./src/workflows/review/index.ts",
|
|
42
|
+
"source": "./src/workflows/review/index.ts",
|
|
43
|
+
"default": "./dist/workflows/review.mjs"
|
|
44
|
+
},
|
|
45
|
+
"./workflows/fix": {
|
|
46
|
+
"types": "./src/workflows/fix/index.ts",
|
|
47
|
+
"source": "./src/workflows/fix/index.ts",
|
|
48
|
+
"default": "./dist/workflows/fix.mjs"
|
|
49
|
+
},
|
|
16
50
|
"./workflow": {
|
|
17
51
|
"types": "./src/workflows/index.ts",
|
|
18
52
|
"source": "./src/workflows/index.ts",
|
|
19
53
|
"default": "./dist/workflows.mjs"
|
|
54
|
+
},
|
|
55
|
+
"./testkit": {
|
|
56
|
+
"types": "./src/testkit/index.ts",
|
|
57
|
+
"source": "./src/testkit/index.ts",
|
|
58
|
+
"default": "./dist/testkit.mjs"
|
|
20
59
|
}
|
|
21
60
|
},
|
|
22
61
|
"files": [
|
|
23
62
|
"dist/",
|
|
24
63
|
"src/flows/",
|
|
25
64
|
"src/workflows/",
|
|
65
|
+
"src/workflow-kit/",
|
|
66
|
+
"src/wire/",
|
|
67
|
+
"src/steering/",
|
|
68
|
+
"src/testkit/",
|
|
69
|
+
"src/cli/",
|
|
70
|
+
"src/edge/",
|
|
71
|
+
"src/emit/",
|
|
72
|
+
"src/install/",
|
|
73
|
+
"src/platform/",
|
|
74
|
+
"src/replay/",
|
|
75
|
+
"src/step/",
|
|
76
|
+
"src/workflow/",
|
|
26
77
|
"README.md",
|
|
27
78
|
"LICENSE",
|
|
28
79
|
".claude-plugin/plugin.json",
|
|
@@ -50,20 +101,21 @@
|
|
|
50
101
|
"scripts": {
|
|
51
102
|
"prepare": "husky",
|
|
52
103
|
"dev": "node dev/run.mjs",
|
|
53
|
-
"build": "tsdown --filter web && npx @tailwindcss/cli -i src/web/styles.css -o dist/web/main.css --minify && node scripts/inline-web-client.mjs && tsdown --filter gtd && tsdown --filter workflows",
|
|
104
|
+
"build": "tsdown --filter web && npx @tailwindcss/cli -i src/web/styles.css -o dist/web/main.css --minify && node scripts/inline-web-client.mjs && tsdown --filter gtd && tsdown --filter workflows && tsdown --filter entrypoints",
|
|
54
105
|
"postbuild": "node scripts/assert-no-test-doubles.mjs",
|
|
55
106
|
"watch": "tsdown --watch",
|
|
56
107
|
"bench:replay": "node scripts/bench-replay.mjs",
|
|
57
|
-
"test": "turbo run format:check typecheck lint lint:sh lint:boundaries test:unit test:e2e:inmem test:e2e:live test:web analyze",
|
|
58
|
-
"test:fast": "turbo run format:check typecheck lint lint:sh lint:boundaries test:unit test:web analyze",
|
|
108
|
+
"test": "turbo run format:check typecheck lint lint:sh lint:boundaries test:unit test:workflows test:e2e:inmem test:e2e:live test:web analyze",
|
|
109
|
+
"test:fast": "turbo run format:check typecheck lint lint:sh lint:boundaries test:unit test:workflows test:web analyze",
|
|
59
110
|
"test:unit": "vitest run --project unit",
|
|
111
|
+
"test:workflows": "vitest run --project workflows",
|
|
60
112
|
"test:watch": "vitest",
|
|
61
|
-
"test:changed": "vitest run --project unit --project e2e-inmem --changed HEAD",
|
|
113
|
+
"test:changed": "vitest run --project unit --project e2e-inmem --project workflows --changed HEAD",
|
|
62
114
|
"test:e2e": "npm run test:e2e:inmem && npm run test:e2e:live",
|
|
63
115
|
"typecheck": "tsc --noEmit && tsc --noEmit -p src/web/tsconfig.json",
|
|
64
116
|
"lint": "oxlint .",
|
|
65
117
|
"lint:sh": "jiti scripts/generate-shell-corpus.ts --check && shellcheck -s sh tests/shell/corpus/*.sh",
|
|
66
|
-
"lint:boundaries": "
|
|
118
|
+
"lint:boundaries": "depcruise src tests claude",
|
|
67
119
|
"format": "oxfmt --write .",
|
|
68
120
|
"format:check": "oxfmt --check .",
|
|
69
121
|
"test:mutation": "stryker run",
|
|
@@ -129,7 +181,17 @@
|
|
|
129
181
|
"zustand": "^5.0.15"
|
|
130
182
|
},
|
|
131
183
|
"peerDependencies": {
|
|
132
|
-
"
|
|
184
|
+
"quickpickle": ">=1.11.2",
|
|
185
|
+
"typescript": "^5",
|
|
186
|
+
"vitest": ">=3.2.0"
|
|
187
|
+
},
|
|
188
|
+
"peerDependenciesMeta": {
|
|
189
|
+
"quickpickle": {
|
|
190
|
+
"optional": true
|
|
191
|
+
},
|
|
192
|
+
"vitest": {
|
|
193
|
+
"optional": true
|
|
194
|
+
}
|
|
133
195
|
},
|
|
134
196
|
"dependencies": {
|
|
135
197
|
"@effect/platform": "^0.94.2",
|
|
@@ -145,10 +145,11 @@ the pending landing — call it right after the step whose turn you reject.
|
|
|
145
145
|
process waits (the bundled one is `human("idle", …)`).
|
|
146
146
|
- `gtd --workflow <name>` starts a process on the exported workflow `<name>` (an
|
|
147
147
|
unknown name is a usage error); `gtd door <name> [args]` starts one through a
|
|
148
|
-
`doors` entry `{ workflow, args?, vars? }` (`gtd doors` lists them
|
|
149
|
-
`
|
|
150
|
-
`
|
|
151
|
-
|
|
148
|
+
`doors` entry `{ workflow, args?, vars? }` (`gtd doors` lists them). A
|
|
149
|
+
factory's build may return `doors` without `workflow`; exporting the bundled
|
|
150
|
+
`fix` and `review` brings `fix` and `review [base]`, and yours merge over
|
|
151
|
+
them. An `export const base = (workflow, vars) => commitish | undefined` fixes
|
|
152
|
+
a started process's diff base (blank = default-branch merge-base).
|
|
152
153
|
`--var <name>=<value>` only pins process settings: names the workflow's
|
|
153
154
|
`defaults` declare — never an environment setting.
|
|
154
155
|
|