threadroot 0.1.0 → 0.1.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/CHANGELOG.md +28 -0
- package/README.md +70 -23
- package/dist/index.js +3304 -2489
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,34 @@ 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.2 - One-command bootstrap and session start
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `threadroot bootstrap` as the simple first-run command for global agent setup, local-only harness initialization, health checks, and initial context.
|
|
12
|
+
- `threadroot start "<task>"` as the daily agent-session command for doctor, status, task context, and Threadroot command discovery.
|
|
13
|
+
- Package smoke coverage for the new bootstrap/start flow.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- The generated agent bootstrap prompt now uses `threadroot bootstrap --yes` and `threadroot start "<task>"` instead of spelling out lower-level setup commands.
|
|
18
|
+
- README quickstart now leads with the simplified bootstrap/start flow.
|
|
19
|
+
|
|
20
|
+
## 0.1.1 - Clean setup and global agent bootstrap
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- `threadroot init` now creates a local-only `.threadroot/` harness by default.
|
|
25
|
+
- Missing MCP config is now a doctor hint instead of a warning for local-only projects.
|
|
26
|
+
- Bootstrap prompts now ask before writing project-local MCP config or provider exposure files.
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- `threadroot expose` for thin project skill shims across Codex, Claude Code, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Antigravity, and OpenCode.
|
|
31
|
+
- `threadroot setup --global` for one-time machine-level Threadroot skills across supported agents.
|
|
32
|
+
- Codex global setup support for `~/.agents/skills/threadroot/SKILL.md`, `~/.codex/AGENTS.md`, and optional `~/.codex/config.toml` MCP config.
|
|
33
|
+
- Dry-run, check, undo, force, and MCP options for global setup.
|
|
34
|
+
|
|
7
35
|
## 0.1.0 - Initial OSS alpha
|
|
8
36
|
|
|
9
37
|
### Added
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Threadroot
|
|
2
2
|
|
|
3
|
-
Threadroot is **git for your AI agent harness**: you author skills, rules, tools,
|
|
4
|
-
memory once in a canonical `.threadroot/` directory
|
|
5
|
-
|
|
3
|
+
Threadroot is **git for your AI agent harness**: you author skills, rules, tools,
|
|
4
|
+
memory, connections, and agent setup once in a canonical `.threadroot/` directory.
|
|
5
|
+
Provider-specific files are opt-in, thin exposure shims.
|
|
6
6
|
|
|
7
7
|
It is local-first: a `tr` CLI for humans and CI, plus a local MCP server that exposes the
|
|
8
8
|
same harness to coding agents. V1 does not require a cloud account, API key, or hosted
|
|
@@ -13,19 +13,17 @@ service.
|
|
|
13
13
|
Run Threadroot without adding it to your project:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
npx threadroot bootstrap --yes
|
|
17
17
|
# or
|
|
18
|
-
|
|
19
|
-
# or
|
|
20
|
-
npm exec --package=threadroot -- threadroot
|
|
18
|
+
pnpm dlx threadroot bootstrap --yes
|
|
19
|
+
# or
|
|
20
|
+
npm exec --package=threadroot -- threadroot bootstrap --yes
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
After initialization:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
threadroot
|
|
27
|
-
threadroot context "write tests"
|
|
28
|
-
threadroot mcp setup --write
|
|
26
|
+
threadroot start "write tests"
|
|
29
27
|
```
|
|
30
28
|
|
|
31
29
|
For local development on Threadroot itself:
|
|
@@ -39,12 +37,9 @@ node dist/index.js --help
|
|
|
39
37
|
## Quick start
|
|
40
38
|
|
|
41
39
|
```bash
|
|
42
|
-
tr
|
|
43
|
-
|
|
44
|
-
tr
|
|
45
|
-
tr context "write tests" # task-relevant skills, rules, tools, and memory
|
|
46
|
-
tr doctor # health check for harness validity, drift, MCP hints, tool trust
|
|
47
|
-
tr diff # line diff between canonical sources and vendor files
|
|
40
|
+
tr bootstrap --yes # one-time machine setup + local-only .threadroot/
|
|
41
|
+
tr start "write tests" # doctor, status, relevant context, and command map
|
|
42
|
+
tr expose codex # optional: write a thin project skill shim for Codex
|
|
48
43
|
```
|
|
49
44
|
|
|
50
45
|
`threadroot` is the full name; `tr` is the short alias.
|
|
@@ -52,7 +47,11 @@ tr diff # line diff between canonical sources and vendor files
|
|
|
52
47
|
## CLI surface
|
|
53
48
|
|
|
54
49
|
```bash
|
|
55
|
-
tr
|
|
50
|
+
tr bootstrap [--yes] [--agent <list>] [--task <task>] [--mcp] [--expose <list>]
|
|
51
|
+
tr start ["<task>"]
|
|
52
|
+
tr setup --global [--agent <list>] [--dry-run] [--check] [--undo] [--mcp]
|
|
53
|
+
tr init [--force] [--no-import] [--profile <p>] [--adapters <list>] [--expose <list>]
|
|
54
|
+
tr expose [agent|all] [--dry-run] [--check] [--undo] [--force]
|
|
56
55
|
tr status
|
|
57
56
|
tr diff
|
|
58
57
|
tr doctor
|
|
@@ -91,9 +90,53 @@ The canonical, vendor-neutral source of truth:
|
|
|
91
90
|
lock.json # provenance for installed objects (commit SHA + integrity)
|
|
92
91
|
```
|
|
93
92
|
|
|
94
|
-
`tr
|
|
93
|
+
By default, `tr init` keeps the repo clean and writes only `.threadroot/`. `tr compile`
|
|
94
|
+
turns the harness into legacy vendor instruction formats only when adapters are enabled
|
|
95
|
+
in `harness.yaml` or when you run `tr compile --adapter <name>`. Hand-authored prose in a
|
|
95
96
|
vendor file is preserved; Threadroot only owns the block it marks as generated.
|
|
96
97
|
|
|
98
|
+
## Bootstrap, global setup, and exposure
|
|
99
|
+
|
|
100
|
+
The simple path is:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
tr bootstrap --yes
|
|
104
|
+
tr start "current task"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Without `--yes`, `tr bootstrap` prints a dry-run plan. With `--yes`, it installs global
|
|
108
|
+
agent bootstrap skills, initializes `.threadroot/` if needed, runs doctor, and prints
|
|
109
|
+
task context. It does not write provider-specific project files unless you pass
|
|
110
|
+
`--expose`.
|
|
111
|
+
|
|
112
|
+
Global setup installs a tiny `threadroot` skill into supported agent user-skill
|
|
113
|
+
directories so agents know to call `threadroot bootstrap --yes` when setup is missing
|
|
114
|
+
and `threadroot start "<task>"` when they see `.threadroot/`.
|
|
115
|
+
|
|
116
|
+
Supported global skill targets:
|
|
117
|
+
|
|
118
|
+
| Agent | Project exposure path | Global setup path |
|
|
119
|
+
| --- | --- | --- |
|
|
120
|
+
| Codex | `.agents/skills/` | `~/.agents/skills/` |
|
|
121
|
+
| Claude Code | `.claude/skills/` | `~/.claude/skills/` |
|
|
122
|
+
| Cursor | `.cursor/skills/` | `~/.cursor/skills/` |
|
|
123
|
+
| GitHub Copilot | `.github/skills/` | `~/.copilot/skills/` |
|
|
124
|
+
| Gemini CLI | `.gemini/skills/` | `~/.gemini/skills/` |
|
|
125
|
+
| Windsurf | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
|
126
|
+
| Antigravity | `.agent/skills/` | `~/.gemini/antigravity/skills/` |
|
|
127
|
+
| OpenCode | `.opencode/skills/` | `~/.config/opencode/skills/` |
|
|
128
|
+
|
|
129
|
+
Use project exposure only when you want repo-local native skill discovery:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
tr expose codex
|
|
133
|
+
tr expose all
|
|
134
|
+
tr expose all --undo
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
`tr expose` writes one managed `threadroot/SKILL.md` shim per provider. It does not copy
|
|
138
|
+
every Threadroot skill into provider directories.
|
|
139
|
+
|
|
97
140
|
## Built-in content
|
|
98
141
|
|
|
99
142
|
`tr init` seeds a useful harness on an empty repo:
|
|
@@ -103,7 +146,9 @@ vendor file is preserved; Threadroot only owns the block it marks as generated.
|
|
|
103
146
|
- **Starter tools:** wrapped from the repo's detected command surface (scripts, Make/just),
|
|
104
147
|
auto-added to `tools.allow`.
|
|
105
148
|
- **Profile presets:** node-cli, web, python, etc. (detected by the scanner).
|
|
106
|
-
- **Adapters:**
|
|
149
|
+
- **Adapters:** disabled by default to keep new repos local-only; use `tr expose` for
|
|
150
|
+
skill-compatible providers or `tr compile --adapter <name>` for legacy instruction
|
|
151
|
+
files.
|
|
107
152
|
|
|
108
153
|
Modern skills use the Agent Skills-style folder shape:
|
|
109
154
|
|
|
@@ -193,7 +238,7 @@ Threadroot runs a local MCP server over stdio that exposes the harness to agents
|
|
|
193
238
|
```bash
|
|
194
239
|
tr mcp
|
|
195
240
|
tr mcp setup # print config snippets and a pasteable agent bootstrap prompt
|
|
196
|
-
tr mcp setup --write # write project-local MCP config for supported agents
|
|
241
|
+
tr mcp setup --write # opt-in: write project-local MCP config for supported agents
|
|
197
242
|
```
|
|
198
243
|
|
|
199
244
|
Tools: `context`, `skills_list`, `skills_get`, `tools_list`, `tools_check`, `tools_run`,
|
|
@@ -201,8 +246,8 @@ Tools: `context`, `skills_list`, `skills_get`, `tools_list`, `tools_check`, `too
|
|
|
201
246
|
`memory_append`, `status`, `doctor`.
|
|
202
247
|
|
|
203
248
|
`tr mcp setup` also prints a copy/paste agent prompt that follows the real CLI flow:
|
|
204
|
-
check availability, run `threadroot
|
|
205
|
-
|
|
249
|
+
check availability, run `threadroot bootstrap --yes`, run `threadroot start "<task>"`,
|
|
250
|
+
and ask before writing project-local MCP config.
|
|
206
251
|
|
|
207
252
|
## Profiles
|
|
208
253
|
|
|
@@ -242,7 +287,9 @@ THREADROOT_ROOT="$(pwd)"
|
|
|
242
287
|
TMP_REPO="$(mktemp -d /tmp/threadroot-smoke.XXXXXX)"
|
|
243
288
|
rsync -a --exclude .git --exclude node_modules --exclude dist ./ "$TMP_REPO/"
|
|
244
289
|
cd "$TMP_REPO"
|
|
245
|
-
node "$THREADROOT_ROOT/dist/index.js"
|
|
290
|
+
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" bootstrap --yes --agent codex --no-import
|
|
291
|
+
HOME="$TMP_REPO/home" node "$THREADROOT_ROOT/dist/index.js" start "write tests"
|
|
292
|
+
node "$THREADROOT_ROOT/dist/index.js" expose codex
|
|
246
293
|
node "$THREADROOT_ROOT/dist/index.js" status
|
|
247
294
|
node "$THREADROOT_ROOT/dist/index.js" context "write tests"
|
|
248
295
|
node "$THREADROOT_ROOT/dist/index.js" skills validate
|