@turri-dev/cli 0.1.11-next.450c74d → 0.1.11-next.509411a
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/dist/identity.js +7 -5
- package/docs/README.md +10 -10
- package/docs/authoring-plain.md +1 -1
- package/docs/regenerating.md +1 -1
- package/package.json +1 -1
package/dist/identity.js
CHANGED
|
@@ -27,8 +27,9 @@ export function conversationIdentity(surface) {
|
|
|
27
27
|
}
|
|
28
28
|
const IDENTITY_BEFORE = [
|
|
29
29
|
"<turri>",
|
|
30
|
-
"You are turri - always lowercase -
|
|
31
|
-
"***plain; the code is regenerated from it. You
|
|
30
|
+
"You are turri - always lowercase - the first coding agent with the power of regenerative software. The software is",
|
|
31
|
+
"its ***plain; the code is regenerated from it. You write the ***plain with the person - they say what the software",
|
|
32
|
+
"should do, and you write it down as ***plain, shaping it with them - and you regenerate the code from it a",
|
|
32
33
|
"change at a time - with agents that write the code and tests, while you decide what runs next and when the work is",
|
|
33
34
|
"done - record what each piece was regenerated from, and prove it against conformance tests written from the ***plain",
|
|
34
35
|
"alone. When the code goes bad, you regenerate it from the ***plain. You are named after Turritopsis dohrnii, the",
|
|
@@ -37,9 +38,10 @@ const IDENTITY_BEFORE = [
|
|
|
37
38
|
"gone bad is regenerated from it, whole, rather than patched. Say it as that likeness, not as a fact about a",
|
|
38
39
|
"jellyfish.",
|
|
39
40
|
"",
|
|
40
|
-
"Asked who or what you are, say it in those words: you are turri,
|
|
41
|
-
"software - you
|
|
42
|
-
"
|
|
41
|
+
"Asked who or what you are, say it in those words: you are turri, the first coding agent with the power of",
|
|
42
|
+
"regenerative software - you write ***plain with them and regenerate the code from it. Never say they write the",
|
|
43
|
+
"***plain and you help: you write it, together. Not an assistant, and not a helper with specifications: ***plain is",
|
|
44
|
+
"the language the software is written in, and naming it is the point. Your replies are Markdown, where",
|
|
43
45
|
"three asterisks start bold italics: write the name escaped, \\*\\*\\*plain, so it shows as ***plain.",
|
|
44
46
|
"",
|
|
45
47
|
"Speak as turri, in the first person - I, my pulses, my agents - to the person, in whole sentences. Never speak of",
|
package/docs/README.md
CHANGED
|
@@ -5,9 +5,9 @@ turri implements regenerative software: [\*\*\*plain](https://plainlang.org/docs
|
|
|
5
5
|
## Start here
|
|
6
6
|
|
|
7
7
|
1. [Installation](installation.md) - get a machine ready: `turri doctor`, and what turri needs of this machine.
|
|
8
|
-
2. [Using turri](using.md) - the conversation, the skills and tools, background jobs and their logs, choosing the model that
|
|
9
|
-
3. [Authoring \*\*\*plain](authoring-plain.md) - writing
|
|
10
|
-
4. [Regenerating](regenerating.md) - turning
|
|
8
|
+
2. [Using turri](using.md) - the conversation, the skills and tools, background jobs and their logs, choosing the model that codes, the command line.
|
|
9
|
+
3. [Authoring \*\*\*plain](authoring-plain.md) - writing \*\*\*plain: what is it made out of, the authoring rules, the skills that write and fix it.
|
|
10
|
+
4. [Regenerating](regenerating.md) - turning \*\*\*plain into code: what each build does, in which order, and what has to pass before it moves on.
|
|
11
11
|
|
|
12
12
|
## By question
|
|
13
13
|
|
|
@@ -16,16 +16,16 @@ turri implements regenerative software: [\*\*\*plain](https://plainlang.org/docs
|
|
|
16
16
|
| what my machine needs, and why a check failed | [installation](installation.md) |
|
|
17
17
|
| what turri needs of this machine, and what `turri doctor` checks | [installation](installation.md#what-turri-setup-checks) |
|
|
18
18
|
| how to start a project, or add a feature, in a conversation | [using](using.md#in-a-conversation) |
|
|
19
|
-
| which model
|
|
19
|
+
| which model codes, and how to change it | [using](using.md#choosing-a-model), [the project config](config.md#models) |
|
|
20
20
|
| what `config.turri.yaml` can set, and what happens without it | [the project config](config.md) |
|
|
21
21
|
| how a backend and a frontend on different stacks share one project | [the project config](config.md#stacks) |
|
|
22
|
-
| which ready-made stacks
|
|
22
|
+
| which ready-made stacks \*\*\*plain can import - a FastAPI backend, a React frontend | [the standard library](authoring-plain.md#the-standard-library) |
|
|
23
23
|
| everything an agent was sent and did, to debug it | [using](using.md#agent-logs) |
|
|
24
|
-
| how to regenerate
|
|
24
|
+
| how to regenerate \*\*\*plain overnight, and resume it | [running unattended](headless.md) |
|
|
25
25
|
| how to rebuild one functionality | [running unattended](headless.md#rebuilding-one-functionality) |
|
|
26
|
-
| what goes in which section of
|
|
26
|
+
| what goes in which section of \*\*\*plain | [authoring \*\*\*plain](authoring-plain.md#what-plain-is-made-of) |
|
|
27
27
|
| which skill does what | [authoring \*\*\*plain](authoring-plain.md#the-skills) |
|
|
28
|
-
| what happens when
|
|
28
|
+
| what happens when \*\*\*plain changes | [regenerating the code](regenerating.md#when-plain-changes) |
|
|
29
29
|
| why a test was not allowed to be deleted | [regenerating the code](regenerating.md#the-tests-must-actually-pass) |
|
|
30
30
|
| how to try what is built, and what deploy may install | [deploy](deploy.md) |
|
|
31
31
|
| what the agents can and cannot reach | [the sandbox](sandbox.md) |
|
|
@@ -43,8 +43,8 @@ turri implements regenerative software: [\*\*\*plain](https://plainlang.org/docs
|
|
|
43
43
|
| [The project config](config.md) | `config.turri.yaml` and each stack's `config.turri.<stack>.yaml`: where they are read from, every key, models and their inheritance, conformance, the testing scripts, stacks and choosing one, the old `config.yaml` |
|
|
44
44
|
| [Deploy](deploy.md) | trying what is built: dist/<module>, the last commit, starting it on your machine, `turri release` |
|
|
45
45
|
| [Running unattended](headless.md) | regenerating overnight or in CI: before you leave it, the command, the results, resuming, rebuilding one functionality |
|
|
46
|
-
| [Authoring \*\*\*plain](authoring-plain.md) | a \*\*\*plain project, what
|
|
47
|
-
| [Regenerating](regenerating.md) | where things go, one job, a whole module and how its work is cut into jobs, each job's cases,
|
|
46
|
+
| [Authoring \*\*\*plain](authoring-plain.md) | a \*\*\*plain project, what \*\*\*plain is made of, the rules, writing \*\*\*plain with the agent, the skills, checking \*\*\*plain |
|
|
47
|
+
| [Regenerating](regenerating.md) | where things go, one job, a whole module and how its work is cut into jobs, each job's cases, \*\*\*plain changes, conformance tests, the two records of what is built |
|
|
48
48
|
| [The sandbox](sandbox.md) | what an agent can reach, the file-tool fence, the command check, the OS sandbox, the audit |
|
|
49
49
|
| [Skills and gates](skills-and-gates.md) | the gate syntax, what the harness enforces, what a step can do, the rules, trying the gates |
|
|
50
50
|
| [The \*\*\*plain parser](parser.md) | the TypeScript port, `turri validate`, inheritance, the iterator, fidelity |
|
package/docs/authoring-plain.md
CHANGED
|
@@ -16,7 +16,7 @@ my-project/
|
|
|
16
16
|
plain_modules/ # generated - code, tests, history; never edited by hand
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
## What
|
|
19
|
+
## What \*\*\*plain is made of
|
|
20
20
|
|
|
21
21
|
A `.plain` file is one module: optional YAML frontmatter, then up to four sections, in this order.
|
|
22
22
|
|
package/docs/regenerating.md
CHANGED
|
@@ -184,7 +184,7 @@ Each planned job knows its cases - which functional specs it adds, changes (thei
|
|
|
184
184
|
|
|
185
185
|
A plan is kept until the spec, what it starts from or its steering changes. `steer` alone plans nothing: the next look does - a `regenerate`, a job ending, the spec changing. Then the work not running yet is planned again to follow it, a running job going on as it is. Where a plan did not do as asked, it says so, and what `regenerate` returns lists it under "what the plan did not do as asked": each wish an agent did not follow, with why (both tools take a `notes` for that), a grouping or placement that did not hold, with what was wrong, and a group split for its size. The conversation tells the person that, rather than guessing.
|
|
186
186
|
|
|
187
|
-
### When
|
|
187
|
+
### When \*\*\*plain changes
|
|
188
188
|
|
|
189
189
|
A spec change is a notice, not a diff to run: **`regenerate`**, called after the spec was edited by any means - the file tools, a skill, you in an editor - has the loop work out the work again. A job running goes on while every change it makes is still part of the work, measured from the same record; one that is making something the spec no longer wants is stopped, rolled back, and the work planned again - a fixed rule, no agent. Say a module of 50 functionalities is rendering and the spec changes while functionality 25 builds: 25 goes on if the change leaves it as it is, and the work after it is planned again from what 25 lands. A job stopped so says it was turri, not you, and what changed under it - the functional spec that reads otherwise now, or the file it links that holds something else (`whyNotWanted`).
|
|
190
190
|
|