@turri-dev/cli 0.1.11-next.fec1e14 → 0.1.11
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 +5 -5
- package/dist/{spec-diff-cli.js → change-plain-cli.js} +3 -3
- package/dist/cli.js +1 -1
- package/dist/extension.js +4 -4
- package/dist/genome.js +5 -5
- package/dist/identity.js +8 -6
- package/dist/loop-cli.d.ts +1 -1
- package/dist/loop-cli.js +1 -1
- package/dist/regenerate/activity.js +2 -2
- package/dist/self-invocation.js +6 -6
- package/dist/skill.d.ts +3 -3
- package/dist/skill.js +2 -2
- package/dist/spec-tools.js +2 -2
- package/dist/stacks.js +1 -1
- package/dist/tools.js +1 -1
- package/docs/README.md +13 -13
- package/docs/authoring-plain.md +33 -33
- package/docs/config.md +25 -25
- package/docs/deploy.md +5 -5
- package/docs/development.md +11 -11
- package/docs/headless.md +18 -18
- package/docs/hosting.md +14 -14
- package/docs/images/how-turri-works.svg +1 -1
- package/docs/installation.md +13 -13
- package/docs/parser.md +5 -5
- package/docs/regenerating.md +78 -78
- package/docs/sandbox.md +7 -7
- package/docs/skills-and-gates.md +19 -19
- package/docs/theming.md +11 -11
- package/docs/using.md +50 -50
- package/genome/skills/brood/SKILL.md +11 -11
- package/genome/skills/brood/references/product.md +4 -4
- package/genome/skills/brood/references/testing.md +1 -1
- package/genome/skills/bud/SKILL.md +6 -6
- package/genome/skills/mature/SKILL.md +4 -4
- package/genome/skills/spawn/SKILL.md +4 -4
- package/package.json +1 -1
- /package/dist/{spec-diff-cli.d.ts → change-plain-cli.d.ts} +0 -0
|
@@ -11,7 +11,7 @@ description: >-
|
|
|
11
11
|
when the user wants to start a new project fast, or says to just build it. For a full interview
|
|
12
12
|
that settles the stack, the testing and every feature with the user, use `brood`. Not for adding a
|
|
13
13
|
feature to an existing project (use `bud`).
|
|
14
|
-
allowed-tools: [read, write, edit, bash, ls, grep, find,
|
|
14
|
+
allowed-tools: [read, write, edit, bash, ls, grep, find, change_plain]
|
|
15
15
|
metadata:
|
|
16
16
|
# Started only by the person, with its command - /spawn - never by the model on its own.
|
|
17
17
|
command-only: true
|
|
@@ -64,9 +64,9 @@ Set the module up and start the first build - on your own, no questions.
|
|
|
64
64
|
2. **Unit tests.** A `:UnitTests:` requirement - the framework, and how they are run - unless the imported stack already sets it, and the unit testing script. Keep one turri already finds (named in `config.turri.yaml`, or the one `run_unittests*.sh` in the root or `test_scripts/`); otherwise write `test_scripts/run_unittests_<language>.sh` by following the `implement-unit-testing-script` skill. Never link it from the specs. The script runs the stack's static checks with the unit tests - the formatter in check mode, the linter, the type checker - and they count as the tests do.
|
|
65
65
|
3. **Conformance tests: off.** Keep a `conformance-tests:` decision the project's config already holds - `config.turri.yaml`, or the old `config.yaml`. Otherwise write `conformance-tests: false` into `config.turri.yaml`, changing nothing else in it - a project with only a `config.yaml` has it copied to `config.turri.yaml` first, and `config.yaml` is never written - and write no `***test reqs***`, import no standard library conformance template, and write no conformance testing script. Only when the user asked for conformance tests, turn them on instead: `conformance-tests: true`, the `***test reqs***` - `:ConformanceTests:` requirements following `genome/rules/test-reqs.md`, or the stack's standard library conformance template imported when the stack is from it - and `test_scripts/run_conformance_tests_<language>.sh`, by following the `implement-conformance-testing-script` skill, unless turri already finds one.
|
|
66
66
|
4. Run `validate` on every module you wrote, and fix what it finds.
|
|
67
|
-
5. **The first spec.** Write the module's first functional spec with `
|
|
67
|
+
5. **The first spec.** Write the module's first functional spec with `change_plain`: the smallest thing that runs and shows something - the server answers one request (`GET /` with the app's name), the command-line tool prints its usage, the page shows the app's name, the library exposes one call with a fixed result. It holds no product logic, so its build only sets the project up and lands fast - and its pulse is not reviewed. Follow `add-functional-spec` for its wording, and keep it to that one observable result.
|
|
68
68
|
|
|
69
|
-
`
|
|
69
|
+
`change_plain` takes a git diff of the `.plain` file(s): `diff --git a/<file> b/<file>`, `--- a/<file>`, `+++ b/<file>`, then the hunks with a few lines of context, paths from the project root. It applies the change and queues its build. Go straight on to the next step - never wait for a build.
|
|
70
70
|
|
|
71
71
|
### regenerate
|
|
72
72
|
|
|
@@ -76,7 +76,7 @@ Write the first slices of what the user described, each a spec diff, while the f
|
|
|
76
76
|
|
|
77
77
|
1. **The main slice.** The one thing the user said the software is for, on its happy path - the half-built main function a developer writes first and runs. Its concepts go into `***definitions***` in the same change, following `add-concept`; its functional spec follows `add-functional-spec`, placed where it fits.
|
|
78
78
|
2. **One more slice at most** - the next thing the user described, also on its happy path. Stop there: two slices beyond the first spec. What the user says once they have tried the first ones decides the rest, and slices written far ahead are slices to rework.
|
|
79
|
-
3. **Write each with `
|
|
79
|
+
3. **Write each with `change_plain`**, one after another - never wait for a build. Never change a `.plain` file in this step by any other means. Correct a change you find wrong once written with a diff and `fixes_earlier`, never by editing the file.
|
|
80
80
|
|
|
81
81
|
Write no validation, no edge cases and no hardening in this step: they come later, as changes to these specs, once the user has tried the slices.
|
|
82
82
|
|
package/package.json
CHANGED
|
File without changes
|