@anthropologies/claudestory 0.1.52 → 0.1.54

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/dist/cli.js CHANGED
@@ -8358,7 +8358,7 @@ function getInstalledVersion() {
8358
8358
  }
8359
8359
  }
8360
8360
  function getRunningVersion() {
8361
- return "0.1.52";
8361
+ return "0.1.54";
8362
8362
  }
8363
8363
  var init_version_check = __esm({
8364
8364
  "src/autonomous/version-check.ts"() {
@@ -10923,7 +10923,7 @@ var init_mcp = __esm({
10923
10923
  init_init();
10924
10924
  ENV_VAR2 = "CLAUDESTORY_PROJECT_ROOT";
10925
10925
  CONFIG_PATH2 = ".story/config.json";
10926
- version = "0.1.52";
10926
+ version = "0.1.54";
10927
10927
  main().catch((err) => {
10928
10928
  process.stderr.write(`Fatal: ${err instanceof Error ? err.message : String(err)}
10929
10929
  `);
@@ -14354,7 +14354,7 @@ async function runCli() {
14354
14354
  registerSessionCommand: registerSessionCommand2,
14355
14355
  registerRepairCommand: registerRepairCommand2
14356
14356
  } = await Promise.resolve().then(() => (init_register(), register_exports));
14357
- const version2 = "0.1.52";
14357
+ const version2 = "0.1.54";
14358
14358
  class HandledError extends Error {
14359
14359
  constructor() {
14360
14360
  super("HANDLED_ERROR");
package/dist/mcp.js CHANGED
@@ -7816,7 +7816,7 @@ function getInstalledVersion() {
7816
7816
  }
7817
7817
  }
7818
7818
  function getRunningVersion() {
7819
- return "0.1.52";
7819
+ return "0.1.54";
7820
7820
  }
7821
7821
 
7822
7822
  // src/autonomous/guide.ts
@@ -10055,7 +10055,7 @@ async function ensureGitignoreEntries(gitignorePath, entries) {
10055
10055
  // src/mcp/index.ts
10056
10056
  var ENV_VAR2 = "CLAUDESTORY_PROJECT_ROOT";
10057
10057
  var CONFIG_PATH2 = ".story/config.json";
10058
- var version = "0.1.52";
10058
+ var version = "0.1.54";
10059
10059
  function tryDiscoverRoot() {
10060
10060
  const envRoot = process.env[ENV_VAR2];
10061
10061
  if (envRoot) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anthropologies/claudestory",
3
- "version": "0.1.52",
3
+ "version": "0.1.54",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Cross-session context persistence for AI coding projects. Tracks tickets, issues, roadmap, and handovers so every session builds on the last.",
6
6
  "keywords": [
@@ -20,6 +20,7 @@ claudestory tracks tickets, issues, roadmap, and handovers in a `.story/` direct
20
20
  - `/story snapshot` -> save project state (call `claudestory_snapshot` MCP tool)
21
21
  - `/story export` -> export project for sharing. Ask the user whether to export the current phase or the full project, then call `claudestory_export` with either `phase` or `all` set
22
22
  - `/story status` -> quick status check (call `claudestory_status` MCP tool)
23
+ - `/story settings` -> manage project settings (see Settings section below)
23
24
  - `/story help` -> show all capabilities (read `reference.md` in the same directory as this skill file; if not found, tell user to run `claudestory setup-skill`)
24
25
 
25
26
  If the user's intent doesn't match any of these, use the full context load.
@@ -208,6 +209,137 @@ Create notes via MCP: `claudestory_note_create` with `content`, optional `title`
208
209
 
209
210
  List, get, and update notes via MCP: `claudestory_note_list`, `claudestory_note_get`, `claudestory_note_update`. Delete remains CLI-only: `claudestory note delete <id>`.
210
211
 
212
+ ## Settings (/story settings)
213
+
214
+ When the user runs `/story settings` or asks about project config, show current settings and let them change things via AskUserQuestion. Do NOT dig through source code or JS files -- the schema is documented here.
215
+
216
+ **Step 1: Read and display current config.** Read `.story/config.json` directly. Show a clean table:
217
+
218
+ ```
219
+ ## Current Settings
220
+
221
+ | Setting | Value |
222
+ |---------|-------|
223
+ | Max tickets per session | 5 |
224
+ | Review backends | codex, agent |
225
+ | Handover interval | every 3 tickets |
226
+ | Compact threshold | high (default) |
227
+ | TDD (WRITE_TESTS) | enabled |
228
+ | Run tests (TEST) | enabled, command: npm test |
229
+ | Smoke test (VERIFY) | disabled |
230
+ | Build validation (BUILD) | disabled |
231
+ ```
232
+
233
+ **Step 2: Ask what to change.** Use `AskUserQuestion`:
234
+ - question: "What would you like to change?"
235
+ - header: "Settings"
236
+ - options:
237
+ - "Quality pipeline" -- TDD, tests, endpoint checks, build validation
238
+ - "Session limits" -- tickets per session, context compaction
239
+ - "Review backends" -- which reviewers to use
240
+ - "Handover frequency" -- how often to write session handovers
241
+
242
+ **Step 3: Focused follow-up for each category:**
243
+
244
+ **Quality pipeline:**
245
+ ```
246
+ AskUserQuestion: "Quality pipeline settings"
247
+ header: "Quality"
248
+ options:
249
+ - "Full pipeline" -- TDD + tests + endpoint checks + build
250
+ - "Tests only" -- run tests after building
251
+ - "Minimal" -- no automated checks
252
+ - "Custom" -- pick individual stages
253
+ ```
254
+
255
+ If "Custom", show each stage as a separate AskUserQuestion.
256
+
257
+ **Session limits:**
258
+ ```
259
+ AskUserQuestion: "Max tickets per autonomous session?"
260
+ header: "Limit"
261
+ options: "3 (conservative)", "5 (default)", "10 (aggressive)", "Unlimited"
262
+ ```
263
+
264
+ **Review backends:**
265
+ ```
266
+ AskUserQuestion: "Which reviewers for code and plan review?"
267
+ header: "Review"
268
+ options:
269
+ - "Codex + Claude agent (Recommended)" -- alternate between both
270
+ - "Codex only" -- OpenAI Codex reviews
271
+ - "Claude agent only" -- independent Claude agent reviews
272
+ - "None" -- skip automated review
273
+ ```
274
+
275
+ **Handover frequency:**
276
+ ```
277
+ AskUserQuestion: "Write a handover after every N tickets?"
278
+ header: "Handover"
279
+ options: "Every ticket", "Every 3 tickets (default)", "Every 5 tickets", "Manual only"
280
+ ```
281
+
282
+ **Step 4: Apply changes.** Run via Bash:
283
+ ```
284
+ claudestory config set-overrides --json '<constructed JSON>'
285
+ ```
286
+
287
+ Show a confirmation of what changed.
288
+
289
+ ### Config Schema Reference
290
+
291
+ Do NOT search source code for this. The schema is:
292
+
293
+ ```json
294
+ {
295
+ "version": 1,
296
+ "schemaVersion": 1,
297
+ "project": "string",
298
+ "type": "string (npm, cargo, pip, etc.)",
299
+ "language": "string",
300
+ "features": {
301
+ "tickets": true, "issues": true, "handovers": true,
302
+ "roadmap": true, "reviews": true
303
+ },
304
+ "recipe": "string (default: coding)",
305
+ "recipeOverrides": {
306
+ "maxTicketsPerSession": "number (0 = unlimited, default: 5)",
307
+ "compactThreshold": "string (high/medium/low, default: high)",
308
+ "reviewBackends": ["codex", "agent"], // top-level default; per-stage backends override this
309
+ "handoverInterval": "number (default: 3)",
310
+ "stages": {
311
+ "WRITE_TESTS": {
312
+ "enabled": "boolean",
313
+ "command": "string (test command)",
314
+ "onExhaustion": "plan | advance (default: plan)"
315
+ },
316
+ "TEST": {
317
+ "enabled": "boolean",
318
+ "command": "string (default: npm test)"
319
+ },
320
+ "VERIFY": {
321
+ "enabled": "boolean",
322
+ "startCommand": "string (e.g., npm run dev)",
323
+ "readinessUrl": "string (e.g., http://localhost:3000)",
324
+ "endpoints": ["GET /api/health", "POST /api/users"]
325
+ },
326
+ "BUILD": {
327
+ "enabled": "boolean",
328
+ "command": "string (default: npm run build)"
329
+ },
330
+ "PLAN_REVIEW": {
331
+ "backends": ["codex", "agent"]
332
+ },
333
+ "CODE_REVIEW": {
334
+ "backends": ["codex", "agent"]
335
+ },
336
+ "LESSON_CAPTURE": { "enabled": "boolean" },
337
+ "ISSUE_SWEEP": { "enabled": "boolean" }
338
+ }
339
+ }
340
+ }
341
+ ```
342
+
211
343
  ## Support Files
212
344
 
213
345
  Additional skill documentation, loaded on demand: