@sous-io/sous 1.0.9 → 1.0.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/dist/sous.js +19 -19
- package/package.json +33 -33
- package/recipes/core/sous-skills/skills/about-agent-skills/SKILL.tpl.md +10 -4
- package/recipes/core/sous-skills/skills/about-liquid-templates/SKILL.tpl.md +19 -1
- package/recipes/core/sous-skills/skills/about-sous/SKILL.tpl.md +24 -6
- package/recipes/core/sous-skills/skills/about-sous-configuration/SKILL.tpl.md +2 -1
- package/recipes/core/sous-skills/skills/about-sous-recipes/SKILL.tpl.md +6 -1
- package/recipes/core/sous-skills/skills/about-sous-repos/SKILL.tpl.md +2 -1
- package/recipes/core/sous-skills/skills/create-skill/SKILL.tpl.md +2 -1
- package/recipes/core/sous-skills/sous.recipe.yaml +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sous-io/sous",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Compiles AI coding agent configuration (CLAUDE.md, skills, memories) from LiquidJS templates",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -39,44 +39,44 @@
|
|
|
39
39
|
"sous.config.schema.json"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@sous-io/plugin-api": "1.0.
|
|
42
|
+
"@sous-io/plugin-api": "1.0.11"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"esbuild": "^0.27.4",
|
|
46
46
|
"jsonc-parser": "^3.3.1",
|
|
47
47
|
"yaml": "^2.9.0",
|
|
48
48
|
"zod": "^4.4.3",
|
|
49
|
-
"@sous-io/
|
|
50
|
-
"@sous-io/plugin-
|
|
51
|
-
"@sous-io/
|
|
52
|
-
"@sous-io/
|
|
53
|
-
"@sous-io/plugin-
|
|
54
|
-
"@sous-io/plugin-cli": "1.0.
|
|
55
|
-
"@sous-io/plugin-confd": "1.0.
|
|
56
|
-
"@sous-io/plugin-
|
|
57
|
-
"@sous-io/plugin-
|
|
58
|
-
"@sous-io/plugin-formats": "1.0.
|
|
59
|
-
"@sous-io/plugin-
|
|
60
|
-
"@sous-io/plugin-git": "1.0.
|
|
61
|
-
"@sous-io/plugin-
|
|
62
|
-
"@sous-io/plugin-harnesses": "1.0.
|
|
63
|
-
"@sous-io/plugin-
|
|
64
|
-
"@sous-io/plugin-
|
|
65
|
-
"@sous-io/plugin-
|
|
66
|
-
"@sous-io/plugin-inspect": "1.0.
|
|
67
|
-
"@sous-io/plugin-liquid": "1.0.
|
|
68
|
-
"@sous-io/plugin-local": "1.0.
|
|
69
|
-
"@sous-io/plugin-mcp": "1.0.
|
|
70
|
-
"@sous-io/plugin-memories": "1.0.
|
|
71
|
-
"@sous-io/plugin-npm": "1.0.
|
|
72
|
-
"@sous-io/plugin-pnpm": "1.0.
|
|
73
|
-
"@sous-io/plugin-recipes": "1.0.
|
|
74
|
-
"@sous-io/plugin-
|
|
75
|
-
"@sous-io/plugin-
|
|
76
|
-
"@sous-io/plugin-
|
|
77
|
-
"@sous-io/plugin-
|
|
78
|
-
"@sous-io/plugin-
|
|
79
|
-
"@sous-io/plugin-
|
|
49
|
+
"@sous-io/core": "1.0.11",
|
|
50
|
+
"@sous-io/plugin-authoring": "1.0.11",
|
|
51
|
+
"@sous-io/documents": "1.0.11",
|
|
52
|
+
"@sous-io/plugin-build": "1.0.11",
|
|
53
|
+
"@sous-io/plugin-claude-code": "1.0.11",
|
|
54
|
+
"@sous-io/plugin-cli": "1.0.11",
|
|
55
|
+
"@sous-io/plugin-confd": "1.0.11",
|
|
56
|
+
"@sous-io/plugin-config-files": "1.0.11",
|
|
57
|
+
"@sous-io/plugin-expressions": "1.0.11",
|
|
58
|
+
"@sous-io/plugin-formats": "1.0.11",
|
|
59
|
+
"@sous-io/plugin-compiler": "1.0.11",
|
|
60
|
+
"@sous-io/plugin-git": "1.0.11",
|
|
61
|
+
"@sous-io/plugin-gitlab": "1.0.11",
|
|
62
|
+
"@sous-io/plugin-harnesses": "1.0.11",
|
|
63
|
+
"@sous-io/plugin-host": "1.0.11",
|
|
64
|
+
"@sous-io/plugin-init": "1.0.11",
|
|
65
|
+
"@sous-io/plugin-github": "1.0.11",
|
|
66
|
+
"@sous-io/plugin-inspect": "1.0.11",
|
|
67
|
+
"@sous-io/plugin-liquid": "1.0.11",
|
|
68
|
+
"@sous-io/plugin-local": "1.0.11",
|
|
69
|
+
"@sous-io/plugin-mcp": "1.0.11",
|
|
70
|
+
"@sous-io/plugin-memories": "1.0.11",
|
|
71
|
+
"@sous-io/plugin-npm": "1.0.11",
|
|
72
|
+
"@sous-io/plugin-pnpm": "1.0.11",
|
|
73
|
+
"@sous-io/plugin-recipes": "1.0.11",
|
|
74
|
+
"@sous-io/plugin-recipe-answers": "1.0.11",
|
|
75
|
+
"@sous-io/plugin-refs": "1.0.11",
|
|
76
|
+
"@sous-io/plugin-variables": "1.0.11",
|
|
77
|
+
"@sous-io/plugin-update": "1.0.11",
|
|
78
|
+
"@sous-io/plugin-yarn": "1.0.11",
|
|
79
|
+
"@sous-io/plugin-skills": "1.0.11"
|
|
80
80
|
},
|
|
81
81
|
"engines": {
|
|
82
82
|
"node": ">=22"
|
|
@@ -168,6 +168,9 @@ The rules:
|
|
|
168
168
|
saying what they are, and treats them as refining the goal. With none, it takes the broadest
|
|
169
169
|
reasonable reading of roughly the last 10 turns, NEVER asks which of several targets was meant,
|
|
170
170
|
and names what it took in the first line of its reply.
|
|
171
|
+
- **Decide in the template.** When a step depends on a setting the project answers, branch on it
|
|
172
|
+
in the `.tpl.` file, so the compiled skill gives one instruction instead of asking the agent to
|
|
173
|
+
look the setting up. YOU MUST load `about-liquid-templates` for how.
|
|
171
174
|
- **Tiers, never models.** Name a sub-agent's model by tier ("the next tier down from the main
|
|
172
175
|
session"), never by product or provider.
|
|
173
176
|
- **Public by default.** A skill published in a recipe repository is public: its examples use
|
|
@@ -206,7 +209,8 @@ A skill published in a recipe names its recipe:
|
|
|
206
209
|
## Source for this Skill
|
|
207
210
|
|
|
208
211
|
This skill comes from the `<namespace>/<recipe>` recipe, installed by sous from a recipe
|
|
209
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
212
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
213
|
+
change it, run `sous repo contribute <namespace>/<recipe>`.
|
|
210
214
|
|
|
211
215
|
- Source Path: <resolved source path>
|
|
212
216
|
```
|
|
@@ -222,8 +226,9 @@ never this output file.
|
|
|
222
226
|
- Source Path: <resolved source path>
|
|
223
227
|
```
|
|
224
228
|
|
|
225
|
-
The footer tells an agent reading the compiled copy where the skill came from and
|
|
226
|
-
|
|
229
|
+
The footer tells an agent reading the compiled copy where the skill came from and how to change
|
|
230
|
+
it. The Source Path of a recipe's skill points into sous's machine-wide store, which is read-only
|
|
231
|
+
build input; a change to a recipe goes upstream through `sous repo contribute`.
|
|
227
232
|
|
|
228
233
|
## Examples
|
|
229
234
|
|
|
@@ -240,6 +245,7 @@ change.
|
|
|
240
245
|
## Source for this Skill
|
|
241
246
|
|
|
242
247
|
This skill comes from the `core/sous-skills` recipe, installed by sous from a recipe
|
|
243
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
248
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
249
|
+
change it, propose the change to `sous-io/sous`, under `recipes/core/sous-skills/`.
|
|
244
250
|
|
|
245
251
|
- Source Path: {{ sousTemplatePath }}
|
|
@@ -289,6 +289,23 @@ project's variables change.
|
|
|
289
289
|
4. **Test portability mentally.** Before finalizing a template, ask: "If I compiled
|
|
290
290
|
this for a different project with different settings, would the output still make
|
|
291
291
|
sense?" If not, parameterize the varying part.
|
|
292
|
+
5. **Decide in the template, not in the agent.** When what a file tells the agent depends
|
|
293
|
+
on a project's answer, branch on the answer so the compiled file states one
|
|
294
|
+
instruction. An agent that reads a setting and then decides can get it wrong; a
|
|
295
|
+
rendered instruction cannot. Every recipe the project holds contributes its answers,
|
|
296
|
+
so a recipe may read another recipe's variable once it lists that recipe under
|
|
297
|
+
`depends`. Make the `else` branch the conservative behavior, because it is what renders
|
|
298
|
+
when nothing answered the variable:
|
|
299
|
+
|
|
300
|
+
{% raw %}
|
|
301
|
+
```markdown
|
|
302
|
+
{% if createIssues == "always" -%}
|
|
303
|
+
File the issue without asking, and show the draft in the report.
|
|
304
|
+
{%- else -%}
|
|
305
|
+
Present the draft and wait for the user's approval.
|
|
306
|
+
{%- endif %}
|
|
307
|
+
```
|
|
308
|
+
{% endraw %}
|
|
292
309
|
|
|
293
310
|
## Reference Files
|
|
294
311
|
|
|
@@ -304,6 +321,7 @@ The following variables are in scope at compile time in this project (secrets sh
|
|
|
304
321
|
## Source for this Skill
|
|
305
322
|
|
|
306
323
|
This skill comes from the `core/sous-skills` recipe, installed by sous from a recipe
|
|
307
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
324
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
325
|
+
change it, propose the change to `sous-io/sous`, under `recipes/core/sous-skills/`.
|
|
308
326
|
|
|
309
327
|
- Source Path: {{ sousTemplatePath }}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
name: about-sous
|
|
3
3
|
description: >
|
|
4
4
|
YOU MUST load this skill when you cannot edit a file in this project, are asked why
|
|
5
|
-
a file keeps reverting,
|
|
6
|
-
|
|
5
|
+
a file keeps reverting, want to change a skill, memory or other file that came from a
|
|
6
|
+
recipe, need to know where the source of truth for any managed file lives, or need to
|
|
7
|
+
understand what this project's configuration system is.
|
|
7
8
|
user-invocable: false
|
|
8
9
|
---
|
|
9
10
|
|
|
@@ -27,6 +28,21 @@ next time Sous runs:
|
|
|
27
28
|
If you need to change something in one of these files, the change must be made at the
|
|
28
29
|
source, in the central configuration this project uses with Sous.
|
|
29
30
|
|
|
31
|
+
## Changing a File That Came From a Recipe
|
|
32
|
+
|
|
33
|
+
A file whose footer names a recipe (`This skill comes from the <namespace>/<recipe> recipe`)
|
|
34
|
+
is published by a recipe repository. Its Source Path points into sous's machine-wide store,
|
|
35
|
+
which is read-only build input: an edit there is lost and reaches nobody. Change it upstream:
|
|
36
|
+
|
|
37
|
+
1. `sous repo contribute <namespace>/<recipe>` links a working copy of the recipe's
|
|
38
|
+
repository on a new branch; the project's builds read from it until the contribution
|
|
39
|
+
is finished, so an edit shows up on the next `sous build`.
|
|
40
|
+
2. Edit the recipe in that working copy, raising its version (YOU MUST load
|
|
41
|
+
`about-sous-recipes`).
|
|
42
|
+
3. `sous repo contribute <namespace>/<recipe> --finish` proposes the change and unlinks.
|
|
43
|
+
|
|
44
|
+
YOU MUST load `about-sous-repos` before running these commands.
|
|
45
|
+
|
|
30
46
|
## Where Your Skills Live
|
|
31
47
|
|
|
32
48
|
Skills for this project live at `{{ skillsRoot }}`. That is the source directory Sous
|
|
@@ -50,9 +66,10 @@ published by the official sous recipe repository (https://github.com/sous-io/sou
|
|
|
50
66
|
A copy of that recipe also ships inside the installed sous package, where it seeds the
|
|
51
67
|
machine-wide store so a fresh, offline install still has these skills.
|
|
52
68
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
69
|
+
Their source is in the sous repository (https://github.com/sous-io/sous), under
|
|
70
|
+
`recipes/core/sous-skills/`; the copy in the recipe repository is written by each sous
|
|
71
|
+
release and takes no proposals. Never edit a compiled copy of them inside a consuming
|
|
72
|
+
project; that copy is build output and is overwritten on the next sous run.
|
|
56
73
|
|
|
57
74
|
## Trust and Activation
|
|
58
75
|
|
|
@@ -89,6 +106,7 @@ far.
|
|
|
89
106
|
## Source for this Skill
|
|
90
107
|
|
|
91
108
|
This skill comes from the `core/sous-skills` recipe, installed by sous from a recipe
|
|
92
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
109
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
110
|
+
change it, propose the change to `sous-io/sous`, under `recipes/core/sous-skills/`.
|
|
93
111
|
|
|
94
112
|
- Source Path: {{ sousTemplatePath }}
|
|
@@ -95,6 +95,7 @@ prefer the on-disk copies.
|
|
|
95
95
|
## Source for this Skill
|
|
96
96
|
|
|
97
97
|
This skill comes from the `core/sous-skills` recipe, installed by sous from a recipe
|
|
98
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
98
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
99
|
+
change it, propose the change to `sous-io/sous`, under `recipes/core/sous-skills/`.
|
|
99
100
|
|
|
100
101
|
- Source Path: {{ sousTemplatePath }}
|
|
@@ -133,6 +133,10 @@ The fields in that example, and the ones it leaves out:
|
|
|
133
133
|
version a definition MAY only loosen; tightening is a major bump, because an upgrade re-checks the
|
|
134
134
|
answers already stored.
|
|
135
135
|
|
|
136
|
+
A template may also read a variable another recipe defines. List that recipe under `depends`, so
|
|
137
|
+
the variable is there wherever this recipe is, and branch on it in the template rather than telling
|
|
138
|
+
the agent to look the setting up; `about-liquid-templates` shows how.
|
|
139
|
+
|
|
136
140
|
## Depends and Subscribes
|
|
137
141
|
|
|
138
142
|
Both lists name other recipes, and they do different things:
|
|
@@ -232,6 +236,7 @@ example, a partial holding
|
|
|
232
236
|
## Source for this Skill
|
|
233
237
|
|
|
234
238
|
This skill comes from the `core/sous-skills` recipe, installed by sous from a recipe
|
|
235
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
239
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
240
|
+
change it, propose the change to `sous-io/sous`, under `recipes/core/sous-skills/`.
|
|
236
241
|
|
|
237
242
|
- Source Path: {{ sousTemplatePath }}
|
|
@@ -175,6 +175,7 @@ remote before the first release, because `sous repo release` reads and writes ta
|
|
|
175
175
|
## Source for this Skill
|
|
176
176
|
|
|
177
177
|
This skill comes from the `core/sous-skills` recipe, installed by sous from a recipe
|
|
178
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
178
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
179
|
+
change it, propose the change to `sous-io/sous`, under `recipes/core/sous-skills/`.
|
|
179
180
|
|
|
180
181
|
- Source Path: {{ sousTemplatePath }}
|
|
@@ -110,6 +110,7 @@ load `about-liquid-templates` if any file in your skill needs `.tpl.` processing
|
|
|
110
110
|
## Source for this Skill
|
|
111
111
|
|
|
112
112
|
This skill comes from the `core/sous-skills` recipe, installed by sous from a recipe
|
|
113
|
-
repository. It was compiled from a template, so edit the source, never this output file.
|
|
113
|
+
repository. It was compiled from a template, so edit the source, never this output file. To
|
|
114
|
+
change it, propose the change to `sous-io/sous`, under `recipes/core/sous-skills/`.
|
|
114
115
|
|
|
115
116
|
- Source Path: {{ sousTemplatePath }}
|