@sechroom/cli 2026.6.5 → 2026.6.6-rc.ff3f8b7d
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 +75 -1
- package/dist/index.js +3406 -272
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -100,6 +100,30 @@ sechroom lookup sechroom:mem_XXXX --json # namespaced form also resolves
|
|
|
100
100
|
sechroom --json memory get mem_XXXX # agent-friendly
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
+
**Output shape.** Mutating commands (`memory create`, `worklog append`) print a concise confirmation line — id + view URL — the way the MCP tools hand an LLM a result, instead of dumping the raw envelope. Pass `--json` for the full response body (the machine channel) on any command. Output is lightly colorized on a TTY and auto-plain when piped, under `--json`, or when `NO_COLOR` is set.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
sechroom memory create --text "a note" --title "Note"
|
|
107
|
+
# ✓ created memory mem_XXXX "Note" → https://sechroom.yi.ocd.codes/view/mem_XXXX
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Per-directory config.** A project dir can pin its own `tenant` + `baseUrl` in a local `.sechroom.json`, discovered by walking **up** from cwd (nearest wins, so any subdir inherits it). It overrides the global config — precedence: `--flag` > env > directory-local > global > default. `clientId` / auth state stays global.
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
sechroom config set --local tenant cli-smoke # this dir + subdirs
|
|
114
|
+
sechroom config set --local baseUrl https://staging.app.sechroom.ai/api
|
|
115
|
+
sechroom config show # resolved values + which source won
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Smoke testing.** There is a dedicated **`cli-smoke`** tenant on **both staging and prod** for exercising the CLI without touching real tenants — point at staging and use it:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
sechroom config set --local baseUrl https://staging.app.sechroom.ai/api
|
|
122
|
+
sechroom config set --local tenant cli-smoke
|
|
123
|
+
sechroom login
|
|
124
|
+
sechroom worklog append --text "cli smoke" --source claude-code-chris
|
|
125
|
+
```
|
|
126
|
+
|
|
103
127
|
Headless:
|
|
104
128
|
|
|
105
129
|
```bash
|
|
@@ -108,6 +132,27 @@ export SECHROOM_TENANT=ocd
|
|
|
108
132
|
sechroom --json memory search "rate limiting"
|
|
109
133
|
```
|
|
110
134
|
|
|
135
|
+
## Command surface (MCP parity)
|
|
136
|
+
|
|
137
|
+
The CLI mirrors the sechroom MCP tool surface — every command is a thin wrapper over the same HTTP endpoint the matching MCP tool shims, so enforcement (`[TenantPermission]`) is identical. Run `sechroom <group> --help` for the subcommands + examples.
|
|
138
|
+
|
|
139
|
+
| Group | Covers |
|
|
140
|
+
|---|---|
|
|
141
|
+
| `memory` | create / get / search · edit-text(+batch) · archive / restore / move · versions / revert · list-archived · owners / tags / types · sum-tokens · similar · by-url |
|
|
142
|
+
| `relationship` | create / list / delete · suggest · `suggestion` get / accept / reject / defer |
|
|
143
|
+
| `workspace` | create / list / get · rename / describe / move · archive / restore · feed |
|
|
144
|
+
| `project` | create / list / get · rename / describe / move · status · victory-conditions · archive / restore |
|
|
145
|
+
| `filing` | suggestions / get · preview · accept / reject / defer / edit-and-accept |
|
|
146
|
+
| `continuity` | snapshot-create / -get · snapshots · resume-me / resume-lane · changed-since · load-set · grant / revoke-grant |
|
|
147
|
+
| `id` | next / peek (FR-_/D-_ sequence allocation) |
|
|
148
|
+
| `account` | profile / set-profile · feed · reviews / review-get / review-accept · lookup-batch |
|
|
149
|
+
| `chat` | send · messages · replies · stop-tracking (Slack / Discord, via `--surface`) |
|
|
150
|
+
| `worklog` · `lookup` | append · resolve any id |
|
|
151
|
+
|
|
152
|
+
Notes on deliberate gaps (API-rooted, not CLI):
|
|
153
|
+
- **No `memory delete`** — the API exposes no hard DELETE; `memory archive` is the soft-delete path.
|
|
154
|
+
- **`memory revert`** needs `--text` + `--content` — the revert endpoint doesn't reconstruct a version's body from its number; pull them from `memory versions` / `memory get` first.
|
|
155
|
+
|
|
111
156
|
## Onboarding (`init` / `setup`)
|
|
112
157
|
|
|
113
158
|
`sechroom init` wires a project for sechroom by rendering the server's
|
|
@@ -120,6 +165,7 @@ Codex TOML table replace; instruction files use a managed marker block).
|
|
|
120
165
|
sechroom init # Claude Code (default): .mcp.json + CLAUDE.md
|
|
121
166
|
sechroom init --client all # claude-code, claude-desktop, codex, cursor
|
|
122
167
|
sechroom init --client codex,cursor # a subset
|
|
168
|
+
sechroom init --mcp-only # just the MCP config (skip agent files)
|
|
123
169
|
sechroom init --dry-run --json # preview the writes, no changes
|
|
124
170
|
|
|
125
171
|
# granular pieces init orchestrates:
|
|
@@ -127,6 +173,27 @@ sechroom setup mcp claude-desktop # just the MCP config for one client
|
|
|
127
173
|
sechroom setup agent-files codex # just the AGENTS.md instruction file
|
|
128
174
|
```
|
|
129
175
|
|
|
176
|
+
### `sechroom onboard` — guided first run
|
|
177
|
+
|
|
178
|
+
`onboard` orchestrates the whole zero-to-wired path interactively: configure base
|
|
179
|
+
URL + tenant, sign in, set the profile timezone, then wire your AI client(s). Two
|
|
180
|
+
prompts make it fit how you actually work:
|
|
181
|
+
|
|
182
|
+
- **Where to save config** — globally (`~/.config/sechroom`, all projects) or a
|
|
183
|
+
directory-local `.sechroom.json` (this project + subdirs). Defaults to local
|
|
184
|
+
when a `.sechroom.json` already governs the dir.
|
|
185
|
+
- **How far to wire** — full (MCP server + agent instructions), agent
|
|
186
|
+
instructions only (skip `.mcp.json`), or **CLI only** (write nothing for AI
|
|
187
|
+
clients — for when you just want the `sechroom` command).
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
sechroom onboard # interactive: asks where to save + how to wire
|
|
191
|
+
sechroom onboard --cli-only # just the CLI — no .mcp.json, no agent files
|
|
192
|
+
sechroom onboard --no-mcp # agent instructions only, skip MCP config
|
|
193
|
+
sechroom onboard --local # save tenant + base URL to ./.sechroom.json
|
|
194
|
+
sechroom onboard --yes # non-interactive: defaults + global config + full wire
|
|
195
|
+
```
|
|
196
|
+
|
|
130
197
|
Per client → where it writes:
|
|
131
198
|
|
|
132
199
|
| client | MCP config | instruction file |
|
|
@@ -150,7 +217,14 @@ src/
|
|
|
150
217
|
config.ts base-url / tenant / token resolution + persistence
|
|
151
218
|
generated/api.d.ts typed client — `pnpm run gen`; real types committed (hermetic)
|
|
152
219
|
commands/
|
|
153
|
-
memory.ts create / get / search
|
|
220
|
+
memory.ts create / get / search / edit / archive / move / versions / …
|
|
221
|
+
relationships.ts relationships + relationship-suggestions
|
|
222
|
+
workspace.ts workspace CRUD + feed
|
|
223
|
+
project.ts project CRUD + status / victory-conditions
|
|
224
|
+
filing.ts filing-suggestion review (accept / reject / defer / edit-and-accept)
|
|
225
|
+
continuity.ts snapshots + resume / grant
|
|
226
|
+
account.ts id next/peek + profile / feed / reviews / lookup-batch
|
|
227
|
+
chat.ts read Slack / Discord messages + replies
|
|
154
228
|
worklog.ts append
|
|
155
229
|
lookup.ts resolve any id (mem_…/unprefixed/sechroom:<id>) -> kind/title/url
|
|
156
230
|
setup.ts init + setup mcp/agent-files
|