@turri-dev/cli 0.1.4-next.318a98a → 0.1.4-next.5a8c6e5
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/.pi/themes/turri-dark.json +67 -66
- package/.pi/themes/turri-light.json +71 -73
- package/README.md +40 -128
- package/assets/jellyfish/dark-00.png +0 -0
- package/assets/jellyfish/dark-01.png +0 -0
- package/assets/jellyfish/dark-02.png +0 -0
- package/assets/jellyfish/dark-03.png +0 -0
- package/assets/jellyfish/dark-04.png +0 -0
- package/assets/jellyfish/dark-05.png +0 -0
- package/assets/jellyfish/dark-06.png +0 -0
- package/assets/jellyfish/dark-07.png +0 -0
- package/assets/jellyfish/dark-08.png +0 -0
- package/assets/jellyfish/dark-09.png +0 -0
- package/assets/jellyfish/dark-10.png +0 -0
- package/assets/jellyfish/dark-11.png +0 -0
- package/assets/jellyfish/light-00.png +0 -0
- package/assets/jellyfish/light-01.png +0 -0
- package/assets/jellyfish/light-02.png +0 -0
- package/assets/jellyfish/light-03.png +0 -0
- package/assets/jellyfish/light-04.png +0 -0
- package/assets/jellyfish/light-05.png +0 -0
- package/assets/jellyfish/light-06.png +0 -0
- package/assets/jellyfish/light-07.png +0 -0
- package/assets/jellyfish/light-08.png +0 -0
- package/assets/jellyfish/light-09.png +0 -0
- package/assets/jellyfish/light-10.png +0 -0
- package/assets/jellyfish/light-11.png +0 -0
- package/dist/ask.js +34 -15
- package/dist/brand.js +7 -7
- package/dist/cli-options.js +12 -6
- package/dist/config-edit.js +1 -0
- package/dist/config.js +5 -2
- package/dist/cultivate-cli.js +16 -23
- package/dist/extension.js +59 -67
- package/dist/init-config.js +5 -0
- package/dist/jellyfish.js +130 -0
- package/dist/loop-cli.js +19 -7
- package/dist/loop-tools.js +11 -5
- package/dist/module-report.js +5 -4
- package/dist/pi.js +76 -19
- package/dist/question-dialog.js +1 -0
- package/dist/regenerate/activity.js +21 -0
- package/dist/regenerate/list-arguments.js +121 -0
- package/dist/regenerate/loop.js +21 -8
- package/dist/regenerate/plain-palette.js +52 -37
- package/dist/regenerate/regenerate.js +4 -2
- package/dist/regenerate/self-check.js +13 -6
- package/dist/regenerate/side-panel.js +1 -1
- package/dist/regenerate/spec-map-view.js +9 -5
- package/dist/regenerate/test-scripts.js +54 -10
- package/dist/regenerate/unit-review.js +1 -1
- package/dist/regenerate-cli.js +11 -5
- package/dist/release-cli.js +3 -8
- package/dist/review/live.js +2 -1
- package/dist/run-report.js +39 -1
- package/dist/validate-cli.js +3 -8
- package/docs/README.md +5 -12
- package/docs/authoring-plain.md +37 -119
- package/docs/config.md +53 -178
- package/docs/deploy.md +21 -80
- package/docs/development.md +13 -41
- package/docs/headless.md +45 -121
- package/docs/images/how-turri-works.svg +29 -31
- package/docs/images/turri-banner.png +0 -0
- package/docs/installation.md +13 -40
- package/docs/parser.md +15 -43
- package/docs/regenerating.md +229 -938
- package/docs/sandbox.md +38 -152
- package/docs/skills-and-gates.md +50 -171
- package/docs/theming.md +45 -46
- package/docs/using.md +69 -345
- package/genome/rules/bullet-continuation.md +5 -13
- package/genome/rules/concise-specs-examples.md +2 -4
- package/genome/rules/concise-specs-integration-examples.md +2 -6
- package/genome/rules/concise-specs.md +1 -2
- package/genome/rules/func-specs.md +1 -0
- package/genome/rules/integration-embedded-testing.md +1 -4
- package/genome/rules/integrations.md +1 -2
- package/genome/rules/project-model.md +14 -35
- package/genome/rules/stdlib.md +14 -49
- package/genome/rules/turri-regeneration.md +48 -0
- package/genome/skills/add-implementation-requirement/SKILL.md +1 -2
- package/genome/skills/analyze-if-func-spec-too-complex/SKILL.md +3 -8
- package/genome/skills/brood/SKILL.md +37 -127
- package/genome/skills/brood/references/intent.md +4 -12
- package/genome/skills/brood/references/product.md +24 -76
- package/genome/skills/brood/references/stack.md +7 -29
- package/genome/skills/brood/references/testing.md +11 -42
- package/genome/skills/bud/SKILL.md +32 -109
- package/genome/skills/bud/references/intent.md +4 -11
- package/genome/skills/implement-conformance-testing-script/SKILL.md +3 -6
- package/genome/skills/implement-unit-testing-script/SKILL.md +1 -2
- package/genome/skills/mature/SKILL.md +21 -69
- package/genome/skills/refactor-module/SKILL.md +24 -2
- package/genome/skills/spawn/SKILL.md +28 -113
- package/package.json +1 -1
- package/assets/jellyfish/dark-12.png +0 -0
- package/assets/jellyfish/dark-13.png +0 -0
- package/assets/jellyfish/dark-14.png +0 -0
- package/assets/jellyfish/fallback.txt +0 -252
- package/assets/jellyfish/light-12.png +0 -0
- package/assets/jellyfish/light-13.png +0 -0
- package/assets/jellyfish/light-14.png +0 -0
package/docs/theming.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# Theming
|
|
2
2
|
|
|
3
|
-
Two brand themes ship in `.pi/themes/`, built from the brand tokens. `turri` starts in
|
|
4
|
-
`turri-dark`, the dark one; `--use-theme` picks another for that run:
|
|
3
|
+
Two brand themes ship in `.pi/themes/`, built from the brand tokens. `turri` starts in `turri-dark`, the dark one; `--use-theme` picks another for that run:
|
|
5
4
|
|
|
6
5
|
```bash
|
|
7
6
|
turri # turri-dark
|
|
@@ -9,68 +8,68 @@ turri --use-theme turri-light/turri-dark # follows terminal appearance
|
|
|
9
8
|
turri --use-theme dark # pi's own
|
|
10
9
|
```
|
|
11
10
|
|
|
12
|
-
The second form follows your terminal's light/dark appearance. The default is for
|
|
13
|
-
`turri` only: pi's settings are left alone, so a plain `pi` keeps its theme. With the
|
|
14
|
-
themes copied to `~/.pi/agent/themes/` (`cp .pi/themes/*.json ~/.pi/agent/themes/`), `{"theme": "turri-dark"}` in
|
|
15
|
-
`~/.pi/agent/settings.json` gives a plain `pi` the same one.
|
|
11
|
+
The second form follows your terminal's light/dark appearance. The default is for `turri` only: pi's settings are left alone, so a plain `pi` keeps its theme. With the themes copied to `~/.pi/agent/themes/` (`cp .pi/themes/*.json ~/.pi/agent/themes/`), `{"theme": "turri-dark"}` in `~/.pi/agent/settings.json` gives a plain `pi` the same one.
|
|
16
12
|
|
|
17
|
-
Bad input fails quietly - an unknown `--use-theme` name and a malformed theme file both run without
|
|
18
|
-
|
|
13
|
+
Bad input fails quietly - an unknown `--use-theme` name and a malformed theme file both run without complaint - so if the colours do not change, suspect a typo rather than the mechanism.
|
|
14
|
+
|
|
15
|
+
## The palette
|
|
16
|
+
|
|
17
|
+
Both themes, the command line's colours, the spec diff's, the banner's jellyfish and the docs' diagram are drawn from turri's design system and nothing else: dark, quiet surfaces, one pink thing to press, neon for anything you can follow. These are all the colours turri has - none is mixed, tinted or added.
|
|
18
|
+
|
|
19
|
+
| name | value | in `turri-dark` |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| abyss | `#0a0f1a` | the page - the HTML export's background, and the surface the contrast below is measured on |
|
|
22
|
+
| tile | `#0d1420` | the HTML export's cards |
|
|
23
|
+
| hēi sè | `#142030` | boxes, the HTML export's callouts |
|
|
24
|
+
| blue whale | `#1e3442` | a highlighted line: `selectedBg`; an added line's fill in a spec diff |
|
|
25
|
+
| lines | `#22344a` | rules, dividers, frames: `borderMuted`, `mdHr` |
|
|
26
|
+
| path | `#3e5a6b` | the editor's border, what is dim: `dim`, line numbers |
|
|
27
|
+
| grauzone | `#85a3b2` | body text, and what can be skimmed: `text`, `muted` |
|
|
28
|
+
| white | `#f4f7f9` | headings, tool titles, what you typed, the jellyfish's shine |
|
|
29
|
+
| siesta tan | `#e9d8c8` | inline code, \*\*\*plain's text in quotes or backticks |
|
|
30
|
+
| eggplant | `#732553` | a removed line's fill in a spec diff |
|
|
31
|
+
| neon | `#5ce1e6` | links, focus, the selection, section labels, \*\*\*plain's concepts in a spec diff: `accent`, `mdLink`, regen's `◆` |
|
|
32
|
+
| neon hover | `#8eebee` | types in code, an added line's fill in a light theme's spec diff |
|
|
33
|
+
| pink | `#ff5c8d` | the wordmark, the jellyfish's bell, and what is done - its `✓`, the spec map's `◇` and `◆`: `success` |
|
|
34
|
+
| pink hover | `#ff7fa6` | \*\*\*plain's section headers, a removed line's `-`, keywords in code |
|
|
35
|
+
| orange | `#ff7a3d` | the jellyfish's gut, the `$` of bash mode, and everything that asks for you - what failed (`✗`), what works with limits, what needs you (the spec map's `!`): `error`, `warning` |
|
|
36
|
+
|
|
37
|
+
The design system keeps pink for the one thing to press and orange for the `$` prompt alone. A terminal has no buttons, but it needs status colours, so pink carries what is done and orange everything that asks for you - what failed, what works with limits, what waits on you - the mark (`✗`, `!`, `■`) telling them apart. The palette has no red.
|
|
19
38
|
|
|
20
39
|
## Why there are two
|
|
21
40
|
|
|
22
|
-
Half the palette is unusable on the other background. Contrast against
|
|
23
|
-
white:
|
|
41
|
+
Half the palette is unusable on the other background. Contrast against abyss and white:
|
|
24
42
|
|
|
25
|
-
|
|
|
43
|
+
| colour | on `#0a0f1a` | on `#ffffff` |
|
|
26
44
|
|---|---|---|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
and in both themes' HTML-export backgrounds. The one place blue stands for something in both is the spec
|
|
38
|
-
map's `◆` - a functional spec its conformance tests pass for: brand blue in a light theme, and in a dark
|
|
39
|
-
one its tint 55% of the way to white, `#919aec`, 7.34:1 on brand black (`brandBlue` in
|
|
40
|
-
`src/regenerate/plain-palette.ts`).
|
|
41
|
-
|
|
42
|
-
`--color-brand-status-warning` on white is 3.49:1, under the 4.5:1 bar for body text, so it is used
|
|
43
|
-
only for accents in the light theme, never for prose.
|
|
45
|
+
| white | 17.81 | 1.08 |
|
|
46
|
+
| neon | 12.20 | 1.57 |
|
|
47
|
+
| grauzone | 7.19 | 2.67 |
|
|
48
|
+
| pink | 6.54 | 2.93 |
|
|
49
|
+
| orange | 7.39 | 2.59 |
|
|
50
|
+
| path | **2.63** | 7.29 |
|
|
51
|
+
| blue whale | 1.48 | 12.92 |
|
|
52
|
+
| eggplant | 1.93 | 9.91 |
|
|
53
|
+
|
|
54
|
+
So `turri-light` is drawn from the design system's deep colours: abyss for text, eggplant for the accent, headings, what is done and the wordmark, blue whale for links and regen's `◆`, path for what is muted. Its pale colours become backgrounds - siesta tan for a selection, neon for a search hit, white for your messages. Orange stays the error and the warning at 2.59:1 - the palette has nothing warm that reads on white. The wordmark and regen's `◆` are painted outside the theme's slots (`brandPink` and `brandNeon` in `src/regenerate/plain-palette.ts`). **Path is never text that matters in the dark theme** - at 2.63:1 it is for rules and what is meant to recede.
|
|
44
55
|
|
|
45
56
|
## Backgrounds
|
|
46
57
|
|
|
47
|
-
The dark theme paints no panels: the backgrounds of your messages, turri's messages and the
|
|
48
|
-
tool rows are `""`, the terminal's own background, so the transcript reads as one surface whatever
|
|
49
|
-
the terminal's colour is - brand black or not, no block shows up as a box. Two are deliberately
|
|
50
|
-
painted, because they have to be visible to work:
|
|
58
|
+
The dark theme paints no panels: the backgrounds of your messages, turri's messages and the tool rows are `""`, the terminal's own background, so the transcript reads as one surface whatever the terminal's colour is - abyss or not, no block shows up as a box. Two are deliberately painted, because they have to be visible to work:
|
|
51
59
|
|
|
52
60
|
| token | value | why |
|
|
53
61
|
|---|---|---|
|
|
54
|
-
| `selectedBg` | `#
|
|
55
|
-
| `searchMatchBg` | `#
|
|
62
|
+
| `selectedBg` | `#1e3442` | a selection you cannot see is not a selection |
|
|
63
|
+
| `searchMatchBg` | `#5ce1e6` | search hits, with abyss text on top |
|
|
56
64
|
|
|
57
65
|
With tool rows carrying no background, their state is signalled by the title and the diff colours.
|
|
58
66
|
|
|
59
|
-
**The window's background is your terminal's setting**, and the transcript is drawn on it. For the
|
|
60
|
-
brand look, set it to brand black, `#0f0f0f`, in your terminal profile.
|
|
67
|
+
**The window's background is your terminal's setting**, and the transcript is drawn on it. For the brand look, set it to abyss, `#0a0f1a`, in your terminal profile.
|
|
61
68
|
|
|
62
69
|
## Spec diffs
|
|
63
70
|
|
|
64
|
-
A spec diff in the panels is not painted with the theme's colours for code: those are made for code,
|
|
65
|
-
and the turri themes' backgrounds are all the surface colour, so a diff drawn with them would have no
|
|
66
|
-
fills and hardly any highlighting. It has a palette of its own (`src/regenerate/plain-palette.ts`), one for
|
|
67
|
-
a dark theme and one for a light, picked by the theme's appearance: a hue for each piece of \*\*\*plain -
|
|
68
|
-
a section's header, a concept, a link, text in quotes or backticks, a front matter key, a module,
|
|
69
|
-
a comment - at least 7:1 on the surface, and a fill behind each added and removed line, green and red,
|
|
70
|
-
that every colour still reads on.
|
|
71
|
+
A spec diff in the panels is not painted with the theme's colours for code: those are made for code, and the turri themes' backgrounds are all the surface colour, so a diff drawn with them would have no fills and hardly any highlighting. It has a palette of its own (`src/regenerate/plain-palette.ts`), one for a dark theme and one for a light, picked by the theme's appearance: a hue for each piece of \*\*\*plain - a section's header, a concept, a link, text in quotes or backticks, a front matter key, a module, a comment - at least 7:1 on the surface, and a fill behind each added and removed line: on a dark theme blue whale and eggplant, on a light one neon hover and siesta tan. Every colour reads at least 4.8:1 on blue whale and 5:1 on the light fills; eggplant, the design system's only warm dark fill, takes the pinks and grauzone down to 3.7:1.
|
|
71
72
|
|
|
72
73
|
## The font
|
|
73
74
|
|
|
74
|
-
|
|
75
|
-
emulator's setting, and NeueMontreal is proportional - a terminal needs a monospaced face. Set it
|
|
76
|
-
in iTerm2 / Ghostty / Alacritty, not here.
|
|
75
|
+
The design system's fonts cannot be applied. pi draws into a terminal, so the typeface is your terminal emulator's setting. Its monospaced face is Geist Mono - set it in iTerm2 / Ghostty / Alacritty for the brand look; Neue Montreal, for headings, is proportional, and a terminal needs a monospaced face.
|