@sechroom/cli 2026.6.3 → 2026.6.4-rc.a1f3a026

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.
Files changed (3) hide show
  1. package/README.md +75 -1
  2. package/dist/index.js +3668 -293
  3. 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