threadroot 0.1.3 → 0.1.5
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/CHANGELOG.md +23 -0
- package/INTEGRATION.md +256 -0
- package/README.md +42 -25
- package/dist/index.js +946 -554
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,29 @@ All notable changes to Threadroot will be documented here.
|
|
|
4
4
|
|
|
5
5
|
Threadroot follows semantic versioning after the first public release. While `0.x`, minor versions may include breaking changes as the harness format settles.
|
|
6
6
|
|
|
7
|
+
## 0.1.5 - Website integration contracts
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `bootstrap --packs <list>` to install capability packs during first-run setup.
|
|
12
|
+
- Machine-readable `--json` output for `bootstrap`, `start`, `status`, `context`, `doctor`, `mcp check`, and `mcp setup`.
|
|
13
|
+
- Connection authoring flags for `--allow` and `--deny` command fragments.
|
|
14
|
+
- `INTEGRATION.md` as the website/cloud contract for prompt generation, JSON CLI usage, and future auth/sync shape.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- MCP tool calls now return structured content alongside text content.
|
|
19
|
+
- MCP `tools_run` no longer accepts model-supplied confirmation for risky tools; agents must ask the user to approve via the CLI.
|
|
20
|
+
- Connection `allow` and `deny` rules are enforced when connection-backed shell tools run.
|
|
21
|
+
- Pack installs now write object-level provenance and sha256 integrity entries to `.threadroot/lock.json`.
|
|
22
|
+
- Release guidance now points toward npm provenance and signature verification.
|
|
23
|
+
|
|
24
|
+
## 0.1.4 - Stable npx MCP config
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- `bootstrap --mcp` and `setup --global --mcp` now detect npm's `_npx` cache path and write a stable pinned `npx --yes threadroot@<version> mcp` Codex MCP command instead of pointing Codex at a transient npm cache file.
|
|
29
|
+
|
|
7
30
|
## 0.1.3 - Verified Codex MCP setup
|
|
8
31
|
|
|
9
32
|
### Added
|
package/INTEGRATION.md
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# Threadroot Integration Contract
|
|
2
|
+
|
|
3
|
+
This document is the handoff surface for a future website, prompt generator, and
|
|
4
|
+
cloud/auth repo. The OSS CLI remains the source of truth. The website should
|
|
5
|
+
generate prompts and commands that drive this CLI instead of reimplementing
|
|
6
|
+
harness logic.
|
|
7
|
+
|
|
8
|
+
## Product Boundary
|
|
9
|
+
|
|
10
|
+
Threadroot OSS is the local agent harness compiler:
|
|
11
|
+
|
|
12
|
+
- `.threadroot/` is canonical project state.
|
|
13
|
+
- The CLI initializes, validates, compiles, and exposes harness context.
|
|
14
|
+
- MCP exposes the same local harness to agent clients.
|
|
15
|
+
- Tools and connections execute locally only.
|
|
16
|
+
- No secrets are stored in the repo.
|
|
17
|
+
|
|
18
|
+
The website/cloud repo can add:
|
|
19
|
+
|
|
20
|
+
- Prompt generation for new/existing projects.
|
|
21
|
+
- Account login, repo/project bindings, and saved project preferences.
|
|
22
|
+
- Cloud-hosted skill, pack, and tool authoring workflows.
|
|
23
|
+
- Optional sync of approved harness objects into a local repo.
|
|
24
|
+
|
|
25
|
+
The website/cloud repo must not bypass the local CLI trust model for execution.
|
|
26
|
+
|
|
27
|
+
## Website Prompt Generator Inputs
|
|
28
|
+
|
|
29
|
+
The website should ask for a small set of high-signal choices:
|
|
30
|
+
|
|
31
|
+
- Project state: `new`, `existing`, or `existing-with-agent-files`.
|
|
32
|
+
- Primary agent/provider: `codex`, `claude`, `cursor`, `copilot`, `gemini`,
|
|
33
|
+
`windsurf`, `antigravity`, `opencode`, or `all`.
|
|
34
|
+
- IDE/editor: VS Code, Cursor, terminal-only, other.
|
|
35
|
+
- Project profile: `nextjs`, `vite-react`, `fastapi`, `python-cli`,
|
|
36
|
+
`node-cli`, `dbt`, or `empty`.
|
|
37
|
+
- Stack tags: TypeScript, React, Python, testing, security, system design,
|
|
38
|
+
CLI, data, cloud.
|
|
39
|
+
- Cloud/tooling needs: GitHub, AWS, Azure, Snowflake, dbt, none.
|
|
40
|
+
- Initial task: a short natural language task.
|
|
41
|
+
- Project clutter preference: local-only default, optional provider exposure.
|
|
42
|
+
- MCP preference: configure Codex MCP now, project-local MCP later, or skip.
|
|
43
|
+
|
|
44
|
+
## Prompt-to-CLI Mapping
|
|
45
|
+
|
|
46
|
+
The website should prefer one bootstrap command plus verification:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
threadroot bootstrap --yes \
|
|
50
|
+
--agent <agent-or-all> \
|
|
51
|
+
--profile <profile> \
|
|
52
|
+
--task "<initial task>" \
|
|
53
|
+
--packs <comma-separated-packs> \
|
|
54
|
+
--mcp \
|
|
55
|
+
--json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Use `--no-import` for a blank/new repo when the user wants a clean start:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
threadroot bootstrap --yes --no-import --profile empty --task "start this project" --json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Use import for an existing repo so Threadroot can preserve useful existing
|
|
65
|
+
agent/vendor context:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
threadroot bootstrap --yes --profile <profile> --task "<task>" --json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Provider-native project files stay opt-in:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
threadroot expose <agent>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Verification commands:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
threadroot doctor --json
|
|
81
|
+
threadroot status --json
|
|
82
|
+
threadroot context "<task>" --json
|
|
83
|
+
threadroot mcp check --json
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The success message generated by the website prompt should be:
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
Success: Threadroot is ready. Run threadroot start "<task>" for future sessions.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Pack Mapping
|
|
93
|
+
|
|
94
|
+
Initial pack choices should map conservatively:
|
|
95
|
+
|
|
96
|
+
| User choice | Packs |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| TypeScript or Node CLI | `typescript-node` |
|
|
99
|
+
| React app | `react-app`, `testing` |
|
|
100
|
+
| Python | `python`, `testing` |
|
|
101
|
+
| Testing-heavy project | `testing` |
|
|
102
|
+
| Code review / PR workflow | `code-review` |
|
|
103
|
+
| Security work | `security-review` |
|
|
104
|
+
| Architecture / product planning | `system-design` |
|
|
105
|
+
|
|
106
|
+
If uncertain, install fewer packs. Agents can list and install more later:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
threadroot packs list --json
|
|
110
|
+
threadroot packs inspect <pack> --json
|
|
111
|
+
threadroot packs install <pack> --json
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Pack installs record object-level provenance in `.threadroot/lock.json` with
|
|
115
|
+
`source: pack:<name>` and sha256 integrity.
|
|
116
|
+
|
|
117
|
+
## JSON Surfaces
|
|
118
|
+
|
|
119
|
+
The website/cloud repo should call these commands instead of scraping text:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
threadroot bootstrap --json
|
|
123
|
+
threadroot start "<task>" --json
|
|
124
|
+
threadroot status --json
|
|
125
|
+
threadroot doctor --json
|
|
126
|
+
threadroot context "<task>" --json
|
|
127
|
+
threadroot mcp check --json
|
|
128
|
+
threadroot mcp setup --json
|
|
129
|
+
threadroot skills list --json
|
|
130
|
+
threadroot skills inspect <path> --json
|
|
131
|
+
threadroot skills validate --json
|
|
132
|
+
threadroot tools list --json
|
|
133
|
+
threadroot tools detect --json
|
|
134
|
+
threadroot tools check --json
|
|
135
|
+
threadroot connections list --json
|
|
136
|
+
threadroot connections check --json
|
|
137
|
+
threadroot packs list --json
|
|
138
|
+
threadroot packs inspect <pack> --json
|
|
139
|
+
threadroot packs validate <pack> --json
|
|
140
|
+
threadroot packs install <pack> --json
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Until `1.0`, these JSON shapes are alpha contracts. The website should parse
|
|
144
|
+
only fields it uses and tolerate extra fields.
|
|
145
|
+
|
|
146
|
+
## Tools And Connections
|
|
147
|
+
|
|
148
|
+
Tool creation should stay local and explicit:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
threadroot tools create \
|
|
152
|
+
--from-command "pnpm test" \
|
|
153
|
+
--description "Run the test suite" \
|
|
154
|
+
--risk low \
|
|
155
|
+
--healthcheck "pnpm test" \
|
|
156
|
+
--json
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Connection creation should wrap official local CLIs only:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
threadroot connections add aws-dev \
|
|
163
|
+
--provider aws \
|
|
164
|
+
--command aws \
|
|
165
|
+
--profile dev \
|
|
166
|
+
--risk high \
|
|
167
|
+
--confirm \
|
|
168
|
+
--allow "sts get-caller-identity,s3 ls,logs tail" \
|
|
169
|
+
--deny "delete,terminate,iam" \
|
|
170
|
+
--healthcheck "aws sts get-caller-identity --profile dev" \
|
|
171
|
+
--json
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Rules:
|
|
175
|
+
|
|
176
|
+
- Connections must not store credentials.
|
|
177
|
+
- Users authenticate through official CLIs such as `gh`, `aws`, `az`, or
|
|
178
|
+
Snowflake CLI.
|
|
179
|
+
- MCP cannot self-confirm risky tool execution.
|
|
180
|
+
- High-risk, untrusted, or blocked tools must be approved through the local CLI.
|
|
181
|
+
|
|
182
|
+
## Future Cloud/Auth CLI Contract
|
|
183
|
+
|
|
184
|
+
Do not implement these in OSS until the cloud repo exists, but reserve the shape:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
threadroot login
|
|
188
|
+
threadroot auth status --json
|
|
189
|
+
threadroot link --repo owner/name --project <project-id>
|
|
190
|
+
threadroot sync status --json
|
|
191
|
+
threadroot sync pull --json
|
|
192
|
+
threadroot sync push --json
|
|
193
|
+
threadroot sync apply --from cloud --json
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Expected cloud files, if added later:
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
.threadroot/cloud.json # repo binding, no secrets
|
|
200
|
+
~/.threadroot/auth.json # local auth cache or pointer, never committed
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
`.threadroot/cloud.json` should contain only non-secret metadata:
|
|
204
|
+
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"version": 1,
|
|
208
|
+
"projectId": "trp_...",
|
|
209
|
+
"repo": "owner/name",
|
|
210
|
+
"remote": "https://api.threadroot.dev"
|
|
211
|
+
}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
The auth flow should use device/browser login for CLI users and store tokens
|
|
215
|
+
outside the repository. Repo sync should operate on harness objects, not source
|
|
216
|
+
code, and should always show a diff or status before applying remote changes.
|
|
217
|
+
|
|
218
|
+
## Cloud Data Model Sketch
|
|
219
|
+
|
|
220
|
+
Minimum useful entities:
|
|
221
|
+
|
|
222
|
+
- User
|
|
223
|
+
- Organization
|
|
224
|
+
- RepoBinding
|
|
225
|
+
- CloudProject
|
|
226
|
+
- HarnessSnapshot
|
|
227
|
+
- Skill
|
|
228
|
+
- ToolTemplate
|
|
229
|
+
- ConnectionTemplate
|
|
230
|
+
- Pack
|
|
231
|
+
- InstallEvent
|
|
232
|
+
- AuditEvent
|
|
233
|
+
|
|
234
|
+
Store generated skills/tools/packs as versioned artifacts. Do not store local CLI
|
|
235
|
+
secrets, cloud provider keys, or repo source code in v1 cloud.
|
|
236
|
+
|
|
237
|
+
## Security And Release Anchors
|
|
238
|
+
|
|
239
|
+
- Prefer npm trusted publishing/provenance for package releases.
|
|
240
|
+
- Keep `.threadroot/lock.json` as the local provenance ledger.
|
|
241
|
+
- Treat MCP tools as agent-controlled and require human approval for sensitive
|
|
242
|
+
actions.
|
|
243
|
+
- Prefer explicit allow/deny policies for connection-backed tools.
|
|
244
|
+
- Keep website-generated prompts short and command-driven.
|
|
245
|
+
- Use `threadroot doctor --json` as the machine-readable trust gate.
|
|
246
|
+
|
|
247
|
+
## Website Readiness Checklist
|
|
248
|
+
|
|
249
|
+
The OSS core is ready for website work when:
|
|
250
|
+
|
|
251
|
+
- `pnpm release:check` passes.
|
|
252
|
+
- `threadroot bootstrap --yes --packs <list> --json` initializes a temp repo.
|
|
253
|
+
- `threadroot doctor --json` reports `ok: true` or actionable findings.
|
|
254
|
+
- Pack installs write `.threadroot/lock.json` provenance.
|
|
255
|
+
- MCP check verifies the local stdio server.
|
|
256
|
+
- README and generated agent prompts reference only real commands.
|
package/README.md
CHANGED
|
@@ -39,6 +39,7 @@ node dist/index.js --help
|
|
|
39
39
|
```bash
|
|
40
40
|
tr bootstrap --yes # one-time machine setup + local-only .threadroot/
|
|
41
41
|
tr bootstrap --yes --mcp # also configure and verify global Codex MCP
|
|
42
|
+
tr bootstrap --yes --packs testing,typescript-node
|
|
42
43
|
tr start "write tests" # doctor, status, relevant context, and command map
|
|
43
44
|
tr mcp check # verify Codex MCP config and server handshake
|
|
44
45
|
tr expose codex # optional: write a thin project skill shim for Codex
|
|
@@ -49,32 +50,32 @@ tr expose codex # optional: write a thin project skill shim for Codex
|
|
|
49
50
|
## CLI surface
|
|
50
51
|
|
|
51
52
|
```bash
|
|
52
|
-
tr bootstrap [--yes] [--agent <list>] [--task <task>] [--mcp] [--expose <list>]
|
|
53
|
-
tr start ["<task>"]
|
|
53
|
+
tr bootstrap [--yes] [--agent <list>] [--task <task>] [--mcp] [--expose <list>] [--packs <list>] [--json]
|
|
54
|
+
tr start ["<task>"] [--json]
|
|
54
55
|
tr setup --global [--agent <list>] [--dry-run] [--check] [--undo] [--mcp]
|
|
55
56
|
tr init [--force] [--no-import] [--profile <p>] [--adapters <list>] [--expose <list>]
|
|
56
57
|
tr expose [agent|all] [--dry-run] [--check] [--undo] [--force]
|
|
57
|
-
tr status
|
|
58
|
+
tr status [--json]
|
|
58
59
|
tr diff
|
|
59
|
-
tr doctor
|
|
60
|
+
tr doctor [--json]
|
|
60
61
|
tr compile [--adapter <agents|claude|copilot|cursor>]
|
|
61
|
-
tr context "<task>"
|
|
62
|
-
tr run <tool> [--input k=v ...] [-y]
|
|
62
|
+
tr context "<task>" [--json] # assemble the task-relevant harness slice
|
|
63
|
+
tr run <tool> [--input k=v ...] [-y] [--json]
|
|
63
64
|
tr install <source> [--kind skill|tool|rule|connection] [--path <p>] [--user]
|
|
64
65
|
tr remember "<note>" [--type project|current-focus|handoff|pitfalls]
|
|
65
66
|
tr memory read <type>
|
|
66
67
|
tr memory append <type> "<note>"
|
|
67
|
-
tr skills list | validate [--path <path>]
|
|
68
|
-
tr skills inspect <path>
|
|
69
|
-
tr tools list | detect | check
|
|
70
|
-
tr tools add <name> --description "<text>" [--run "<cmd>"]
|
|
71
|
-
tr tools create --from-command "<cmd>"
|
|
72
|
-
tr connections list | check
|
|
73
|
-
tr connections add <name> --provider <p> --command <cmd>
|
|
74
|
-
tr packs list | inspect <pack> | validate <pack> | install <pack>
|
|
68
|
+
tr skills list [--json] | validate [--path <path>] [--json]
|
|
69
|
+
tr skills inspect <path> [--json]
|
|
70
|
+
tr tools list | detect | check [--json]
|
|
71
|
+
tr tools add <name> --description "<text>" [--run "<cmd>"] [--json]
|
|
72
|
+
tr tools create --from-command "<cmd>" [--json]
|
|
73
|
+
tr connections list | check [--json]
|
|
74
|
+
tr connections add <name> --provider <p> --command <cmd> [--allow <patterns>] [--deny <patterns>] [--json]
|
|
75
|
+
tr packs list | inspect <pack> | validate <pack> | install <pack> [--json]
|
|
75
76
|
tr mcp # run the local MCP server (stdio)
|
|
76
|
-
tr mcp check
|
|
77
|
-
tr mcp setup [--write]
|
|
77
|
+
tr mcp check [--json] # verify Codex MCP config and required tools
|
|
78
|
+
tr mcp setup [--write] [--json] # wire MCP into agents
|
|
78
79
|
```
|
|
79
80
|
|
|
80
81
|
## The harness (`.threadroot/`)
|
|
@@ -109,10 +110,12 @@ tr start "current task"
|
|
|
109
110
|
|
|
110
111
|
Without `--yes`, `tr bootstrap` prints a dry-run plan. With `--yes`, it installs global
|
|
111
112
|
agent bootstrap skills, initializes `.threadroot/` if needed, runs doctor, and prints
|
|
112
|
-
task context. With `--mcp`, it also writes Codex MCP config using
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
task context. With `--mcp`, it also writes Codex MCP config using a durable command for
|
|
114
|
+
the current launch path. `npx` runs write a pinned `npx --yes threadroot@<version> mcp`
|
|
115
|
+
command instead of a transient npm cache path; local dev runs use
|
|
116
|
+
`node /path/dist/index.js mcp`; unknown launch paths fall back to `threadroot mcp`. The
|
|
117
|
+
setup verifies the stdio server handshake. It does not write provider-specific project
|
|
118
|
+
files unless you pass `--expose`.
|
|
116
119
|
|
|
117
120
|
Global setup installs a tiny `threadroot` skill into supported agent user-skill
|
|
118
121
|
directories so agents know to call `threadroot bootstrap --yes` when setup is missing
|
|
@@ -150,7 +153,8 @@ every Threadroot skill into provider directories.
|
|
|
150
153
|
add-test, debug-failure, write-docs, conventional-commits.
|
|
151
154
|
- **Starter tools:** wrapped from the repo's detected command surface (scripts, Make/just),
|
|
152
155
|
auto-added to `tools.allow`.
|
|
153
|
-
- **Profile presets:**
|
|
156
|
+
- **Profile presets:** `nextjs`, `vite-react`, `fastapi`, `python-cli`, `node-cli`,
|
|
157
|
+
`dbt`, and `empty` (detected by the scanner or set with `--profile`).
|
|
154
158
|
- **Adapters:** disabled by default to keep new repos local-only; use `tr expose` for
|
|
155
159
|
skill-compatible providers or `tr compile --adapter <name>` for legacy instruction
|
|
156
160
|
files.
|
|
@@ -200,6 +204,8 @@ tr connections add aws-dev \
|
|
|
200
204
|
--profile dev \
|
|
201
205
|
--risk high \
|
|
202
206
|
--confirm \
|
|
207
|
+
--allow "sts get-caller-identity,s3 ls,logs tail" \
|
|
208
|
+
--deny "delete,terminate,iam" \
|
|
203
209
|
--healthcheck "aws sts get-caller-identity --profile dev"
|
|
204
210
|
tr connections check
|
|
205
211
|
```
|
|
@@ -251,6 +257,10 @@ Tools: `context`, `skills_list`, `skills_get`, `tools_list`, `tools_check`, `too
|
|
|
251
257
|
`tools_create`, `tools_detect`, `connections_list`, `connections_check`, `memory_read`,
|
|
252
258
|
`memory_append`, `status`, `doctor`.
|
|
253
259
|
|
|
260
|
+
MCP can run tools that are already safe under the harness policy. It cannot self-confirm
|
|
261
|
+
`confirm:true`, high-risk, untrusted, or connection-policy-blocked tools; agents should ask
|
|
262
|
+
the user to run `threadroot run <tool> --yes` after review.
|
|
263
|
+
|
|
254
264
|
`tr mcp setup` also prints a copy/paste agent prompt that follows the real CLI flow:
|
|
255
265
|
check availability, run `threadroot bootstrap --yes`, run `threadroot start "<task>"`,
|
|
256
266
|
and ask before writing project-local MCP config.
|
|
@@ -272,6 +282,12 @@ pnpm test
|
|
|
272
282
|
pnpm build
|
|
273
283
|
```
|
|
274
284
|
|
|
285
|
+
## Website and cloud integration
|
|
286
|
+
|
|
287
|
+
The public CLI is the stable foundation for the private website/cloud repo. See
|
|
288
|
+
[INTEGRATION.md](./INTEGRATION.md) for the prompt-generator contract, JSON command
|
|
289
|
+
surface, future auth/sync shape, and cloud data model sketch.
|
|
290
|
+
|
|
275
291
|
## Publishing
|
|
276
292
|
|
|
277
293
|
The npm package ships only `dist/`, `skills/`, `packs/`, and package metadata. Before
|
|
@@ -297,12 +313,13 @@ THREADROOT_ROOT="$(pwd)"
|
|
|
297
313
|
TMP_REPO="$(mktemp -d /tmp/threadroot-smoke.XXXXXX)"
|
|
298
314
|
rsync -a --exclude .git --exclude node_modules --exclude dist ./ "$TMP_REPO/"
|
|
299
315
|
cd "$TMP_REPO"
|
|
300
|
-
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" bootstrap --yes --agent codex --mcp --no-import
|
|
301
|
-
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" mcp check
|
|
302
|
-
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" start "write tests"
|
|
316
|
+
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" bootstrap --yes --agent codex --mcp --no-import --packs testing --json
|
|
317
|
+
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" mcp check --json
|
|
318
|
+
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" start "write tests" --json
|
|
303
319
|
node "$THREADROOT_ROOT/dist/index.js" expose codex
|
|
304
320
|
node "$THREADROOT_ROOT/dist/index.js" status
|
|
305
321
|
node "$THREADROOT_ROOT/dist/index.js" context "write tests"
|
|
322
|
+
node "$THREADROOT_ROOT/dist/index.js" context "write tests" --json
|
|
306
323
|
node "$THREADROOT_ROOT/dist/index.js" skills validate
|
|
307
324
|
node "$THREADROOT_ROOT/dist/index.js" skills validate --path skills
|
|
308
325
|
node "$THREADROOT_ROOT/dist/index.js" skills inspect skills/system-design
|
|
@@ -310,7 +327,7 @@ node "$THREADROOT_ROOT/dist/index.js" packs list
|
|
|
310
327
|
node "$THREADROOT_ROOT/dist/index.js" packs inspect testing
|
|
311
328
|
node "$THREADROOT_ROOT/dist/index.js" tools create --from-command "node --version" --description "Check Node.js"
|
|
312
329
|
node "$THREADROOT_ROOT/dist/index.js" tools check
|
|
313
|
-
node "$THREADROOT_ROOT/dist/index.js" connections add node-local --provider node --command node --risk low --healthcheck "node --version"
|
|
330
|
+
node "$THREADROOT_ROOT/dist/index.js" connections add node-local --provider node --command node --risk low --allow "--version" --deny "rm,delete" --healthcheck "node --version"
|
|
314
331
|
node "$THREADROOT_ROOT/dist/index.js" connections check
|
|
315
332
|
node "$THREADROOT_ROOT/dist/index.js" compile
|
|
316
333
|
node "$THREADROOT_ROOT/dist/index.js" diff
|