worclaude 1.5.0 → 1.6.1

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 CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  [Full Documentation](https://sefaertunc.github.io/Worclaude/) · [Interactive Demo](https://sefaertunc.github.io/Worclaude/demo/) · [npm](https://www.npmjs.com/package/worclaude)
12
12
 
13
- Worclaude scaffolds a complete Claude Code workflow into any project in seconds. It implements all [53 tips by Boris Cherny](https://www.howborisusesclaudecode.com/) — the creator of Claude Code at Anthropic — as a reusable, upgradable scaffold. One `init` command gives you 23 agents, 10 slash commands, 13 skills, hooks, permissions, and a CLAUDE.md template tuned for your tech stack. Whether you're starting fresh or adding structure to an existing project, Worclaude handles the setup so you can focus on building.
13
+ Worclaude scaffolds a complete Claude Code workflow into any project in seconds. It implements all [53 tips by Boris Cherny](https://www.howborisusesclaudecode.com/) — the creator of Claude Code at Anthropic — as a reusable, upgradable scaffold. One `init` command gives you 23 agents, 12 slash commands, 13 skills, hooks, permissions, and a CLAUDE.md template tuned for your tech stack. Whether you're starting fresh or adding structure to an existing project, Worclaude handles the setup so you can focus on building.
14
14
 
15
15
  ---
16
16
 
@@ -23,8 +23,8 @@ Worclaude scaffolds a complete Claude Code workflow into any project in seconds.
23
23
  - 5 universal: plan-reviewer, code-simplifier, test-writer, build-validator, verify-app
24
24
  - 18 optional across 6 categories: Backend, Frontend, DevOps, Quality, Documentation, Data/AI
25
25
 
26
- **Slash Commands (10)**
27
- `/start` `/end` `/commit-push-pr` `/review-plan` `/techdebt` `/verify` `/compact-safe` `/status` `/update-claude-md` `/setup`
26
+ **Slash Commands (12)**
27
+ `/start` `/end` `/commit-push-pr` `/review-plan` `/techdebt` `/verify` `/compact-safe` `/status` `/update-claude-md` `/setup` `/sync` `/conflict-resolver`
28
28
 
29
29
  **Skills (13)**
30
30
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "worclaude",
3
- "version": "1.5.0",
3
+ "version": "1.6.1",
4
4
  "description": "CLI tool that scaffolds a comprehensive Claude Code workflow into any project",
5
5
  "type": "module",
6
6
  "bin": {
@@ -179,7 +179,7 @@ export async function cleanGitignore(projectRoot) {
179
179
  if (!(await fileExists(gitignorePath))) return false;
180
180
 
181
181
  const content = await readFile(gitignorePath);
182
- const lines = content.split('\n');
182
+ const lines = content.split(/\r?\n/);
183
183
 
184
184
  const REMOVE_LINES = new Set(['# Worclaude (generated workflow files)', '.claude/']);
185
185
 
@@ -168,6 +168,8 @@ export const COMMAND_FILES = [
168
168
  'status',
169
169
  'update-claude-md',
170
170
  'setup',
171
+ 'sync',
172
+ 'conflict-resolver',
171
173
  ];
172
174
 
173
175
  export const UNIVERSAL_SKILLS = [
@@ -1,23 +1,28 @@
1
- 1. Update docs/spec/PROGRESS.md with what was completed this session
2
- 2. **Version bump (only when on `develop` targeting `main`):**
3
- - Check what changed since last version using the versioning policy in git-conventions.md
4
- - Template or CLI behavior changes patch bump
5
- - New command/feature → minor bump
6
- - Breaking change major bump
7
- - Only docs/CI/tests/PROGRESS.md no bump needed
8
- - If bump needed: update `version` in package.json
9
- 3. Stage all changes: git add -A
10
- 4. Write a clear, conventional commit message
11
- 5. Push to the current branch
12
- 6. Create a PR with:
13
- - Clear title matching conventional commit format
14
- - Description of changes
15
- - Testing done
16
- - Any notes for reviewers
17
-
18
- Branch targeting rules:
19
-
20
- - Feature/bugfix branches PR targets `develop` (`gh pr create --base develop`)
21
- - When on `develop` → PR targets `main` (`gh pr create --base main`) — release merges only
22
-
23
- Use `gh pr create` for PR creation.
1
+ Determine which branch you're on, then follow the appropriate flow.
2
+ Do not add Co-Authored-By trailers or AI-generated footers to commits or PR descriptions.
3
+
4
+ ## On a feature branch (feature/*, fix/*, chore/*, refactor/*)
5
+
6
+ Feature branches contain ONLY the task changes. Do NOT touch shared-state
7
+ files (see git-conventions.md for the canonical list).
8
+
9
+ 1. Stage all changes: git add -A
10
+ 2. Write a clear, conventional commit message
11
+ 3. Push to the current branch
12
+ 4. Create a PR targeting develop: gh pr create --base develop
13
+ 5. Include in PR description: title, changes, testing done, reviewer notes
14
+
15
+ ## On develop
16
+
17
+ Only used for release merges after /sync has been run.
18
+
19
+ 1. Stage all changes: git add -A
20
+ 2. Write a clear, conventional commit message
21
+ 3. Push to develop
22
+ 4. Create a PR targeting main: gh pr create --base main
23
+
24
+ ## On any other branch
25
+
26
+ Ask the user which base branch to target before creating a PR.
27
+
28
+ Use gh pr create for PR creation.
@@ -0,0 +1,41 @@
1
+ You are resolving merge conflicts. ONLY resolve conflicts — do not
2
+ update PROGRESS.md, SPEC.md, or bump versions. That is /sync's job.
3
+
4
+ ## Step 1: Detect
5
+
6
+ Run: git status
7
+ Identify all files with merge conflicts (listed as "both modified").
8
+ If no conflicts found, report "No conflicts detected" and stop.
9
+
10
+ ## Step 2: Understand
11
+
12
+ For each conflicted file:
13
+ - Read the file and find all <<<<<<< / ======= / >>>>>>> markers
14
+ - Understand what EACH side was trying to do
15
+ - Check git log for both branches to understand the intent
16
+
17
+ ## Step 3: Resolve
18
+
19
+ For each conflict:
20
+ - Changes in DIFFERENT parts of the code → keep both
21
+ - Changes modify the SAME lines → combine intelligently based on intent
22
+ - Changes truly contradict → ask the user which to keep
23
+ - NEVER silently drop changes from either side
24
+
25
+ ## Step 4: Verify clean
26
+
27
+ Search ALL tracked files for remaining conflict markers
28
+ (<<<<<<, =======, >>>>>>>). If any remain, resolve them.
29
+
30
+ ## Step 5: Test
31
+
32
+ Run /verify (or the project's test and lint commands).
33
+ If anything fails, fix it.
34
+
35
+ ## Step 6: Commit resolution only
36
+
37
+ - git add -A
38
+ - git commit -m "merge: resolve conflicts on develop"
39
+ Use exactly this message format — no trailers or Co-Authored-By lines.
40
+
41
+ Do NOT push. Do NOT create a PR. The user will run /sync next.
@@ -1,11 +1,17 @@
1
- Use this command ONLY when stopping mid-task (unfinished work).
2
- If the task is complete, use /commit-push-pr instead — it handles PROGRESS.md updates.
1
+ Use this ONLY when stopping work mid-task without committing.
3
2
 
4
- When stopping mid-task:
5
- 1. Update docs/spec/PROGRESS.md with:
6
- - What's in progress
7
- - Any blockers or decisions needed
8
- - Next steps to resume
9
- 2. Write a handoff document at docs/handoffs/HANDOFF_{date}.md
10
- with enough context for a fresh session to continue seamlessly.
11
- 3. Stage and commit the progress update: git add -A && git commit
3
+ Do NOT update PROGRESS.md — /sync handles that on develop after merging.
4
+
5
+ ## Mid-task handoff
6
+
7
+ 1. Create docs/handoffs/HANDOFF-{branch-name}-{date}.md
8
+ 2. Include:
9
+ - What was being worked on
10
+ - What is done so far
11
+ - What is left to do
12
+ - Decisions or context the next session needs
13
+ - Files that were modified
14
+ 3. git add -A
15
+ 4. git commit -m "wip: handoff for [task description]"
16
+ Use exactly this message format — no trailers or Co-Authored-By lines.
17
+ 5. git push
@@ -1,3 +1,11 @@
1
1
  Read docs/spec/PROGRESS.md to understand current state.
2
+ Read .claude/skills/agent-routing.md for agent usage guidance.
3
+
4
+ Check for handoff files from previous sessions:
5
+ - Look in docs/handoffs/ for any HANDOFF*.md files
6
+ (both HANDOFF-{branch}-{date}.md and legacy HANDOFF_{date}.md)
7
+ - Prioritize files matching the current branch name
8
+ - If found, read them for context and report what was handed off
9
+
2
10
  If an active implementation prompt exists, read it.
3
11
  Report: what was last completed, what's next, any blockers.
@@ -0,0 +1,50 @@
1
+ Update shared-state files after merging feature PRs into develop.
2
+ Run this on the develop branch AFTER all PRs are merged and any
3
+ conflicts are resolved.
4
+
5
+ ONLY update shared-state files — do not resolve conflicts. That is
6
+ /conflict-resolver's job. If you detect unresolved conflicts, stop
7
+ and tell the user to run /conflict-resolver first.
8
+
9
+ ## Pre-check
10
+
11
+ 1. Confirm you are on the develop branch. If not, stop and warn.
12
+ 2. Check for unresolved conflict markers in tracked files.
13
+ If found, stop: "Run /conflict-resolver first."
14
+ 3. Read git log to understand what was merged since the last sync
15
+ or version tag. If nothing was merged, report "Nothing to sync"
16
+ and stop.
17
+
18
+ ## Update PROGRESS.md
19
+
20
+ 4. Update docs/spec/PROGRESS.md:
21
+ - Mark completed items based on merged work
22
+ - Update "Last Updated" date to today
23
+ - Update Stats section by checking actual project values
24
+ (run the test suite, count source files, etc.)
25
+ - Move "In Progress" items to "Completed" if their PRs merged
26
+ - Update "Next Steps" if needed
27
+
28
+ ## Update SPEC.md
29
+
30
+ 5. If any merged PRs added features or changed behavior, update
31
+ docs/spec/SPEC.md to reflect the current state.
32
+ If nothing changed spec-wise, leave it alone.
33
+
34
+ ## Version bump
35
+
36
+ 6. Determine version bump using the Versioning Policy in
37
+ git-conventions.md. If bump needed: update version in package.json.
38
+
39
+ ## Verify
40
+
41
+ 7. Run /verify to confirm tests and lint pass.
42
+ If anything fails, fix it before proceeding.
43
+
44
+ ## Commit, push, and PR
45
+
46
+ 8. git add -A
47
+ 9. git commit -m "chore: sync progress, spec, and version to [new version]"
48
+ Use exactly this message format — no trailers or Co-Authored-By lines.
49
+ 10. git push origin develop
50
+ 11. gh pr create --base main with description of what was merged
@@ -29,7 +29,9 @@ See `.claude/skills/` — load only what's relevant:
29
29
  ## Session Protocol
30
30
  **Start:** Read PROGRESS.md → Read `.claude/skills/agent-routing.md` → Read active implementation prompt if any.
31
31
  **During:** One task at a time. Commit after each. Use subagents per routing guide.
32
- **End:** Use /commit-push-pr (updates PROGRESS.md, commits, pushes, creates PR). Use /end only if stopping mid-task.
32
+ **Feature branch:** /start work /verify /commit-push-pr
33
+ **After merging PRs:** git checkout develop → git pull → /conflict-resolver (if needed) → /sync
34
+ **Mid-task stop:** /end (writes handoff file)
33
35
 
34
36
  ## Critical Rules
35
37
  1. SPEC.md is source of truth. Do not invent features.
@@ -39,6 +41,8 @@ See `.claude/skills/` — load only what's relevant:
39
41
  5. Self-healing: same mistake twice → update CLAUDE.md.
40
42
  6. Use subagents to keep main context clean.
41
43
  7. Mediocre fix → scrap it, implement elegantly.
44
+ 8. Feature branches NEVER modify shared-state files. Those are updated only on develop via /sync after merging PRs. See git-conventions.md Shared-State Files for the canonical list.
45
+ 9. Never add Co-Authored-By trailers, AI attribution footers, or "Generated with" signatures to commits or PRs.
42
46
 
43
47
  ## Gotchas
44
48
  [Grows during development]
@@ -46,6 +46,7 @@ Rules:
46
46
  - No period at the end of the subject line
47
47
  - Blank line between subject and body
48
48
  - Body explains motivation, not mechanics
49
+ - Never append Co-Authored-By trailers, AI attribution lines, or "Generated with" footers
49
50
 
50
51
  ## When to Commit
51
52
 
@@ -76,6 +77,7 @@ All feature/bugfix branches are created from and merged back into `develop`. Nev
76
77
  4. PR title follows same format as commit subject: `type(scope): description`
77
78
  5. PR body includes: what changed, why, how to test, anything reviewers should know
78
79
  6. Request review if the project has reviewers configured
80
+ 7. Do not add AI-generated footers (e.g., "Generated with Claude Code") to PR descriptions
79
81
 
80
82
  ## Squash vs Merge
81
83
 
@@ -97,6 +99,17 @@ When using `git worktree` for parallel work:
97
99
  Agents that use worktree isolation (code-simplifier, test-writer, ci-fixer, etc.)
98
100
  create and clean up their own worktrees automatically.
99
101
 
102
+ ## Shared-State Files
103
+
104
+ These files are modified ONLY on the develop branch (via /sync), never on feature branches:
105
+
106
+ - `docs/spec/PROGRESS.md` — project progress tracker
107
+ - `docs/spec/SPEC.md` — feature specification
108
+ - `README.md` — project documentation
109
+ - `package.json` version field — release versioning
110
+
111
+ This prevents merge conflicts when running parallel feature branches.
112
+
100
113
  ## Versioning Policy
101
114
 
102
115
  Follow [semver](https://semver.org/) when the project publishes releases: