@anthropologies/claudestory 0.1.47 → 0.1.49
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 +3 -3
- package/dist/mcp.js +2 -2
- package/package.json +1 -1
- package/src/skill/setup-flow.md +52 -51
package/dist/cli.js
CHANGED
|
@@ -8358,7 +8358,7 @@ function getInstalledVersion() {
|
|
|
8358
8358
|
}
|
|
8359
8359
|
}
|
|
8360
8360
|
function getRunningVersion() {
|
|
8361
|
-
return "0.1.
|
|
8361
|
+
return "0.1.49";
|
|
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.
|
|
10926
|
+
version = "0.1.49";
|
|
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.
|
|
14357
|
+
const version2 = "0.1.49";
|
|
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.
|
|
7819
|
+
return "0.1.49";
|
|
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.
|
|
10058
|
+
var version = "0.1.49";
|
|
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.
|
|
3
|
+
"version": "0.1.49",
|
|
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": [
|
package/src/skill/setup-flow.md
CHANGED
|
@@ -167,9 +167,7 @@ Show: "So far: [name] is a [surface] + [traits] built with [stack]."
|
|
|
167
167
|
- "No, start from scratch" -- generate design foundation tickets (color palette, typography, layout, component selection)
|
|
168
168
|
- "Not sure yet"
|
|
169
169
|
|
|
170
|
-
|
|
171
|
-
- `AskUserQuestion`: "Component library?"
|
|
172
|
-
- options: shadcn/ui (Recommended for Next.js), Material UI, Chakra UI, None/custom
|
|
170
|
+
Component library is inferred from the stack, not asked as a separate gate. Next.js defaults to shadcn/ui, Flutter to Material, React Native to NativeBase/Paper. Only ask if the stack doesn't have a clear default or the user picked "No, start from scratch" (where the component system is part of the design foundation tickets).
|
|
173
171
|
|
|
174
172
|
**--- Cluster 3: System structure ---**
|
|
175
173
|
|
|
@@ -182,7 +180,7 @@ If NOT "Yes, mockups / Figma" and project has a UI surface, follow up with compo
|
|
|
182
180
|
- "Frontend + managed backend (Supabase/Firebase)" -- BaaS handles DB, auth, storage. You build the frontend. Fastest path to MVP.
|
|
183
181
|
- "Not sure -- recommend one"
|
|
184
182
|
|
|
185
|
-
BaaS as a first-class path. If selected: skip ORM choice (BaaS handles it),
|
|
183
|
+
BaaS as a first-class path. If selected: skip ORM choice (BaaS handles it), adjust deployment to match (Vercel + Supabase, or Firebase Hosting + Firebase). Auth gate still fires -- the user still decides what kind of auth (no auth, individual, team/org), but tickets generated are BaaS-specific (Supabase RLS policies, Firebase Security Rules) instead of custom middleware. Generates different tickets: BaaS setup, client SDK integration, security rules, instead of custom API + auth tickets.
|
|
186
184
|
|
|
187
185
|
**BaaS + AI edge case:** If the user also selected "AI / LLM powered" as a characteristic, AI gates still fire normally. For document ownership tickets (RAG + auth), reference "Supabase RLS policies" or "Firebase Security Rules" instead of "custom row-level access." The AI cluster's data model tickets adapt to the BaaS context.
|
|
188
186
|
|
|
@@ -246,7 +244,7 @@ Multi-select because these are orthogonal: a system can have both workflows AND
|
|
|
246
244
|
|
|
247
245
|
When recommending auth setup for individual accounts, suggest Firebase Auth or Clerk as the easiest options. These handle email/password, social login, session management, and JWT with minimal code. Only recommend custom auth when the user has specific requirements.
|
|
248
246
|
|
|
249
|
-
**Step 4f:** Sensitive domain
|
|
247
|
+
**Step 4f:** Sensitive domain. This is the canonical sensitive domain gate for ALL projects. The AI safety cluster (Cluster 5) references this answer instead of re-asking. Bias toward asking -- skip only for projects that are clearly non-sensitive (portfolio, blog, dev tool, game). Ask for anything with user data, business transactions, or professional use cases. Use `AskUserQuestion`:
|
|
250
248
|
- question: "Is this in a sensitive/regulated domain?"
|
|
251
249
|
- header: "Domain"
|
|
252
250
|
- options:
|
|
@@ -358,67 +356,70 @@ Before asking for approval, briefly explain what they're looking at:
|
|
|
358
356
|
|
|
359
357
|
"**How this works:** Phases are milestones in your project's development. They track progress from setup to shipping. Tickets are specific work items within each phase. After setup, typing `/story` at the start of any Claude Code session loads this context automatically. Claude will know your project's state, what was done last session, and what to work on next."
|
|
360
358
|
|
|
361
|
-
Then use `AskUserQuestion`
|
|
362
|
-
- question: "How
|
|
363
|
-
- header: "
|
|
359
|
+
Then use ONE `AskUserQuestion` that combines approval and refinement depth (do not ask two separate questions):
|
|
360
|
+
- question: "How should I proceed with this proposal?"
|
|
361
|
+
- header: "Proceed"
|
|
364
362
|
- options:
|
|
365
|
-
- "
|
|
366
|
-
- "
|
|
367
|
-
- "
|
|
368
|
-
- "
|
|
363
|
+
- "Refine + get a second opinion (Recommended)" -- I'll add descriptions, dependencies, and sizing, then have an independent reviewer check my work before creating anything
|
|
364
|
+
- "Refine tickets" -- I'll add descriptions, figure out dependencies, and flag oversized tickets
|
|
365
|
+
- "Create as-is" -- create tickets now as shown
|
|
366
|
+
- "Adjust first" -- I want to change phases or tickets before proceeding
|
|
367
|
+
- (Other always available for free-text feedback)
|
|
369
368
|
|
|
370
|
-
|
|
369
|
+
If "Adjust first": ask what they want to change, iterate, then re-show this same AskUserQuestion. Loop until they pick a create/refine option.
|
|
371
370
|
|
|
372
|
-
|
|
371
|
+
If "Create as-is" and no brief exists: warn "Note: tickets will have titles only -- you can add descriptions later." Then proceed to **1e. Execute on Approval**.
|
|
373
372
|
|
|
374
|
-
|
|
375
|
-
- question: "Want me to refine these before creating?"
|
|
376
|
-
- header: "Depth"
|
|
377
|
-
- options:
|
|
378
|
-
- "Yes, refine + get a second opinion (Recommended)" -- I'll refine, then have an independent reviewer check my work
|
|
379
|
-
- "Yes, refine them" -- I'll add descriptions, figure out dependencies, and flag oversized tickets
|
|
380
|
-
- "Create as-is" -- create tickets now with just titles
|
|
381
|
-
|
|
382
|
-
If "Create as-is" and no brief exists: warn "Note: tickets will have titles only -- you can add descriptions later."
|
|
383
|
-
|
|
384
|
-
**If "Refine tickets" or "Refine + review":**
|
|
385
|
-
|
|
386
|
-
Refine the proposal. If a brief/PRD was found in step 1b, use those structured notes. If no brief exists (e.g., the user came through step 1c interview), infer descriptions from the interview answers and propose standard dependencies based on the tech stack.
|
|
373
|
+
#### 1d2. Refinement and Review (internal -- user does not see intermediate steps)
|
|
387
374
|
|
|
388
|
-
**
|
|
375
|
+
**This section runs silently.** The user already chose their depth. Do the work, then present the final result ONCE.
|
|
389
376
|
|
|
390
|
-
|
|
391
|
-
- Schema/migration tickets block CRUD API tickets
|
|
392
|
-
- Auth tickets block protected route tickets
|
|
393
|
-
- CRUD/model tickets block business logic that depends on them
|
|
394
|
-
- API tickets block UI tickets that consume them
|
|
377
|
+
If a brief/PRD was found in step 1b, use those structured notes. If no brief exists (e.g., the user came through step 1c interview), infer descriptions from the interview answers and propose standard dependencies based on the tech stack.
|
|
395
378
|
|
|
396
|
-
**
|
|
397
|
-
-
|
|
398
|
-
-
|
|
399
|
-
-
|
|
400
|
-
-
|
|
379
|
+
**What refinement does (internally):**
|
|
380
|
+
- Extract specs from the brief into ticket descriptions (3-4 sentences each, actionable)
|
|
381
|
+
- Infer `blockedBy` from phase ordering and domain logic (schema before CRUD, auth before protected routes, CRUD before business logic, API before UI)
|
|
382
|
+
- Flag and split oversized tickets (3+ entities, API+UI in one ticket, 3+ models)
|
|
383
|
+
- Cross-reference brief entities against tickets, add missing ones
|
|
384
|
+
- Detect core differentiator -- decompose if single ticket
|
|
385
|
+
- Surface undecided tech choices
|
|
401
386
|
|
|
402
|
-
**
|
|
387
|
+
**If "Refine + review":** After refinement, also run an independent review:
|
|
388
|
+
- If `review_plan` MCP tool is available, use it. Otherwise spawn an independent Claude agent. If neither available, skip with a note.
|
|
389
|
+
- Maximum 2 review rounds.
|
|
390
|
+
- Incorporate all findings into the proposal. The user sees the final result, not the review process.
|
|
403
391
|
|
|
404
|
-
**
|
|
392
|
+
**Present the final result ONCE.** Do NOT show every ticket with its description. Show a compact summary of what changed:
|
|
405
393
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
After refinement, present the updated proposal showing what changed: added descriptions, new blockedBy links, split tickets, newly created tickets for missing entities, and flagged decisions. Wait for the user to approve the refined proposal before continuing.
|
|
394
|
+
```
|
|
395
|
+
Refinement complete. Here's what changed:
|
|
409
396
|
|
|
410
|
-
|
|
397
|
+
- Added descriptions to 14 tickets
|
|
398
|
+
- Added 8 dependency links (blockedBy chains)
|
|
399
|
+
- No tickets flagged for splitting (all well-scoped)
|
|
400
|
+
- [If review ran] Independent review: 2 suggestions incorporated
|
|
401
|
+
- T-005 split into T-005a/T-005b (was too broad)
|
|
402
|
+
- T-012 added blockedBy T-006 (missing dependency)
|
|
411
403
|
|
|
412
|
-
|
|
404
|
+
Updated proposal:
|
|
413
405
|
|
|
414
|
-
|
|
406
|
+
[Show the same phase + ticket table as before, but now with a "Deps" column]
|
|
415
407
|
|
|
416
|
-
|
|
408
|
+
| Ticket | Title | Phase | Deps |
|
|
409
|
+
|--------|--------------------------|------------|-----------|
|
|
410
|
+
| T-001 | Project setup | foundation | -- |
|
|
411
|
+
| T-002 | Database schema design | foundation | T-001 |
|
|
412
|
+
| T-006 | Auth setup | foundation | T-001 |
|
|
413
|
+
| ... | ... | ... | ... |
|
|
414
|
+
```
|
|
417
415
|
|
|
418
|
-
|
|
419
|
-
-
|
|
420
|
-
-
|
|
421
|
-
-
|
|
416
|
+
Then use `AskUserQuestion`:
|
|
417
|
+
- question: "Ready to create?"
|
|
418
|
+
- header: "Create"
|
|
419
|
+
- options:
|
|
420
|
+
- "Create everything (Recommended)"
|
|
421
|
+
- "Let me adjust first" -- iterate, then re-ask
|
|
422
|
+
- "Show me the full details" -- expand all ticket descriptions (for users who want to inspect)
|
|
422
423
|
|
|
423
424
|
#### 1e. Execute on Approval
|
|
424
425
|
|