soturail 0.3.0 → 0.3.2
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 +34 -5
- package/dist/commands/bench.d.ts +4 -1
- package/dist/commands/bench.js +169 -14
- package/dist/commands/bench.js.map +1 -1
- package/dist/commands/dedupe.js +15 -6
- package/dist/commands/dedupe.js.map +1 -1
- package/dist/commands/expand.d.ts +5 -0
- package/dist/commands/expand.js +22 -2
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/hooks.js +13 -0
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/init.js +220 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/release.js +20 -4
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.js +49 -3
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/stats.d.ts +6 -0
- package/dist/commands/stats.js +25 -1
- package/dist/commands/stats.js.map +1 -1
- package/dist/compressors/developer-reducer.d.ts +3 -0
- package/dist/compressors/developer-reducer.js +90 -0
- package/dist/compressors/developer-reducer.js.map +1 -0
- package/dist/compressors/index.js +11 -0
- package/dist/compressors/index.js.map +1 -1
- package/dist/core/block-dedupe.d.ts +43 -0
- package/dist/core/block-dedupe.js +82 -0
- package/dist/core/block-dedupe.js.map +1 -0
- package/dist/core/config.d.ts +38 -0
- package/dist/core/config.js +18 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/dedupe-store.d.ts +38 -0
- package/dist/core/dedupe-store.js +45 -2
- package/dist/core/dedupe-store.js.map +1 -1
- package/dist/core/mcp-tools.js +1 -1
- package/dist/core/mcp-tools.js.map +1 -1
- package/dist/core/release-preflight.d.ts +8 -0
- package/dist/core/release-preflight.js +66 -0
- package/dist/core/release-preflight.js.map +1 -1
- package/dist/core/skill-schema.js +9 -2
- package/dist/core/skill-schema.js.map +1 -1
- package/dist/core/skill-store.d.ts +1 -1
- package/dist/core/skill-store.js +56 -9
- package/dist/core/skill-store.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/docs/benchmarking.md +12 -2
- package/docs/comparisons.md +1 -1
- package/docs/context-packs.md +10 -0
- package/docs/first-real-workflow.md +60 -0
- package/docs/hooks.md +7 -0
- package/docs/mcp.md +44 -2
- package/docs/metrics.md +9 -0
- package/docs/reducers.md +31 -0
- package/docs/release-checklist.md +10 -0
- package/docs/release-workflow.md +10 -0
- package/docs/security-model.md +13 -1
- package/docs/skill-rail.md +4 -0
- package/docs/usage.md +8 -0
- package/docs/windows.md +23 -1
- package/docs/workflow-rail.md +7 -1
- package/examples/README.md +22 -0
- package/examples/context-packs/README.md +17 -0
- package/examples/context-packs/generic-workflow.md +9 -0
- package/examples/hooks/README.md +11 -0
- package/examples/hooks/prompt-only-codex.md +7 -0
- package/examples/mcp/README.md +17 -0
- package/examples/mcp/initialize.json +1 -0
- package/examples/mcp/resources-list.json +1 -0
- package/examples/mcp/resources-read-repo-map.json +1 -0
- package/examples/mcp/tools-list.json +1 -0
- package/examples/skills/README.md +13 -0
- package/examples/skills/bug-triage-skill.yml +26 -0
- package/examples/skills/code-review-skill.yml +28 -0
- package/examples/skills/java-student-helper-skill.yml +25 -0
- package/examples/skills/php-web-reviewer-skill.yml +27 -0
- package/examples/skills/release-manager-skill.yml +26 -0
- package/package.json +3 -2
package/docs/mcp.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP Server
|
|
2
2
|
|
|
3
|
-
SotuRail
|
|
3
|
+
SotuRail includes a local MCP-compatible server over stdio using JSON-RPC 2.0 style messages. It is designed for local context access, not remote execution.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
soturail mcp doctor
|
|
@@ -10,9 +10,51 @@ soturail mcp serve --transport stdio
|
|
|
10
10
|
|
|
11
11
|
The server exposes read-only resources such as the repo map, tree, rules, approved memory, self report, latest benchmarks and roadmap. It also exposes safe tools for indexing, progressive reads, formatting, rule checks, skill listing, context pack generation and raw log expansion.
|
|
12
12
|
|
|
13
|
+
## Copyable JSON-RPC Examples
|
|
14
|
+
|
|
15
|
+
Send one JSON object per line to `soturail mcp serve --transport stdio`.
|
|
16
|
+
|
|
17
|
+
Initialize:
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"clientInfo":{"name":"manual-smoke","version":"0.1.0"}}}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
List resources:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{"jsonrpc":"2.0","id":2,"method":"resources/list"}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Read the repo map:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{"jsonrpc":"2.0","id":3,"method":"resources/read","params":{"uri":"soturail://repo-map"}}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
List tools:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{"jsonrpc":"2.0","id":4,"method":"tools/list"}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The same payloads are available under `examples/mcp/`.
|
|
42
|
+
|
|
43
|
+
## Safe Tools
|
|
44
|
+
|
|
45
|
+
Default tools include:
|
|
46
|
+
|
|
47
|
+
- `soturail.index`
|
|
48
|
+
- `soturail.read`
|
|
49
|
+
- `soturail.format`
|
|
50
|
+
- `soturail.rules.check`
|
|
51
|
+
- `soturail.skills.list`
|
|
52
|
+
- `soturail.context.pack`
|
|
53
|
+
- `soturail.expand`
|
|
54
|
+
|
|
13
55
|
Security defaults:
|
|
14
56
|
|
|
15
57
|
- no arbitrary shell execution;
|
|
16
|
-
- no `soturail
|
|
58
|
+
- no `soturail.run` MCP tool by default;
|
|
17
59
|
- raw log expansion redacts probable secrets unless `allow_raw=true`;
|
|
18
60
|
- provider cache hits are never invented.
|
package/docs/metrics.md
CHANGED
|
@@ -14,6 +14,13 @@ SotuRail metrics are local, append-only and transparent.
|
|
|
14
14
|
|
|
15
15
|
- estimated raw tokens;
|
|
16
16
|
- estimated compressed tokens;
|
|
17
|
+
- estimated reduced payload tokens;
|
|
18
|
+
- terminal reducer estimated tokens saved;
|
|
19
|
+
- dedupe estimated tokens saved;
|
|
20
|
+
- metadata overhead tokens;
|
|
21
|
+
- net estimated tokens saved;
|
|
22
|
+
- dedupe blocks reused;
|
|
23
|
+
- dedupe recent window;
|
|
17
24
|
- compression ratio;
|
|
18
25
|
- command count;
|
|
19
26
|
- expansion count;
|
|
@@ -24,6 +31,8 @@ SotuRail metrics are local, append-only and transparent.
|
|
|
24
31
|
- rules ingestion and validation counts;
|
|
25
32
|
- benchmark fixture measurements.
|
|
26
33
|
|
|
34
|
+
Small command outputs can be larger after SotuRail adds raw recovery metadata. When that happens, `compression_effective` is `false` and the CLI prints the small-output warning instead of hiding the overhead.
|
|
35
|
+
|
|
27
36
|
## Token Estimation
|
|
28
37
|
|
|
29
38
|
v0.1.0 uses:
|
package/docs/reducers.md
CHANGED
|
@@ -6,6 +6,20 @@ Reducers compress terminal output while preserving the recovery path to raw logs
|
|
|
6
6
|
|
|
7
7
|
Keeps first and last lines, error-looking lines, warnings, permission failures, timeouts, file paths and repeated-line summaries.
|
|
8
8
|
|
|
9
|
+
## Developer Command Reducers
|
|
10
|
+
|
|
11
|
+
v0.3.2 adds focused reducers for common developer commands:
|
|
12
|
+
|
|
13
|
+
- `npm install`, package manager install noise and audit warnings;
|
|
14
|
+
- `npm test`, Vitest/Jest/Mocha style failures;
|
|
15
|
+
- `tsc` TypeScript diagnostics with file, line and column;
|
|
16
|
+
- Docker logs with repeated heartbeat lines;
|
|
17
|
+
- ESLint failures and rule names;
|
|
18
|
+
- Vite and Next build output;
|
|
19
|
+
- Java stack traces, Maven Surefire and Gradle failures.
|
|
20
|
+
|
|
21
|
+
These reducers preserve error lines, warnings, security warnings, file paths, stack frames, failing test names, final summaries and recovery hints such as `Raw log: soturail expand <raw_id>`.
|
|
22
|
+
|
|
9
23
|
## Git
|
|
10
24
|
|
|
11
25
|
Handles status, diff, log, show and branch output heuristically. It preserves changed files, rename/delete markers, conflict markers and hunk headers.
|
|
@@ -17,3 +31,20 @@ Handles Vitest, Jest, Mocha, Pytest, Maven Surefire and Gradle test output at a
|
|
|
17
31
|
## JSON TOON Lite
|
|
18
32
|
|
|
19
33
|
Emits a compressed representation with relevant `path: value` lines. It preserves error messages, statuses, ids, file paths, booleans and nulls that affect debugging, while collapsing repetitive arrays and object structure. The reduced representation is clearly labeled when it is not valid JSON.
|
|
34
|
+
|
|
35
|
+
## Block-Level Dedupe
|
|
36
|
+
|
|
37
|
+
SotuRail tracks recent safe output blocks in `.soturail/dedupe/index.jsonl`. Repeated safe blocks can be replaced with a visible reference:
|
|
38
|
+
|
|
39
|
+
```txt
|
|
40
|
+
[deduped block: block_abc123, seen in raw_id cf42b9, 38 lines]
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Error blocks, stack traces, security warnings and file paths tied to current failures are preserved in conservative mode.
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
soturail dedupe stats
|
|
47
|
+
soturail run --similar-dedupe conservative npm test
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Similar-output dedupe is deterministic and experimental. It normalizes whitespace, timestamps and temporary paths; it does not use AI or semantic matching.
|
|
@@ -14,6 +14,7 @@ Before publishing:
|
|
|
14
14
|
- [ ] `node dist/cli.js context --help`
|
|
15
15
|
- [ ] `npm pack --dry-run`
|
|
16
16
|
- [ ] `npm run release:check`
|
|
17
|
+
- [ ] `node dist/cli.js release verify-package`
|
|
17
18
|
- [ ] `node dist/cli.js --version` matches `package.json`.
|
|
18
19
|
- [ ] Confirm docs mention limitations honestly.
|
|
19
20
|
- [ ] Confirm no telemetry exists.
|
|
@@ -30,6 +31,15 @@ Check four separate release identifiers before publishing:
|
|
|
30
31
|
|
|
31
32
|
The package version and CLI runtime version must match. `npm run build` regenerates the CLI version source from `package.json`, and `npm run release:check` verifies the built CLI before publication.
|
|
32
33
|
|
|
34
|
+
v0.3.2 adds a packed-package verification gate. It runs `npm pack --json`, installs the generated `.tgz` into a temporary clean directory, and verifies both:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node node_modules/soturail/dist/cli.js --version
|
|
38
|
+
npx --no-install soturail --version
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
This gate must print the same version as `package.json`.
|
|
42
|
+
|
|
33
43
|
## Audit Distinction
|
|
34
44
|
|
|
35
45
|
`npm audit` checks all dependencies, including dev dependencies used for local tests and builds.
|
package/docs/release-workflow.md
CHANGED
|
@@ -15,9 +15,19 @@ The check also verifies:
|
|
|
15
15
|
- `package.json` and `package-lock.json` version sync;
|
|
16
16
|
- `node dist/cli.js --version` matches the package version;
|
|
17
17
|
- npm pack dry-run emits the matching tarball name;
|
|
18
|
+
- the packed tarball installs into a clean temp project and its installed CLI prints the package version;
|
|
19
|
+
- expected package files are present and forbidden generated files are absent;
|
|
18
20
|
- `CHANGELOG.md` and `RELEASE_NOTES_vX.Y.Z.md` exist for the local version;
|
|
19
21
|
- README install instructions and `LICENSE` exist.
|
|
20
22
|
|
|
23
|
+
You can run only the package verification gate with:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
soturail release verify-package
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This catches stale generated version files that local source checks might miss.
|
|
30
|
+
|
|
21
31
|
## Publish
|
|
22
32
|
|
|
23
33
|
```bash
|
package/docs/security-model.md
CHANGED
|
@@ -27,7 +27,19 @@ This is intentionally verbose so accidental bypasses are unlikely.
|
|
|
27
27
|
|
|
28
28
|
Raw command logs remain on disk so compressed summaries can always be audited.
|
|
29
29
|
|
|
30
|
-
Raw logs may contain secrets. Do not commit `.soturail/raw/`.
|
|
30
|
+
Raw logs may contain secrets. Do not commit `.soturail/raw/`. CLI expansion redacts probable secrets by default:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
soturail expand <raw_id>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Exact raw output requires an explicit opt-in:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
soturail expand <raw_id> --allow-raw --yes
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
MCP raw-log expansion also redacts probable secrets by default unless `allow_raw=true` is explicitly passed.
|
|
31
43
|
|
|
32
44
|
## MCP And Skills
|
|
33
45
|
|
package/docs/skill-rail.md
CHANGED
|
@@ -20,3 +20,7 @@ Skills live in `.soturail/skills/<skill-id>/` with `skill.yml`, `SKILL.md`, exam
|
|
|
20
20
|
Validation checks required metadata, target names, duplicate IDs, deterministic content hashes, destructive shell patterns, prompt-injection style instructions and probable embedded secrets.
|
|
21
21
|
|
|
22
22
|
Exports are written to `.soturail/exports/skills/<target>/`. Review every generated file before enabling it in Claude, Codex, Gemini, Cursor or another host.
|
|
23
|
+
|
|
24
|
+
`soturail skills list` prints each skill ID, risk level, name, description, version, targets and local path. If there are no local skills, it prints the command to create one.
|
|
25
|
+
|
|
26
|
+
The generated starter skill includes safe workflow steps, a verification checklist, example input/output, target metadata and human approval requirements for destructive commands, remote writes and dependency installation.
|
package/docs/usage.md
CHANGED
|
@@ -67,13 +67,21 @@ soturail bench compare-engines
|
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
69
|
soturail skills init demo-skill
|
|
70
|
+
soturail skills list
|
|
70
71
|
soturail skills validate
|
|
71
72
|
soturail skills export --target claude
|
|
73
|
+
soturail context pack --target claude
|
|
74
|
+
soturail context pack --target codex
|
|
75
|
+
soturail context pack --target gemini
|
|
76
|
+
soturail context pack --target cursor
|
|
72
77
|
soturail context pack --target generic
|
|
73
78
|
soturail mcp doctor
|
|
74
79
|
soturail mcp manifest
|
|
80
|
+
soturail mcp serve --transport stdio
|
|
75
81
|
soturail hooks install --agent claude --mode safe-hooks --dry-run
|
|
76
82
|
soturail release check
|
|
77
83
|
```
|
|
78
84
|
|
|
79
85
|
MCP is local stdio JSON-RPC style transport and does not expose arbitrary shell execution in v0.3.0.
|
|
86
|
+
|
|
87
|
+
For a first clean-folder walkthrough, see [first-real-workflow.md](first-real-workflow.md).
|
package/docs/windows.md
CHANGED
|
@@ -26,7 +26,7 @@ From a source checkout:
|
|
|
26
26
|
npm run build
|
|
27
27
|
npm pack --dry-run
|
|
28
28
|
npm pack
|
|
29
|
-
npm install -g .\soturail-0.3.
|
|
29
|
+
npm install -g .\soturail-0.3.2.tgz
|
|
30
30
|
soturail --version
|
|
31
31
|
```
|
|
32
32
|
|
|
@@ -71,6 +71,26 @@ node app.js
|
|
|
71
71
|
npx soturail --help
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
+
## MCP And Context Packs
|
|
75
|
+
|
|
76
|
+
PowerShell examples:
|
|
77
|
+
|
|
78
|
+
```powershell
|
|
79
|
+
soturail mcp doctor
|
|
80
|
+
soturail mcp manifest
|
|
81
|
+
soturail context pack --target generic
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
CMD examples:
|
|
85
|
+
|
|
86
|
+
```bat
|
|
87
|
+
soturail mcp doctor
|
|
88
|
+
soturail mcp manifest
|
|
89
|
+
soturail context pack --target generic
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
When testing `soturail mcp serve --transport stdio`, send one JSON object per line. See `examples\mcp\` for payloads.
|
|
93
|
+
|
|
74
94
|
## Safety
|
|
75
95
|
|
|
76
96
|
SotuRail blocks destructive command shapes through `soturail run`, including `rm -rf`, `sudo`, `del /s`, downloaded script piping and automatic `git push`.
|
|
@@ -87,6 +107,8 @@ npm run release:check
|
|
|
87
107
|
|
|
88
108
|
`package.json`, `package-lock.json`, `node dist/cli.js --version`, the npm tarball name, the changelog and the release notes must all agree on the same version.
|
|
89
109
|
|
|
110
|
+
v0.3.2 also verifies the packed tarball by installing it in a temporary clean project and running the installed CLI. This helps catch stale generated version files before publish.
|
|
111
|
+
|
|
90
112
|
Use browser-based npm login when needed:
|
|
91
113
|
|
|
92
114
|
```powershell
|
package/docs/workflow-rail.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Workflow Rail
|
|
2
2
|
|
|
3
|
-
Workflow Rail is planned for v0.4.0. It is not implemented in v0.3.
|
|
3
|
+
Workflow Rail is planned for v0.4.0. It is not implemented in v0.3.x.
|
|
4
4
|
|
|
5
5
|
The goal is to describe repeatable engineering workflows as local, auditable artifacts that can later export into Skill Rail or an MCP server.
|
|
6
6
|
|
|
@@ -24,3 +24,9 @@ soturail workflow export skill
|
|
|
24
24
|
- Require human approval before enabling generated workflows or exported skills.
|
|
25
25
|
|
|
26
26
|
Workflow Rail should complement, not replace, the existing SotuRail rails: `soturail run`, raw log recovery, Knowledge-to-Rules, benchmarks, cache-normalized payloads and self-dogfooding reports.
|
|
27
|
+
|
|
28
|
+
## Current Road
|
|
29
|
+
|
|
30
|
+
- v0.3.1: real usage polish, installed workflow examples and clean-folder smoke tests.
|
|
31
|
+
- v0.3.2: stronger reducers and deduplication.
|
|
32
|
+
- v0.4.0: real agent integrations and Workflow Rail.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# SotuRail Examples
|
|
2
|
+
|
|
3
|
+
These examples are small starting points for real local usage:
|
|
4
|
+
|
|
5
|
+
- `skills/`: reviewable Skill Rail YAML examples.
|
|
6
|
+
- `context-packs/`: context pack workflows.
|
|
7
|
+
- `mcp/`: JSON-RPC messages for the stdio MCP server.
|
|
8
|
+
- `hooks/`: prompt-only and hook guidance.
|
|
9
|
+
|
|
10
|
+
Run examples in a disposable folder first:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
soturail init
|
|
14
|
+
soturail index
|
|
15
|
+
soturail context pack --target generic
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Safety notes:
|
|
19
|
+
|
|
20
|
+
- Review generated files before enabling them in an agent.
|
|
21
|
+
- Do not paste raw logs into public issues without checking for secrets.
|
|
22
|
+
- MCP does not expose arbitrary shell execution by default.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Context Pack Examples
|
|
2
|
+
|
|
3
|
+
Context packs are Markdown payloads with stable project context before dynamic session data.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
soturail init
|
|
7
|
+
soturail index
|
|
8
|
+
soturail context pack --target generic
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Generated files:
|
|
12
|
+
|
|
13
|
+
- `.soturail/context/claude-context.md`
|
|
14
|
+
- `.soturail/context/codex-context.md`
|
|
15
|
+
- `.soturail/context/gemini-context.md`
|
|
16
|
+
- `.soturail/context/cursor-context.md`
|
|
17
|
+
- `.soturail/context/generic-context.md`
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Hook Examples
|
|
2
|
+
|
|
3
|
+
Start with dry-run:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
soturail hooks doctor
|
|
7
|
+
soturail hooks install --agent claude --mode safe-hooks --dry-run
|
|
8
|
+
soturail hooks install --agent codex --mode prompt-only --dry-run
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Review every generated file before enabling hooks.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Prompt-only Codex Rules
|
|
2
|
+
|
|
3
|
+
- Use `soturail index` before large repository changes.
|
|
4
|
+
- Use `soturail read <file> --query "goal"` instead of reading giant files directly.
|
|
5
|
+
- Use `soturail run` for tests, builds and logs so raw output is recoverable.
|
|
6
|
+
- Use `soturail expand <raw_id>` only when the compressed summary lacks needed information.
|
|
7
|
+
- Never use `soturail run` for `git push`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# MCP Examples
|
|
2
|
+
|
|
3
|
+
These files are one-message JSON-RPC examples for `soturail mcp serve --transport stdio`.
|
|
4
|
+
|
|
5
|
+
Run:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
soturail mcp serve --transport stdio
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Then paste one JSON object per line. The server responds with one JSON-RPC response per line.
|
|
12
|
+
|
|
13
|
+
Safety notes:
|
|
14
|
+
|
|
15
|
+
- MCP does not expose arbitrary shell execution by default.
|
|
16
|
+
- `soturail.run` is not listed as an MCP tool.
|
|
17
|
+
- Raw log expansion redacts probable secrets unless `allow_raw=true`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"clientInfo":{"name":"manual-smoke","version":"0.1.0"}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"jsonrpc":"2.0","id":2,"method":"resources/list"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"jsonrpc":"2.0","id":3,"method":"resources/read","params":{"uri":"soturail://repo-map"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"jsonrpc":"2.0","id":4,"method":"tools/list"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Skill Examples
|
|
2
|
+
|
|
3
|
+
Use these YAML files as references for `soturail skills init <name>` output.
|
|
4
|
+
|
|
5
|
+
Recommended flow:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
soturail skills init code-review
|
|
9
|
+
soturail skills validate
|
|
10
|
+
soturail skills export --target claude
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The example YAML files are documentation templates. A real local skill also needs a matching `SKILL.md` and deterministic `content_hash`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
id: bug-triage
|
|
2
|
+
name: Bug Triage
|
|
3
|
+
description: Turn a bug report into reproduction steps, likely causes, evidence and verification commands.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
author: Rafael Ryan Ramos de Souza
|
|
6
|
+
risk_level: low
|
|
7
|
+
targets:
|
|
8
|
+
- claude
|
|
9
|
+
- codex
|
|
10
|
+
- gemini
|
|
11
|
+
- cursor
|
|
12
|
+
- generic
|
|
13
|
+
allowed_tools:
|
|
14
|
+
- read
|
|
15
|
+
- search
|
|
16
|
+
- summarize
|
|
17
|
+
- format
|
|
18
|
+
forbidden_patterns:
|
|
19
|
+
- rm -rf
|
|
20
|
+
- curl | sh
|
|
21
|
+
- secret exfiltration
|
|
22
|
+
requires_human_approval:
|
|
23
|
+
- destructive_command
|
|
24
|
+
- remote_write
|
|
25
|
+
created_at: 2026-05-21T00:00:00.000Z
|
|
26
|
+
content_hash: 0000000000000000000000000000000000000000000000000000000000000000
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
id: code-review
|
|
2
|
+
name: Code Review
|
|
3
|
+
description: Review code changes for correctness, safety, regression risk and missing tests.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
author: Rafael Ryan Ramos de Souza
|
|
6
|
+
risk_level: low
|
|
7
|
+
targets:
|
|
8
|
+
- claude
|
|
9
|
+
- codex
|
|
10
|
+
- gemini
|
|
11
|
+
- cursor
|
|
12
|
+
- generic
|
|
13
|
+
allowed_tools:
|
|
14
|
+
- read
|
|
15
|
+
- search
|
|
16
|
+
- summarize
|
|
17
|
+
- format
|
|
18
|
+
forbidden_patterns:
|
|
19
|
+
- rm -rf
|
|
20
|
+
- curl | sh
|
|
21
|
+
- git push
|
|
22
|
+
- secret exfiltration
|
|
23
|
+
requires_human_approval:
|
|
24
|
+
- destructive_command
|
|
25
|
+
- remote_write
|
|
26
|
+
- dependency_install
|
|
27
|
+
created_at: 2026-05-21T00:00:00.000Z
|
|
28
|
+
content_hash: 0000000000000000000000000000000000000000000000000000000000000000
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
id: java-student-helper
|
|
2
|
+
name: Java Student Helper
|
|
3
|
+
description: Help review Java exercises with explanations, compiler diagnostics and safe next practice steps.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
author: Rafael Ryan Ramos de Souza
|
|
6
|
+
risk_level: low
|
|
7
|
+
targets:
|
|
8
|
+
- claude
|
|
9
|
+
- codex
|
|
10
|
+
- gemini
|
|
11
|
+
- cursor
|
|
12
|
+
- generic
|
|
13
|
+
allowed_tools:
|
|
14
|
+
- read
|
|
15
|
+
- search
|
|
16
|
+
- summarize
|
|
17
|
+
- format
|
|
18
|
+
forbidden_patterns:
|
|
19
|
+
- delete student files without approval
|
|
20
|
+
- secret exfiltration
|
|
21
|
+
requires_human_approval:
|
|
22
|
+
- destructive_command
|
|
23
|
+
- dependency_install
|
|
24
|
+
created_at: 2026-05-21T00:00:00.000Z
|
|
25
|
+
content_hash: 0000000000000000000000000000000000000000000000000000000000000000
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
id: php-web-reviewer
|
|
2
|
+
name: PHP Web Reviewer
|
|
3
|
+
description: Review PHP web changes for routing, validation, database safety and deployment risk.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
author: Rafael Ryan Ramos de Souza
|
|
6
|
+
risk_level: medium
|
|
7
|
+
targets:
|
|
8
|
+
- claude
|
|
9
|
+
- codex
|
|
10
|
+
- gemini
|
|
11
|
+
- cursor
|
|
12
|
+
- generic
|
|
13
|
+
allowed_tools:
|
|
14
|
+
- read
|
|
15
|
+
- search
|
|
16
|
+
- summarize
|
|
17
|
+
- format
|
|
18
|
+
forbidden_patterns:
|
|
19
|
+
- dumping environment variables
|
|
20
|
+
- committing credentials
|
|
21
|
+
- secret exfiltration
|
|
22
|
+
requires_human_approval:
|
|
23
|
+
- destructive_command
|
|
24
|
+
- remote_write
|
|
25
|
+
- dependency_install
|
|
26
|
+
created_at: 2026-05-21T00:00:00.000Z
|
|
27
|
+
content_hash: 0000000000000000000000000000000000000000000000000000000000000000
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
id: release-manager
|
|
2
|
+
name: Release Manager
|
|
3
|
+
description: Prepare release validation, changelog notes, npm package checks and GitHub release evidence.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
author: Rafael Ryan Ramos de Souza
|
|
6
|
+
risk_level: medium
|
|
7
|
+
targets:
|
|
8
|
+
- claude
|
|
9
|
+
- codex
|
|
10
|
+
- gemini
|
|
11
|
+
- cursor
|
|
12
|
+
- generic
|
|
13
|
+
allowed_tools:
|
|
14
|
+
- read
|
|
15
|
+
- search
|
|
16
|
+
- summarize
|
|
17
|
+
- format
|
|
18
|
+
forbidden_patterns:
|
|
19
|
+
- npm publish without validation
|
|
20
|
+
- git push without explicit user request
|
|
21
|
+
- secret exfiltration
|
|
22
|
+
requires_human_approval:
|
|
23
|
+
- remote_write
|
|
24
|
+
- dependency_install
|
|
25
|
+
created_at: 2026-05-21T00:00:00.000Z
|
|
26
|
+
content_hash: 0000000000000000000000000000000000000000000000000000000000000000
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "soturail",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Local-first context rails for AI coding agents: reversible terminal compression, progressive repo reading, SDD workflows, hooks, benchmarks, memory and cache-friendly payloads.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
"dist",
|
|
14
14
|
"README.md",
|
|
15
15
|
"LICENSE",
|
|
16
|
-
"docs"
|
|
16
|
+
"docs",
|
|
17
|
+
"examples"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
20
|
"sync:version": "node scripts/sync-version.mjs",
|