@pmelab/gtd 60.0.0 → 61.0.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 -2
- package/dist/chunks/testkit-C9sq0x07.mjs +30758 -0
- package/dist/chunks/{wire-DZ8R1RU9.mjs → wire-CPNSm_9N.mjs} +27 -12
- package/dist/gtd.bundle.mjs +12238 -20706
- package/dist/gtd.core.mjs +593 -0
- package/dist/testkit/gherkin.mjs +2 -2
- package/dist/testkit.mjs +1 -1
- package/dist/wire.mjs +2 -2
- package/package.json +7 -7
- package/src/cli/Cli.test.ts +2 -2
- package/src/cli/Cli.ts +68 -51
- package/src/cli/History.test.ts +10 -1
- package/src/cli/Metrics.test.ts +10 -1
- package/src/cli/Output.test.ts +1 -1
- package/src/cli/Output.ts +3 -2
- package/src/cli/Program.test.ts +44 -25
- package/src/cli/Program.ts +39 -11
- package/src/cli/Strays.ts +3 -2
- package/src/cli/ToolCommands.ts +2 -2
- package/src/edge/Edge.test.ts +86 -31
- package/src/edge/Edge.ts +164 -31
- package/src/emit/GitScript.ts +21 -3
- package/src/emit/index.ts +3 -0
- package/src/flows/runtime.ts +1 -1
- package/src/gherkin/messages.test.ts +1 -0
- package/src/gherkin/module-config.feature +1 -0
- package/src/gherkin/more-steps.feature +1 -0
- package/src/gherkin/testkit.feature +2 -1
- package/src/install/Install.ts +9 -2
- package/src/install/Version.ts +9 -3
- package/src/install/index.ts +1 -1
- package/src/platform/CommandRunner.ts +13 -11
- package/src/platform/Commentary.ts +2 -2
- package/src/platform/Git.test.ts +4 -5
- package/src/platform/Git.ts +42 -38
- package/src/platform/Host.ts +1 -1
- package/src/platform/NodeServices.ts +11 -0
- package/src/platform/Workspace.test.ts +4 -5
- package/src/platform/Workspace.ts +3 -3
- package/src/platform/WorktreeState.test.ts +2 -3
- package/src/platform/WorktreeState.ts +1 -1
- package/src/platform/index.ts +2 -1
- package/src/replay/Format.test.ts +35 -8
- package/src/replay/Format.ts +7 -4
- package/src/replay/Replay.test.ts +54 -0
- package/src/replay/Replay.ts +61 -17
- package/src/replay/Trailers.test.ts +12 -12
- package/src/replay/Trailers.ts +35 -20
- package/src/replay/Tree.ts +11 -0
- package/src/replay/index.ts +3 -0
- package/src/step/LandStep.ts +1 -0
- package/src/step/RepoSnapshot.ts +2 -0
- package/src/step/planStart.test.ts +2 -2
- package/src/step/planStart.ts +3 -3
- package/src/step/planStep.test.ts +4 -4
- package/src/step/planStep.ts +10 -8
- package/src/testkit/TestRepo.test.ts +4 -1
- package/src/testkit/TestRepo.ts +3 -1
- package/src/twins/EmittedScriptRecognizer.ts +32 -1
- package/src/twins/EmittedScripts.test.ts +1 -1
- package/src/twins/GitTiers.ts +29 -7
- package/src/twins/InMemRepo.ts +14 -0
- package/src/twins/Layers.test.ts +1 -1
- package/src/twins/Layers.ts +10 -3
- package/src/twins/PinBeats.ts +33 -0
- package/src/twins/cliIo.ts +9 -4
- package/src/twins/index.ts +1 -0
- package/src/wire/BeatDocument.ts +26 -5
- package/src/wire/Demand.ts +16 -6
- package/src/wire/constants.ts +3 -0
- package/src/wire/types.ts +4 -0
- package/src/workflow/discovery.test.ts +24 -7
- package/src/workflow/discovery.ts +5 -6
- package/src/workflow/index.ts +1 -0
- package/src/workflow/load.test.ts +60 -3
- package/src/workflow/load.ts +316 -166
- package/src/workflow/pin.test.ts +159 -0
- package/src/workflow/pin.ts +72 -0
- package/src/workflow/vars.ts +3 -3
- package/dist/chunks/testkit-BvecVjQ0.mjs +0 -32355
package/README.md
CHANGED
|
@@ -15,6 +15,8 @@ to any machine that checks it out.
|
|
|
15
15
|
|
|
16
16
|
## Install
|
|
17
17
|
|
|
18
|
+
gtd needs Node 22.19 or newer.
|
|
19
|
+
|
|
18
20
|
```bash
|
|
19
21
|
npm install -g @pmelab/gtd
|
|
20
22
|
```
|
|
@@ -23,6 +25,11 @@ That installs `latest`, which moves once a day to the newest release. Every
|
|
|
23
25
|
merge to `main` publishes to `next` first: `npm install -g @pmelab/gtd@next`
|
|
24
26
|
gets each one as it lands.
|
|
25
27
|
|
|
28
|
+
gtd bundles `gtd.config.ts` with [rolldown](https://rolldown.rs), whose native
|
|
29
|
+
binary npm installs for your platform. Where rolldown ships none, install its
|
|
30
|
+
WebAssembly build next to gtd:
|
|
31
|
+
`npm install -g --force @rolldown/binding-wasm32-wasi`.
|
|
32
|
+
|
|
26
33
|
Or run without installing (prefix every `gtd` below with `npx`) — see
|
|
27
34
|
[Configuration](https://github.com/pmelab/gtd/blob/main/docs/configuration.md)
|
|
28
35
|
for the settings most projects tune. A process setting's value is committed to
|
|
@@ -617,13 +624,25 @@ install for any of these but the testkit's: gtd resolves a `gtd.config.ts`'s
|
|
|
617
624
|
`@pmelab/gtd/*` imports to its own copy.
|
|
618
625
|
|
|
619
626
|
The `gtd` bin's commands — `next`, `land`, `start`, `abandon`, `restore`,
|
|
620
|
-
`validate`, `check`, `uncheck`, `guide`, `summary`, `base`, `version`,
|
|
621
|
-
`history list`, `history show`, `history metrics`, `history judges`,
|
|
627
|
+
`validate`, `check`, `uncheck`, `guide`, `bundle`, `summary`, `base`, `version`,
|
|
628
|
+
`help`, `history list`, `history show`, `history metrics`, `history judges`,
|
|
622
629
|
`history fetch`, `strays`, the tools `ui`, `lsp`, `judge` (`judge answer`,
|
|
623
630
|
`judge run`) — are listed in the
|
|
624
631
|
[CLI reference](https://github.com/pmelab/gtd/blob/main/docs/cli.md). Every
|
|
625
632
|
command that prints a script takes `--json=script`, and `--` ends the options.
|
|
626
633
|
|
|
634
|
+
`gtd bundle` prints a pin: gtd's engine and the current workflow, npm packages
|
|
635
|
+
included, as one gzipped ES module after a plain-text
|
|
636
|
+
`gtdpin <format> gtd <version>` line. A workflow using a package with a native
|
|
637
|
+
addon cannot be pinned.
|
|
638
|
+
|
|
639
|
+
Every process commits its pin: its first beat after it starts is a pin beat
|
|
640
|
+
writing `gtd bundle`'s output to `.gtd/process.gtdpin`, and its last, once the
|
|
641
|
+
flow has ended, an unpin beat removing it — the commit that closes the process.
|
|
642
|
+
Both are ordinary `script` beats a driver runs unattended; see
|
|
643
|
+
[Pin and unpin beats](https://github.com/pmelab/gtd/blob/main/docs/driver.md#pin-and-unpin-beats).
|
|
644
|
+
Histories with pin commits are history format 2, which an older gtd refuses.
|
|
645
|
+
|
|
627
646
|
## License
|
|
628
647
|
|
|
629
648
|
MIT
|