@soleri/cli 1.5.0 → 1.6.0
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 +22 -22
- package/dist/commands/create.js +3 -3
- package/dist/commands/create.js.map +1 -1
- package/dist/hook-packs/css-discipline/hookify.no-important.local.md +1 -1
- package/dist/hook-packs/full/manifest.json +10 -1
- package/package.json +5 -1
- package/src/commands/create.ts +6 -4
- package/src/hook-packs/css-discipline/hookify.no-important.local.md +1 -1
- package/src/hook-packs/full/manifest.json +10 -1
package/README.md
CHANGED
|
@@ -14,21 +14,21 @@ The interactive wizard walks you through agent configuration: name, role, domain
|
|
|
14
14
|
|
|
15
15
|
## Commands
|
|
16
16
|
|
|
17
|
-
| Command
|
|
18
|
-
|
|
|
19
|
-
| `soleri create [name]`
|
|
20
|
-
| `soleri list [dir]`
|
|
21
|
-
| `soleri add-domain <domain>`
|
|
22
|
-
| `soleri install-knowledge <pack>`
|
|
23
|
-
| `soleri dev`
|
|
24
|
-
| `soleri doctor`
|
|
25
|
-
| `soleri hooks add <editor>`
|
|
26
|
-
| `soleri hooks remove <editor>`
|
|
27
|
-
| `soleri hooks list`
|
|
28
|
-
| `soleri hooks add-pack <pack>`
|
|
29
|
-
| `soleri hooks remove-pack <pack>`
|
|
30
|
-
| `soleri hooks list-packs`
|
|
31
|
-
| `soleri hooks upgrade-pack <pack
|
|
17
|
+
| Command | Description |
|
|
18
|
+
| ---------------------------------- | ------------------------------------------------------ |
|
|
19
|
+
| `soleri create [name]` | Interactive wizard to scaffold a new agent |
|
|
20
|
+
| `soleri list [dir]` | Show agents in a directory |
|
|
21
|
+
| `soleri add-domain <domain>` | Add a knowledge domain to the agent in cwd |
|
|
22
|
+
| `soleri install-knowledge <pack>` | Install knowledge packs from a local path |
|
|
23
|
+
| `soleri dev` | Run agent in development mode (stdio MCP server) |
|
|
24
|
+
| `soleri doctor` | Health check — Node, npm, tsx, agent, deps, build, MCP |
|
|
25
|
+
| `soleri hooks add <editor>` | Generate editor hooks/config files |
|
|
26
|
+
| `soleri hooks remove <editor>` | Remove editor hooks/config files |
|
|
27
|
+
| `soleri hooks list` | Show installed editor hooks |
|
|
28
|
+
| `soleri hooks add-pack <pack>` | Install a hook pack globally (~/.claude/) |
|
|
29
|
+
| `soleri hooks remove-pack <pack>` | Remove a hook pack |
|
|
30
|
+
| `soleri hooks list-packs` | Show available hook packs and their status |
|
|
31
|
+
| `soleri hooks upgrade-pack <pack>` | Upgrade a hook pack to the latest version |
|
|
32
32
|
|
|
33
33
|
### Create
|
|
34
34
|
|
|
@@ -62,13 +62,13 @@ Hook packs are curated sets of quality gate rules that install as hookify files
|
|
|
62
62
|
|
|
63
63
|
**Built-in packs:**
|
|
64
64
|
|
|
65
|
-
| Pack
|
|
66
|
-
|
|
67
|
-
| `typescript-safety` | no-any-types, no-console-log
|
|
68
|
-
| `a11y`
|
|
69
|
-
| `css-discipline`
|
|
70
|
-
| `clean-commits`
|
|
71
|
-
| `full`
|
|
65
|
+
| Pack | Hooks | Description |
|
|
66
|
+
| ------------------- | ---------------------------------------------------- | ------------------------- |
|
|
67
|
+
| `typescript-safety` | no-any-types, no-console-log | Block unsafe TS patterns |
|
|
68
|
+
| `a11y` | semantic-html, focus-ring-required, ux-touch-targets | Accessibility enforcement |
|
|
69
|
+
| `css-discipline` | no-important, no-inline-styles | CSS best practices |
|
|
70
|
+
| `clean-commits` | no-ai-attribution | No AI attribution in git |
|
|
71
|
+
| `full` | All 8 hooks | Complete quality suite |
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
74
|
soleri hooks list-packs # See available packs
|
package/dist/commands/create.js
CHANGED
|
@@ -80,11 +80,11 @@ export function registerCreate(program) {
|
|
|
80
80
|
p.outro('Cancelled.');
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
|
-
// Scaffold
|
|
83
|
+
// Scaffold + auto-build
|
|
84
84
|
const s = p.spinner();
|
|
85
|
-
s.start('Scaffolding agent...');
|
|
85
|
+
s.start('Scaffolding and building agent...');
|
|
86
86
|
const result = scaffold(config);
|
|
87
|
-
s.stop(result.success ? 'Agent created!' : 'Scaffolding failed');
|
|
87
|
+
s.stop(result.success ? 'Agent created and built!' : 'Scaffolding failed');
|
|
88
88
|
if (!result.success) {
|
|
89
89
|
p.log.error(result.summary);
|
|
90
90
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SAC3C,MAAM,CAAC,qBAAqB,EAAE,qDAAqD,CAAC;SACpF,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,IAA0B,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,IAAI,MAAM,CAAC;YAEX,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjB,yCAAyC;gBACzC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACtB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,aAAa,GAAa,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC;gBAEjC,+DAA+D;gBAC/D,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;wBAC3B,CAAC,CAAC,GAAG,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
"name": "full",
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"description": "Complete quality suite — all 8 hooks",
|
|
5
|
-
"hooks": [
|
|
5
|
+
"hooks": [
|
|
6
|
+
"no-any-types",
|
|
7
|
+
"no-console-log",
|
|
8
|
+
"no-important",
|
|
9
|
+
"no-inline-styles",
|
|
10
|
+
"semantic-html",
|
|
11
|
+
"focus-ring-required",
|
|
12
|
+
"ux-touch-targets",
|
|
13
|
+
"no-ai-attribution"
|
|
14
|
+
],
|
|
6
15
|
"composedFrom": ["typescript-safety", "a11y", "css-discipline", "clean-commits"]
|
|
7
16
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soleri/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Developer CLI for creating and managing Soleri AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -23,6 +23,10 @@
|
|
|
23
23
|
},
|
|
24
24
|
"type": "module",
|
|
25
25
|
"main": "dist/main.js",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": "./dist/main.js",
|
|
28
|
+
"./package.json": "./package.json"
|
|
29
|
+
},
|
|
26
30
|
"publishConfig": {
|
|
27
31
|
"access": "public"
|
|
28
32
|
},
|
package/src/commands/create.ts
CHANGED
|
@@ -50,7 +50,9 @@ export function registerCreate(program: Command): void {
|
|
|
50
50
|
const unknown = selectedPacks.filter((pk) => !available.includes(pk));
|
|
51
51
|
if (unknown.length > 0) {
|
|
52
52
|
for (const name of unknown) {
|
|
53
|
-
p.log.warn(
|
|
53
|
+
p.log.warn(
|
|
54
|
+
`Unknown hook pack "${name}" — skipping. Available: ${available.join(', ')}`,
|
|
55
|
+
);
|
|
54
56
|
}
|
|
55
57
|
selectedPacks = selectedPacks.filter((pk) => available.includes(pk));
|
|
56
58
|
}
|
|
@@ -89,11 +91,11 @@ export function registerCreate(program: Command): void {
|
|
|
89
91
|
return;
|
|
90
92
|
}
|
|
91
93
|
|
|
92
|
-
// Scaffold
|
|
94
|
+
// Scaffold + auto-build
|
|
93
95
|
const s = p.spinner();
|
|
94
|
-
s.start('Scaffolding agent...');
|
|
96
|
+
s.start('Scaffolding and building agent...');
|
|
95
97
|
const result = scaffold(config);
|
|
96
|
-
s.stop(result.success ? 'Agent created!' : 'Scaffolding failed');
|
|
98
|
+
s.stop(result.success ? 'Agent created and built!' : 'Scaffolding failed');
|
|
97
99
|
|
|
98
100
|
if (!result.success) {
|
|
99
101
|
p.log.error(result.summary);
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
"name": "full",
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"description": "Complete quality suite — all 8 hooks",
|
|
5
|
-
"hooks": [
|
|
5
|
+
"hooks": [
|
|
6
|
+
"no-any-types",
|
|
7
|
+
"no-console-log",
|
|
8
|
+
"no-important",
|
|
9
|
+
"no-inline-styles",
|
|
10
|
+
"semantic-html",
|
|
11
|
+
"focus-ring-required",
|
|
12
|
+
"ux-touch-targets",
|
|
13
|
+
"no-ai-attribution"
|
|
14
|
+
],
|
|
6
15
|
"composedFrom": ["typescript-safety", "a11y", "css-discipline", "clean-commits"]
|
|
7
16
|
}
|