@pmelab/gtd 20.4.0 → 21.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 +21 -16
- package/claude/hooks/drive.ts +3 -1
- package/claude/hooks/judge.ts +18 -4
- package/claude/hooks/register.tsx +10 -7
- package/dist/gtd.bundle.mjs +247 -2150
- package/dist/web/main.css +2 -0
- package/dist/web/main.js +35086 -0
- package/dist/workflows.mjs +18155 -0
- package/package.json +12 -3
- package/schema.json +3 -3
- package/skills/authoring/SKILL.md +6 -6
- package/src/workflows/access.test.ts +1 -1
- package/src/workflows/index.ts +4 -1
- package/src/workflows/review.test.ts +1 -1
- package/src/workflows/skills.test.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pmelab/gtd",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "21.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": {
|
|
@@ -8,7 +8,16 @@
|
|
|
8
8
|
},
|
|
9
9
|
"exports": {
|
|
10
10
|
"./flows": "./src/flows/index.ts",
|
|
11
|
-
"./
|
|
11
|
+
"./workflows": {
|
|
12
|
+
"types": "./src/workflows/index.ts",
|
|
13
|
+
"source": "./src/workflows/index.ts",
|
|
14
|
+
"default": "./dist/workflows.mjs"
|
|
15
|
+
},
|
|
16
|
+
"./workflow": {
|
|
17
|
+
"types": "./src/workflows/index.ts",
|
|
18
|
+
"source": "./src/workflows/index.ts",
|
|
19
|
+
"default": "./dist/workflows.mjs"
|
|
20
|
+
}
|
|
12
21
|
},
|
|
13
22
|
"files": [
|
|
14
23
|
"dist/",
|
|
@@ -42,7 +51,7 @@
|
|
|
42
51
|
"scripts": {
|
|
43
52
|
"prepare": "husky",
|
|
44
53
|
"dev": "node dev/run.mjs",
|
|
45
|
-
"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",
|
|
54
|
+
"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",
|
|
46
55
|
"postbuild": "jiti scripts/generate-schema.ts && node scripts/assert-no-test-doubles.mjs",
|
|
47
56
|
"watch": "tsdown --watch",
|
|
48
57
|
"bench:replay": "node scripts/bench-replay.mjs",
|
package/schema.json
CHANGED
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
"jev",
|
|
37
37
|
"llm"
|
|
38
38
|
],
|
|
39
|
-
"description": "Judge provider `gtd judge run` uses when no --provider flag and no
|
|
39
|
+
"description": "Judge provider `gtd judge run` uses when no --provider flag, no GTD_JUDGE_PROVIDER and no user-level judge.json says. Absent means auto: jev when TYPESAFE_API_KEY is set, otherwise llm."
|
|
40
40
|
},
|
|
41
41
|
"model": {
|
|
42
42
|
"type": "string",
|
|
43
|
-
"description": "Model for provider llm, used when no --model flag and no
|
|
43
|
+
"description": "Model for provider llm, used when no --model flag, no GTD_JUDGE_MODEL and no user-level judge.json says. Pairing it with another provider is an error."
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
"additionalProperties": false,
|
|
47
|
-
"description": "Which judge `gtd judge run` uses, when no flag
|
|
47
|
+
"description": "Which judge `gtd judge run` uses, when no flag, GTD_JUDGE_* variable or user-level judge.json says."
|
|
48
48
|
},
|
|
49
49
|
"modes": {
|
|
50
50
|
"type": "object",
|
|
@@ -29,12 +29,12 @@ what a driver does.
|
|
|
29
29
|
state (`gtd next`, `gtd lsp`, `gtd door` and `gtd doors` included). It is code
|
|
30
30
|
the user's repository runs; write it with the same care as a build script.
|
|
31
31
|
|
|
32
|
-
## Golden rule: start from the
|
|
32
|
+
## Golden rule: start from the shipped workflows, edit incrementally
|
|
33
33
|
|
|
34
34
|
Do **not** write a workflow from a blank page unless the user wants something
|
|
35
|
-
tiny. gtd ships three
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
tiny. gtd ships three workflows (`feature`, `review`, `fix`) as named exports of
|
|
36
|
+
`@pmelab/gtd/workflows`; `gtd install` scaffolds a `gtd.config.ts` re-exporting
|
|
37
|
+
them. Its default export is `feature` (the ordinary start), and every phase and
|
|
38
38
|
single step they are built from is a named export too. Start by importing what
|
|
39
39
|
you keep and writing only what changes. Import phases by name; **never
|
|
40
40
|
`export *` from it** — every exported function of your file would become a
|
|
@@ -42,7 +42,7 @@ startable workflow:
|
|
|
42
42
|
|
|
43
43
|
```ts
|
|
44
44
|
import { start } from "@pmelab/gtd/flows"
|
|
45
|
-
import { afterTail, buildTail, feature } from "@pmelab/gtd/
|
|
45
|
+
import { afterTail, buildTail, feature } from "@pmelab/gtd/workflows"
|
|
46
46
|
|
|
47
47
|
export {
|
|
48
48
|
defaults,
|
|
@@ -51,7 +51,7 @@ export {
|
|
|
51
51
|
base,
|
|
52
52
|
steering,
|
|
53
53
|
skills,
|
|
54
|
-
} from "@pmelab/gtd/
|
|
54
|
+
} from "@pmelab/gtd/workflows"
|
|
55
55
|
|
|
56
56
|
export default feature
|
|
57
57
|
|
package/src/workflows/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { afterEach, describe, expect, it } from "vitest"
|
|
2
2
|
import { installContext, type Change, type JudgeAnswer, type StepRequest } from "../flows/index.js"
|
|
3
3
|
import { fixQualityFindings, review, type ReviewOutcome } from "./review.js"
|
|
4
|
-
import
|
|
4
|
+
import * as bundled from "./index.js"
|
|
5
5
|
import { fixtureContext } from "./text.fixture.js"
|
|
6
6
|
|
|
7
7
|
afterEach(() => installContext(undefined))
|