@turri-dev/cli 0.1.2-next.48dacfc → 0.1.3-next.04c4f71
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 +1 -1
- package/dist/chat-skills.js +1 -1
- package/dist/cli-options.js +82 -0
- package/dist/config.js +23 -1
- package/dist/conform-cli.js +13 -5
- package/dist/environment.js +19 -0
- package/dist/extension.js +131 -50
- package/dist/identity.js +1 -1
- package/dist/init-config.js +3 -3
- package/dist/loop-cli.js +156 -28
- package/dist/loop-tools.js +1 -1
- package/dist/pi-launch.js +13 -4
- package/dist/pi.js +14 -2
- package/dist/picture-row.js +21 -0
- package/dist/plain/errors.js +1 -1
- package/dist/plain/files.js +1 -1
- package/dist/plain/liquid.js +2 -2
- package/dist/regenerate/activity.js +19 -0
- package/dist/regenerate/confine.js +1 -0
- package/dist/regenerate/environment-error.js +46 -9
- package/dist/regenerate/loop.js +56 -2
- package/dist/regenerate/panel-dock.js +86 -0
- package/dist/regenerate/prompt.js +1 -1
- package/dist/regenerate/release.js +8 -6
- package/dist/regenerate/side-panel.js +14 -4
- package/dist/regenerate/test-scripts.js +23 -8
- package/dist/regenerate-cli.js +24 -29
- package/dist/run-report.js +289 -0
- package/dist/setup.js +35 -16
- package/dist/spec-diff-cli.js +17 -6
- package/docs/config.md +22 -11
- package/docs/development.md +7 -0
- package/docs/headless.md +170 -16
- package/docs/installation.md +1 -1
- package/docs/parser.md +1 -1
- package/docs/regenerating.md +19 -7
- package/docs/using.md +16 -5
- package/genome/skills/implement-conformance-testing-script/SKILL.md +1 -1
- package/package.json +1 -1
package/docs/using.md
CHANGED
|
@@ -13,8 +13,10 @@ banner - the jellyfish it is named after, swimming until the conversation fills
|
|
|
13
13
|
terminal that shows images (Kitty, Ghostty, WezTerm, Warp, iTerm2), and drawn in text in any other, tmux
|
|
14
14
|
included - swimming a stroke a loop, its tentacles following its bell, frames `scripts/jellyfish-frames.mjs`
|
|
15
15
|
writes -
|
|
16
|
-
|
|
17
|
-
and resource list; `turri --verbose` shows
|
|
16
|
+
turri's version (and, run from a clone, the commit it is on, and whether the clone has changes), where commands
|
|
17
|
+
will run, the rules and skills loaded - rather than pi's startup header and resource list; `turri --verbose` shows
|
|
18
|
+
those too. pi's "Update Available" notice is left out - turri's pi is a pinned dependency `pi update` never
|
|
19
|
+
touches - and the terminal's tab reads `🪼 turri - <folder>`, not pi's `π`. Talk to it: ask it to start a
|
|
18
20
|
project, add a feature, render a module, fix a spec. It decides which skill or tool applies - but
|
|
19
21
|
not *how* a skill runs: `cultivate` hands the work to the gated runner, which owns the steps, the
|
|
20
22
|
gates and the judges (see [skills and gates](skills-and-gates.md)).
|
|
@@ -125,10 +127,13 @@ come waits for a free slot, and says so.
|
|
|
125
127
|
as GitHub names a hunk's function: each section is named once.
|
|
126
128
|
- **The side panel** (`ctrl+h`, as it was left - but on the pulse that last failed, stopped or did not pass, when one has
|
|
127
129
|
since it was last opened: the live panel that showed it is gone with the last pulse, and its announcement in the chat
|
|
128
|
-
says `ctrl+h shows this pulse`; **`/
|
|
130
|
+
says `ctrl+h shows this pulse`; **`/pulses`** on the pulses; not `ctrl+j`, which a terminal without the Kitty
|
|
129
131
|
keyboard protocol sends as a line feed, the same as `shift+enter`, and which a dialog takes for
|
|
130
132
|
`enter`; both stay pi's new-line keys. `ctrl+h` is the byte old terminals sent for backspace; a
|
|
131
|
-
terminal set to send `^H` for its Backspace key would open the panel on it) takes the whole screen - the panel or the chat, one at a time
|
|
133
|
+
terminal set to send `^H` for its Backspace key would open the panel on it) takes the whole screen - the panel or the chat, one at a time -
|
|
134
|
+
or, `s`, sits beside the chat: the chat on the left, the panel in the right half of the screen, and `s` again
|
|
135
|
+
over the whole screen. It opens as it was last left, for the conversation; a terminal under 100 columns has
|
|
136
|
+
no room for both and shows the panel over the whole screen.
|
|
132
137
|
It opens on **regen**: the spec itself, in full, with how much of it the code has been regenerated from drawn
|
|
133
138
|
onto it.
|
|
134
139
|
|
|
@@ -212,7 +217,13 @@ come waits for a free slot, and says so.
|
|
|
212
217
|
closes when it moves to another section. What is open is kept while the panel is closed. What the agents
|
|
213
218
|
said and did is not shown - it is in each pulse's log (see [Agent logs](#agent-logs)).
|
|
214
219
|
|
|
215
|
-
`ctrl+h` again, or `esc`, closes it and goes back to the chat.
|
|
220
|
+
`ctrl+h` again, or `esc`, closes it and goes back to the chat. Beside the chat, a click decides which side has
|
|
221
|
+
the keys - the chat or the panel, the one clicked, or the one `⌥⌘←` / `⌥⌘→` points at (on a
|
|
222
|
+
terminal that passes ⌘ on, over the Kitty keyboard protocol - Ghostty, kitty, WezTerm, iTerm2; not Apple's Terminal);
|
|
223
|
+
the other is drawn faint - and `esc` gives the chat the keys too, the panel staying and
|
|
224
|
+
following the pulses; `ctrl+h` gives the panel the keys again, and from the panel closes it. (pi's regular screen,
|
|
225
|
+
`--tui-mode regular`, reads no mouse: there it is the keys alone.)
|
|
226
|
+
While the panel has the keys, every key is the panel's,
|
|
216
227
|
whatever else happens: a question the chat model asks in the background (`ask_user`) waits in the chat,
|
|
217
228
|
unanswered - an `enter` in the panel never answers it - and the panel's top line says "the chat is waiting
|
|
218
229
|
for your answer". Back in the chat, the question is there, with the keys.
|
|
@@ -36,7 +36,7 @@ bash run_conformance_tests_<lang>.sh <build_folder> <conformance_tests_folder>
|
|
|
36
36
|
|
|
37
37
|
Both arguments are absolute paths: `<build_folder>` is the module's generated code (`plain_modules/<module>/code`), and `<conformance_tests_folder>` is the folder holding the whole suite. The harness runs the script on the person's machine - macOS, Linux or WSL, with its toolchains, in the person's own environment - and its exit code alone decides whether the conformance tests pass.
|
|
38
38
|
|
|
39
|
-
Every conformance script is self-contained: toolchain check, argument validation, stage the build into `<temp>/<lang>_<basename of $1>`, install dependencies there in isolation, check the tests in `$2` statically, run the suite in `$2` against it, clean up on exit. Nothing is prepared ahead of time by another script - unless the project already has a `prepare_environment*.sh` (
|
|
39
|
+
Every conformance script is self-contained: toolchain check, argument validation, stage the build into `<temp>/<lang>_<basename of $1>`, install dependencies there in isolation, check the tests in `$2` statically, run the suite in `$2` against it, clean up on exit. Nothing is prepared ahead of time by another script - unless the project already has a `prepare_environment*.sh` (a prepare script the project brought, or one `prepare-environment-script:` names): turri runs it on the same build before every run of the conformance script, so keep it, and let the conformance script rely on what it sets up rather than doing it again. Never write a prepare script yourself.
|
|
40
40
|
|
|
41
41
|
## How conformance scripts differ from unit-test scripts
|
|
42
42
|
|