@pmelab/gtd 9.10.3 → 9.12.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/README.md +47 -1600
- package/dist/gtd.bundle.mjs +1253 -3206
- package/package.json +1 -1
- package/schema.json +15 -15
package/package.json
CHANGED
package/schema.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"properties": {
|
|
6
6
|
"workflow": {
|
|
7
7
|
"type": "object",
|
|
8
|
-
"description": "The whole machine definition: a tree of named machines rooted at entry.default (plus the workflow's own vars: defaults
|
|
8
|
+
"description": "The whole machine definition: a tree of named machines rooted at entry.default (plus the workflow's own vars: defaults, modes: steering-file modes, and summary: template). Compiled and validated by gtd at load time; content strings starting with ./ or ../ are file references inlined from the config file's directory (a modes: command never is — it is a shell command).",
|
|
9
9
|
"additionalProperties": false,
|
|
10
10
|
"required": [
|
|
11
11
|
"entry",
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
|
+
"summary": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Eta template rendered by `gtd summary`: instructions plus commit hashes (it.entryCommit, it.humanCommits, it.processBase, it.processTip) for an agent to write the process's own closing message. A ./ or ../ value is inlined from the config file's directory at load time. Absent is legal (gtd summary refuses); present-but-blank is a load error."
|
|
49
|
+
},
|
|
46
50
|
"entry": {
|
|
47
51
|
"type": "object",
|
|
48
52
|
"description": "The workflow's root machine, resolved through the same resolver an `on`/`retry.otherwise` target uses (see src/Machines.ts) — accepts either a bare state path or an instance/reference-key path. Extra manual entry points are declared per-state instead, via a state's own `entry: true` (see `stateJsonSchema`'s `entry` property) — not here.",
|
|
@@ -97,12 +101,12 @@
|
|
|
97
101
|
"oneOf": [
|
|
98
102
|
{
|
|
99
103
|
"type": "object",
|
|
100
|
-
"description": "One workflow state. Declare exactly one content kind (script/prompt/message
|
|
104
|
+
"description": "One workflow state. Declare exactly one content kind (script/prompt/message).",
|
|
101
105
|
"additionalProperties": false,
|
|
102
106
|
"properties": {
|
|
103
107
|
"actor": {
|
|
104
108
|
"type": "string",
|
|
105
|
-
"description": "Who acts at this state. Required on every
|
|
109
|
+
"description": "Who acts at this state. Required on every state."
|
|
106
110
|
},
|
|
107
111
|
"script": {
|
|
108
112
|
"type": "string",
|
|
@@ -116,10 +120,6 @@
|
|
|
116
120
|
"type": "string",
|
|
117
121
|
"description": "Content kind: a human-facing message (Eta template), emitted by `gtd next`."
|
|
118
122
|
},
|
|
119
|
-
"commit": {
|
|
120
|
-
"type": "string",
|
|
121
|
-
"description": "Content kind: entering this state ends the process by squashing it into one commit with this message (Eta template). Final — no actor, no on."
|
|
122
|
-
},
|
|
123
123
|
"on": {
|
|
124
124
|
"type": "object",
|
|
125
125
|
"description": "Ordered map of change pattern -> target state. Patterns: \"C\" (clean tree) or \"<A|M|D|*> <glob>\" over the pending diff; first declared match wins. Every target must name a defined state, and every non-initial state must be reachable through these edges (or a retry.otherwise). A value is either the target state name (string) or a { to, describe, action } object whose describe/action are human-readable strings templates can surface as it.edges (e.g. in a human gate's message).",
|
|
@@ -175,19 +175,19 @@
|
|
|
175
175
|
},
|
|
176
176
|
"label": {
|
|
177
177
|
"type": "string",
|
|
178
|
-
"description": "Opaque display name passed through `gtd next --json`/`gtd status --json` so a driver/viewer can show something nicer than the raw state name (e.g. \"Running checks\"). Never interpreted by gtd.
|
|
178
|
+
"description": "Opaque display name passed through `gtd next --json`/`gtd status --json` so a driver/viewer can show something nicer than the raw state name (e.g. \"Running checks\"). Never interpreted by gtd."
|
|
179
179
|
},
|
|
180
180
|
"file": {
|
|
181
181
|
"type": "string",
|
|
182
|
-
"description": "The state's steering file: an Eta template naming the file a human/editor should look at while the machine rests here, RELATIVE to \".gtd/\" — the compiler prepends that directory automatically. A \"..\" segment, an absolute path, or an already-prefixed \".gtd/\" are rejected, not rewritten.
|
|
182
|
+
"description": "The state's steering file: an Eta template naming the file a human/editor should look at while the machine rests here, RELATIVE to \".gtd/\" — the compiler prepends that directory automatically. A \"..\" segment, an absolute path, or an already-prefixed \".gtd/\" are rejected, not rewritten."
|
|
183
183
|
},
|
|
184
184
|
"mode": {
|
|
185
185
|
"type": "string",
|
|
186
|
-
"description": "The steering file's format: the name of a built-in mode (qa/review, validated in-process by gtd) or of a `modes:` entry. gtd formats and validates the file with that mode before capturing a turn out of this state, and the LSP dispatches live diagnostics on the built-in names. Requires a sibling `file:`.
|
|
186
|
+
"description": "The steering file's format: the name of a built-in mode (qa/review, validated in-process by gtd) or of a `modes:` entry. gtd formats and validates the file with that mode before capturing a turn out of this state, and the LSP dispatches live diagnostics on the built-in names. Requires a sibling `file:`."
|
|
187
187
|
},
|
|
188
188
|
"reviewWindow": {
|
|
189
189
|
"type": "boolean",
|
|
190
|
-
"description": "When true, gtd opens a review checkout window while the machine rests here — HEAD/index are rewound to the review base so the whole base..HEAD diff surfaces as uncommitted changes in the editor.
|
|
190
|
+
"description": "When true, gtd opens a review checkout window while the machine rests here — HEAD/index are rewound to the review base so the whole base..HEAD diff surfaces as uncommitted changes in the editor."
|
|
191
191
|
},
|
|
192
192
|
"reviewBase": {
|
|
193
193
|
"oneOf": [
|
|
@@ -198,19 +198,19 @@
|
|
|
198
198
|
"type": "string"
|
|
199
199
|
}
|
|
200
200
|
],
|
|
201
|
-
"description": "true marks the state whose most-recent in-process commit anchors the review window's diff base; absent any, the base is the process start. A string is a different shape: an Eta template rendering a commitish that becomes the WHOLE PROCESS's fixed diff base when this state is entered manually via `gtd --entry <state> --base <commitish>` (see the `entry` property below).
|
|
201
|
+
"description": "true marks the state whose most-recent in-process commit anchors the review window's diff base; absent any, the base is the process start. A string is a different shape: an Eta template rendering a commitish that becomes the WHOLE PROCESS's fixed diff base when this state is entered manually via `gtd --entry <state> --base <commitish>` (see the `entry` property below)."
|
|
202
202
|
},
|
|
203
203
|
"requireProgress": {
|
|
204
204
|
"type": "boolean",
|
|
205
|
-
"description": "When true, a step at this state is refused if its only pending change is deleting the state's own `file:` — a work-free turn that discards its input without addressing it. A `NOTHING ACTIONABLE` sentinel file is exempt (a legitimately non-actionable round makes no code change). Requires a `file:`.
|
|
205
|
+
"description": "When true, a step at this state is refused if its only pending change is deleting the state's own `file:` — a work-free turn that discards its input without addressing it. A `NOTHING ACTIONABLE` sentinel file is exempt (a legitimately non-actionable round makes no code change). Requires a `file:`."
|
|
206
206
|
},
|
|
207
207
|
"answerGate": {
|
|
208
208
|
"type": "boolean",
|
|
209
|
-
"description": "When true, a step at this state is refused unless every open question in its qa-mode `file:` is answered — exactly one checkbox ticked per question. Requires a `file:` and `mode: qa`.
|
|
209
|
+
"description": "When true, a step at this state is refused unless every open question in its qa-mode `file:` is answered — exactly one checkbox ticked per question. Requires a `file:` and `mode: qa`."
|
|
210
210
|
},
|
|
211
211
|
"requireRevert": {
|
|
212
212
|
"type": "boolean",
|
|
213
|
-
"description": "When true, a step at this state is refused unless the paths the human's own review-round commit touched have actually been reverted out of the working tree — re-established from the tree itself, never from the script's own exit code. Requires a `file:`.
|
|
213
|
+
"description": "When true, a step at this state is refused unless the paths the human's own review-round commit touched have actually been reverted out of the working tree — re-established from the tree itself, never from the script's own exit code. Requires a `file:`."
|
|
214
214
|
},
|
|
215
215
|
"entry": {
|
|
216
216
|
"const": true,
|