create-claude-workspace 1.1.112 → 1.1.114
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.
|
@@ -124,8 +124,19 @@ If MEMORY.md indicates "Project complete" (Current Phase contains "PROJECT COMPL
|
|
|
124
124
|
- Then continue with the normal health check (step 2+). The new tasks will be picked up in STEP 1.
|
|
125
125
|
|
|
126
126
|
**If no new tasks found** (TODO.md has no `[ ]` and no external issues ingested):
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
|
|
128
|
+
3. **MANDATORY: Check working tree** — before declaring project complete, you MUST run:
|
|
129
|
+
```bash
|
|
130
|
+
git status --short | grep -v -E '^\?\? (\.env|node_modules/|\.claude/autonomous-state\.json)'
|
|
131
|
+
```
|
|
132
|
+
If this produces ANY output (untracked `??`, modified `M`, added `A`, etc.), the project is **NOT complete**:
|
|
133
|
+
- These are source files that were never committed — likely from a task that crashed before STEP 9.
|
|
134
|
+
- Create a task in TODO.md: `- [ ] **Review and commit uncommitted files** — [count] uncommitted files found in working tree (Complexity: S, Type: fullstack)`
|
|
135
|
+
- Reset MEMORY.md to active state (clear "PROJECT COMPLETE", set the new task as Next)
|
|
136
|
+
- Continue with normal health check (step 2+)
|
|
137
|
+
- **Do NOT declare project complete. Do NOT end session. Do NOT enter idle polling.**
|
|
138
|
+
|
|
139
|
+
Only if `git status --short` output is empty (or only contains excluded files) → project is truly complete, end session.
|
|
129
140
|
|
|
130
141
|
### 2. Resolve app names and package manager
|
|
131
142
|
- Read CLAUDE.md — find app name(s) and package manager from the Architecture/Tech Stack section
|
|
@@ -424,14 +435,22 @@ To determine if a task is frontend, backend, or fullstack, use this heuristic:
|
|
|
424
435
|
- If product-owner recommends changes -> delegate to `technical-planner` to update TODO.md
|
|
425
436
|
- CLAUDE.md refresh: attempt `/revise-claude-md` skill. If the skill is not available, manually read CLAUDE.md, append any new patterns/conventions discovered during the completed phase under `## Project-Specific Details`, and commit the update.
|
|
426
437
|
- **Release**: if git integration active, delegate to `devops-integrator`: "Phase [N-1] is complete. Create a minor release with changelog from conventional commits since last tag. Close the milestone for Phase [N-1]."
|
|
427
|
-
- **npm Publish** (if CLAUDE.md has `Distribution: npm`): after the release tag is created, check if the CI pipeline will handle publishing (MEMORY.md `NPM_CI_AUTH: configured` + CI publish job exists in `.github/workflows/` or `.gitlab-ci.yml`).
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
438
|
+
- **npm Publish** (if CLAUDE.md has `Distribution: npm`): after the release tag is created, check if the CI pipeline will handle publishing (MEMORY.md `NPM_CI_AUTH: configured` + CI publish job exists in `.github/workflows/` or `.gitlab-ci.yml`).
|
|
439
|
+
- **If CI publish job exists**: the tag push triggers the pipeline. **You MUST watch the pipeline to completion:**
|
|
440
|
+
1. Poll CI status for the tag pipeline (same approach as STEP 9b — `gh run list --branch [tag]` / `glab ci list --branch [tag]`).
|
|
441
|
+
2. **If pipeline succeeds**: verify the package was actually published — `npm view [PACKAGE]@[VERSION] version`. If it returns the expected version, publish is confirmed. Log in MEMORY.md Notes.
|
|
442
|
+
3. **If pipeline fails**: fetch logs, diagnose the failure. Common causes: missing CI secret (`NPM_TOKEN`/`NODE_AUTH_TOKEN`), wrong registry URL, build failure.
|
|
443
|
+
- **Fixable in CI config** (e.g., missing secret, wrong config): delegate to `deployment-engineer` to fix. Re-trigger pipeline. Max 2 fix attempts.
|
|
444
|
+
- **Not fixable in CI** (e.g., registry auth issues, npm outage): fall back to direct publish (steps below).
|
|
445
|
+
4. **Do NOT assume "CI handles it" and move on.** An unverified publish is a silent failure.
|
|
446
|
+
- **If no CI publish job** (first release, or no CI configured), publish directly:
|
|
447
|
+
1. Read CLAUDE.md for registry and access level
|
|
448
|
+
2. **Pre-flight**: `npm whoami --registry [REGISTRY_URL]` — if 401/403, log error to MEMORY.md and skip publish (do not crash)
|
|
449
|
+
3. **Version bump**: update library `package.json` version to match the release tag (e.g., tag `v1.1.0` → version `1.1.0`). Use `nx release version [VERSION] --skip-publish` if available, otherwise update `package.json` directly. Commit the version bump: `git add [lib]/package.json && git commit -m "chore: bump [LIB] to [VERSION]"`, then re-tag if needed.
|
|
450
|
+
4. Build publishable libraries: `nx build [LIB] --configuration=production`
|
|
451
|
+
5. Publish: `npm publish dist/libs/[LIB] --access [public/restricted]`
|
|
452
|
+
6. If this is the **first publish** (npm returns 404/not-found before publish): log in MEMORY.md Notes: "First npm publish done locally for [LIB]. User should configure Trusted Publishing on npmjs.com for future CI publishes."
|
|
453
|
+
7. **NEVER** echo, log, or write the npm token value — it is read from `~/.npmrc` automatically
|
|
435
454
|
- Update MEMORY.md (on main): set `Current Task: [task title]`
|
|
436
455
|
- **Create worktree** (see §Git Worktree Workflow):
|
|
437
456
|
- If git integration is active (TODO.md has `<!-- #N -->` markers):
|
|
@@ -804,7 +823,7 @@ To determine if a task is frontend, backend, or fullstack, use this heuristic:
|
|
|
804
823
|
- Update MEMORY.md with "Project complete" status
|
|
805
824
|
- Final CLAUDE.md refresh (attempt `/revise-claude-md`, fallback to manual update)
|
|
806
825
|
- **Final release**: if git integration active, delegate to `devops-integrator`: "Project is complete. Create a stable release (v1.0.0 if first stable, or next major/minor). Include full changelog. Close all remaining milestones."
|
|
807
|
-
- **npm Publish** (if CLAUDE.md has `Distribution: npm`): same logic as phase transition publish —
|
|
826
|
+
- **npm Publish** (if CLAUDE.md has `Distribution: npm`): same logic as phase transition publish — watch CI pipeline to completion if configured, fall back to direct publish on failure. For the final release, verify the published version matches the release tag: `npm view [PACKAGE]@[VERSION] version`.
|
|
808
827
|
- End loop
|
|
809
828
|
|
|
810
829
|
## MEMORY.md Template
|
|
@@ -832,7 +851,7 @@ For critical production bugs (outside normal TODO.md flow):
|
|
|
832
851
|
- Copy MEMORY.md into worktree. MEMORY.md: add note under "Notes": `Hotfix: [description] ([date])`, set `Current Task` to `(none)`, `Current Step` to `(none)`, `Current Worktree` to `(none)`
|
|
833
852
|
- Do NOT update TODO.md checkboxes unless the fix corresponds to an existing task
|
|
834
853
|
7. Post-merge: follow STEP 10 logic (merge to main from project root, clean up worktree + branch). No additional commits.
|
|
835
|
-
8. **Patch release**: if git integration active, delegate to `devops-integrator`: "Hotfix merged. Create a patch release with changelog."
|
|
854
|
+
8. **Patch release**: if git integration active, delegate to `devops-integrator`: "Hotfix merged. Create a patch release with changelog." If CLAUDE.md has `Distribution: npm`, follow the same publish verification logic as phase transition (watch CI pipeline, verify `npm view`, fall back to direct publish on failure).
|
|
836
855
|
|
|
837
856
|
**Skipped steps:** STEP 4 (tests — unless the bug reveals missing test coverage), STEP 5 (visual verification).
|
|
838
857
|
|