@hopla/claude-setup 1.11.3 → 1.12.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.
Files changed (32) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +109 -115
  4. package/cli.js +32 -21
  5. package/hooks/session-prime.js +8 -8
  6. package/package.json +1 -1
  7. package/skills/{hopla-brainstorm → brainstorm}/SKILL.md +1 -1
  8. package/skills/{hopla-code-review → code-review}/SKILL.md +1 -1
  9. package/skills/{hopla-debug → debug}/SKILL.md +1 -1
  10. package/skills/{hopla-execution-report → execution-report}/SKILL.md +1 -1
  11. package/skills/{hopla-git → git}/SKILL.md +3 -3
  12. package/skills/{hopla-parallel-dispatch → parallel-dispatch}/SKILL.md +1 -1
  13. package/skills/{hopla-prime → prime}/SKILL.md +1 -1
  14. package/skills/{hopla-subagent-execution → subagent-execution}/SKILL.md +1 -1
  15. package/skills/{hopla-tdd → tdd}/SKILL.md +1 -1
  16. package/skills/{hopla-verify → verify}/SKILL.md +1 -1
  17. package/skills/{hopla-worktree → worktree}/SKILL.md +1 -1
  18. /package/commands/{hopla-code-review-fix.md → code-review-fix.md} +0 -0
  19. /package/commands/{hopla-create-prd.md → create-prd.md} +0 -0
  20. /package/commands/{hopla-end-to-end.md → end-to-end.md} +0 -0
  21. /package/commands/{hopla-execute.md → execute.md} +0 -0
  22. /package/commands/{hopla-git-commit.md → git-commit.md} +0 -0
  23. /package/commands/{hopla-git-pr.md → git-pr.md} +0 -0
  24. /package/commands/{hopla-guide.md → guide.md} +0 -0
  25. /package/commands/{hopla-init-project.md → init-project.md} +0 -0
  26. /package/commands/{hopla-plan-feature.md → plan-feature.md} +0 -0
  27. /package/commands/{hopla-rca.md → rca.md} +0 -0
  28. /package/commands/{hopla-review-plan.md → review-plan.md} +0 -0
  29. /package/commands/{hopla-system-review.md → system-review.md} +0 -0
  30. /package/commands/{hopla-validate.md → validate.md} +0 -0
  31. /package/skills/{hopla-git → git}/commit.md +0 -0
  32. /package/skills/{hopla-git → git}/pr.md +0 -0
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "hopla",
11
11
  "description": "Agentic coding system: PIV loop, TDD, debugging, brainstorming, subagent execution, and team workflows",
12
- "version": "1.11.2",
12
+ "version": "1.12.1",
13
13
  "source": "./",
14
14
  "author": {
15
15
  "name": "Hopla Tools",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hopla",
3
3
  "description": "Agentic coding system for Claude Code: PIV loop (Plan → Implement → Validate), TDD, debugging, brainstorming, subagent execution, and team workflows",
4
- "version": "1.11.3",
4
+ "version": "1.12.1",
5
5
  "author": {
6
6
  "name": "Hopla Tools",
7
7
  "email": "julio@hopla.tools"
package/README.md CHANGED
@@ -18,7 +18,7 @@ Then install the plugin:
18
18
  /plugin install hopla@hopla-marketplace
19
19
  ```
20
20
 
21
- This installs all commands, skills, agents, and hooks automatically. Updates are detected when the plugin version changes — update manually with `/plugin update hopla@hopla-marketplace`.
21
+ This installs all commands, skills, agents, and hooks automatically.
22
22
 
23
23
  To also install the global rules template (`~/.claude/CLAUDE.md`), run the CLI:
24
24
 
@@ -45,7 +45,7 @@ npm install -g @hopla/claude-setup
45
45
  claude-setup --planning
46
46
  ```
47
47
 
48
- Installs only planning commands: `init-project`, `create-prd`, `plan-feature`, `review-plan`, `guide`, `git-commit`, `git-pr`. Also installs planning skills (`hopla-prime`, `hopla-brainstorm`). No execution or review commands. No bash permission prompts during planning.
48
+ Installs only planning commands: `init-project`, `create-prd`, `plan-feature`, `review-plan`, `guide`, `git-commit`, `git-pr`. Also installs planning skills (`prime`, `brainstorm`). No execution or review commands. No bash permission prompts during planning.
49
49
 
50
50
  To overwrite existing files without prompting:
51
51
 
@@ -56,12 +56,24 @@ claude-setup --planning --force
56
56
 
57
57
  ## Update
58
58
 
59
- **Plugin channel:** updates automatically when the plugin version changes, or manually:
60
- ```
61
- /plugin update hopla@hopla-marketplace
59
+ ### Plugin channel
60
+
61
+ Claude Code caches the marketplace repo locally. To get the latest version:
62
+
63
+ ```bash
64
+ # Step 1: Update the local marketplace cache
65
+ cd ~/.claude/plugins/marketplaces/hopla-marketplace && git pull
66
+
67
+ # Step 2: Reinstall the plugin in Claude Code
68
+ /plugin uninstall hopla@hopla-marketplace
69
+ /plugin install hopla@hopla-marketplace
70
+ /reload-plugins
62
71
  ```
63
72
 
64
- **CLI channel (for global rules):**
73
+ > **Known issue:** Claude Code does not automatically `git pull` the marketplace when reinstalling a plugin. The manual `git pull` in step 1 is required to pick up new versions.
74
+
75
+ ### CLI channel (for global rules)
76
+
65
77
  ```bash
66
78
  npm install -g @hopla/claude-setup@latest --prefer-online && claude-setup --force
67
79
  ```
@@ -80,6 +92,19 @@ claude-setup --uninstall
80
92
 
81
93
  ---
82
94
 
95
+ ## Naming Convention
96
+
97
+ Skills and commands use short names in source (e.g., `prime`, `execute`, `git`). Each distribution channel adds its own namespace:
98
+
99
+ | Channel | Skills | Commands |
100
+ |---|---|---|
101
+ | **Plugin** | `/hopla:prime`, `/hopla:git` | `/hopla:execute`, `/hopla:plan-feature` |
102
+ | **CLI** | `hopla-prime`, `hopla-git` | `/hopla-execute`, `/hopla-plan-feature` |
103
+
104
+ The plugin channel uses the plugin name (`hopla:`) as namespace. The CLI channel adds a `hopla-` prefix during installation.
105
+
106
+ ---
107
+
83
108
  ## How It Works — Layered Context
84
109
 
85
110
  The system uses three levels of CLAUDE.md, each scoped differently:
@@ -88,7 +113,7 @@ The system uses three levels of CLAUDE.md, each scoped differently:
88
113
  ~/.claude/CLAUDE.md ← Machine-level (installed by claude-setup)
89
114
  └── applies to ALL projects on this machine
90
115
 
91
- CLAUDE.md (project root) ← Project-level (created with /hopla-init-project)
116
+ CLAUDE.md (project root) ← Project-level (created with /init-project)
92
117
  └── applies to THIS project only
93
118
 
94
119
  .claude/CLAUDE.local.md ← Local overrides (personal, gitignored)
@@ -113,12 +138,12 @@ This system is built on two core concepts from the Agentic Coding Course:
113
138
  |--------|-----------|----------------|
114
139
  | **Global Rules** | Always-loaded context: language, git flow, tech defaults, autonomy rules | `~/.claude/CLAUDE.md` |
115
140
  | **On-Demand Context** | Task-specific guides loaded when needed (e.g. "how to add an API endpoint") | `.agents/guides/*.md` |
116
- | **Commands** | Reusable processes that tell the agent *how* to work | `~/.claude/commands/hopla-*.md` |
117
- | **Skills** | Auto-activate by semantic matching — no slash command needed | `~/.claude/skills/hopla-*/SKILL.md` |
141
+ | **Commands** | Reusable processes that tell the agent *how* to work | `~/.claude/commands/` |
142
+ | **Skills** | Auto-activate by semantic matching — no slash command needed | `~/.claude/skills/` |
118
143
  | **Agents** | Specialized subagents for delegation (code review, research, system analysis) | `~/.claude/agents/*.md` |
119
144
  | **Hooks** | Run automatically before/after tool use for type checking and protection | `~/.claude/hooks/*.js` |
120
145
 
121
- The key insight: **commands inject on-demand context deterministically** — when you run `/hopla-plan-feature`, it automatically reads the relevant guide from `.agents/guides/` before planning.
146
+ The key insight: **commands inject on-demand context deterministically** — when you run `/plan-feature`, it automatically reads the relevant guide from `.agents/guides/` before planning.
122
147
 
123
148
  ### PIV Loop — How you work
124
149
 
@@ -126,13 +151,13 @@ The key insight: **commands inject on-demand context deterministically** — whe
126
151
  Plan → Implement → Validate → (repeat)
127
152
  ```
128
153
 
129
- - **Plan** (`/hopla-plan-feature`) — Research the codebase, design the approach, create a structured plan
130
- - **Implement** (`/hopla-execute`) — Delegate coding to the AI, trust but verify at each task
154
+ - **Plan** (`/plan-feature`) — Research the codebase, design the approach, create a structured plan
155
+ - **Implement** (`/execute`) — Delegate coding to the AI, trust but verify at each task
131
156
  - **Validate** — AI runs lint → types → tests → integration; human reviews the result
132
157
 
133
158
  ### System Evolution
134
159
 
135
- After each PIV loop, run `/hopla-execution-report` + `/hopla-system-review` to find process improvements. Don't just fix bugs — fix the system that allowed them.
160
+ After each PIV loop, run `/execution-report` + `/system-review` to find process improvements. Don't just fix bugs — fix the system that allowed them.
136
161
 
137
162
  ---
138
163
 
@@ -140,43 +165,43 @@ After each PIV loop, run `/hopla-execution-report` + `/hopla-system-review` to f
140
165
 
141
166
  **`~/.claude/CLAUDE.md`** — Global rules applied to every Claude Code session.
142
167
 
143
- **`~/.claude/commands/`** — Reusable commands available in any project:
168
+ **Commands** — Reusable commands available in any project:
144
169
 
145
170
  | Command | Description |
146
171
  |---|---|
147
- | `/hopla-init-project` | Read PRD, recommend stack, create CLAUDE.md and .agents/ structure |
148
- | `/hopla-create-prd` | Create a Product Requirements Document through guided questions |
149
- | `/hopla-plan-feature` | Research codebase and create a structured implementation plan |
150
- | `/hopla-review-plan` | Review a plan before execution — get a concise summary and approve |
151
- | `/hopla-execute` | Execute a structured plan from start to finish with validation |
152
- | `/hopla-validate` | Run the validation pyramid: lint → types → tests → integration |
153
- | `/hopla-end-to-end` | Full PIV loop in one command: prime → brainstorm → plan → execute → validate → commit |
154
- | `/hopla-git-commit` | Create a Conventional Commit with Git Flow awareness |
155
- | `/hopla-git-pr` | Create a GitHub Pull Request with a structured description |
156
- | `/hopla-code-review-fix` | Fix issues found in a code review report |
157
- | `/hopla-rca` | Root Cause Analysis — investigate a bug systematically and generate an RCA doc |
158
- | `/hopla-guide` | 4D Framework guide for non-technical users (Description, Discernment, Delegation, Diligence) |
159
- | `/hopla-system-review` | Analyze implementation against plan to find process improvements |
160
-
161
- > **Note:** `hopla-prime`, `hopla-code-review`, and `hopla-execution-report` are **skills only** (no slash command needed) — they auto-activate when you describe the task in natural language.
162
-
163
- **`~/.claude/skills/`** — Auto-activate by semantic matching, no slash command needed:
172
+ | `init-project` | Read PRD, recommend stack, create CLAUDE.md and .agents/ structure |
173
+ | `create-prd` | Create a Product Requirements Document through guided questions |
174
+ | `plan-feature` | Research codebase and create a structured implementation plan |
175
+ | `review-plan` | Review a plan before execution — get a concise summary and approve |
176
+ | `execute` | Execute a structured plan from start to finish with validation |
177
+ | `validate` | Run the validation pyramid: lint → types → tests → integration |
178
+ | `end-to-end` | Full PIV loop in one command: prime → brainstorm → plan → execute → validate → commit |
179
+ | `git-commit` | Create a Conventional Commit with Git Flow awareness |
180
+ | `git-pr` | Create a GitHub Pull Request with a structured description |
181
+ | `code-review-fix` | Fix issues found in a code review report |
182
+ | `rca` | Root Cause Analysis — investigate a bug systematically and generate an RCA doc |
183
+ | `guide` | 4D Framework guide for non-technical users (Description, Discernment, Delegation, Diligence) |
184
+ | `system-review` | Analyze implementation against plan to find process improvements |
185
+
186
+ > **Note:** `prime`, `code-review`, and `execution-report` are **skills only** (no slash command needed) — they auto-activate when you describe the task in natural language.
187
+
188
+ **Skills** — Auto-activate by semantic matching, no slash command needed:
164
189
 
165
190
  | Skill | Auto-activates when you say... |
166
191
  |---|---|
167
- | `hopla-git` | "commit this", "create a PR", "save the changes" |
168
- | `hopla-prime` | "orient yourself", "catch me up", "what is this project" |
169
- | `hopla-code-review` | "review the code", "code review", "check these changes" |
170
- | `hopla-execution-report` | "generate the report", "document what was done", "summarize the work" |
171
- | `hopla-verify` | "verify it works", "make sure it's correct", "check before finishing" |
172
- | `hopla-brainstorm` | "let's brainstorm", "explore approaches", "design this before coding" |
173
- | `hopla-debug` | "debug this", "find the bug", "why is this failing" |
174
- | `hopla-tdd` | "write tests first", "TDD", "red-green-refactor" |
175
- | `hopla-subagent-execution` | "use subagents", "execute with agents", plans with 5+ tasks |
176
- | `hopla-parallel-dispatch` | "run in parallel", "parallelize this", independent tasks |
177
- | `hopla-worktree` | "use a worktree", "isolated branch", "parallel feature work" |
178
-
179
- **`~/.claude/hooks/`** — Run automatically before/after tool use (configured in `~/.claude/settings.json`):
192
+ | `git` | "commit this", "create a PR", "save the changes" |
193
+ | `prime` | "orient yourself", "catch me up", "what is this project" |
194
+ | `code-review` | "review the code", "code review", "check these changes" |
195
+ | `execution-report` | "generate the report", "document what was done", "summarize the work" |
196
+ | `verify` | "verify it works", "make sure it's correct", "check before finishing" |
197
+ | `brainstorm` | "let's brainstorm", "explore approaches", "design this before coding" |
198
+ | `debug` | "debug this", "find the bug", "why is this failing" |
199
+ | `tdd` | "write tests first", "TDD", "red-green-refactor" |
200
+ | `subagent-execution` | "use subagents", "execute with agents", plans with 5+ tasks |
201
+ | `parallel-dispatch` | "run in parallel", "parallelize this", independent tasks |
202
+ | `worktree` | "use a worktree", "isolated branch", "parallel feature work" |
203
+
204
+ **Hooks** — Run automatically before/after tool use (configured in `~/.claude/settings.json`):
180
205
 
181
206
  | Hook | Type | What it does |
182
207
  |---|---|---|
@@ -184,15 +209,15 @@ After each PIV loop, run `/hopla-execution-report` + `/hopla-system-review` to f
184
209
  | `env-protect.js` | PreToolUse | Blocks reads/greps targeting `.env` files |
185
210
  | `session-prime.js` | SessionStart (opt-in) | Loads git context + CLAUDE.md summary at session start |
186
211
 
187
- **`~/.claude/agents/`** — Specialized subagents for delegation:
212
+ **Agents** — Specialized subagents for delegation:
188
213
 
189
214
  | Agent | What it does |
190
215
  |---|---|
191
- | `code-reviewer` | Senior code reviewer (model: sonnet, read-only). Reviews plan alignment, code quality, architecture, logic, security, performance |
192
- | `codebase-researcher` | Fast codebase explorer (model: haiku, read-only). Systematic search and structured findings |
193
- | `system-reviewer` | System review analyst (model: sonnet, read-only). Analyzes execution vs plan, classifies divergences |
216
+ | `code-reviewer` | Senior code reviewer (read-only). Reviews plan alignment, code quality, architecture, logic, security, performance |
217
+ | `codebase-researcher` | Fast codebase explorer (read-only). Systematic search and structured findings |
218
+ | `system-reviewer` | System review analyst (read-only). Analyzes execution vs plan, classifies divergences |
194
219
 
195
- **`~/.claude/commands/guides/`**Reference guides loaded on-demand:
220
+ **Reference guides**Loaded on-demand:
196
221
 
197
222
  | Guide | What it covers |
198
223
  |---|---|
@@ -205,79 +230,48 @@ After each PIV loop, run `/hopla-execution-report` + `/hopla-system-review` to f
205
230
  | `data-audit.md` | Data pipeline audit checklist |
206
231
  | `review-checklist.md` | Code review checklist reference |
207
232
 
208
- **Installed layout:**
209
-
210
- ```
211
- ~/.claude/
212
- ├── CLAUDE.md ← Global rules
213
- ├── commands/
214
- │ ├── hopla-*.md ← Slash commands (/hopla-prime, /hopla-execute, etc.)
215
- │ └── guides/ ← Reference guides (loaded on-demand by commands/skills)
216
- ├── skills/
217
- │ ├── hopla-git/ ← Auto-activates for commit/PR requests
218
- │ ├── hopla-prime/ ← Auto-activates for orientation requests
219
- │ ├── hopla-code-review/ ← Auto-activates for review requests
220
- │ ├── hopla-execution-report/ ← Auto-activates for report requests
221
- │ ├── hopla-verify/ ← Auto-activates for verification before completion
222
- │ ├── hopla-brainstorm/ ← Auto-activates for design exploration
223
- │ ├── hopla-debug/ ← Auto-activates for systematic debugging
224
- │ ├── hopla-tdd/ ← Auto-activates for test-driven development
225
- │ ├── hopla-subagent-execution/ ← Auto-activates for multi-task plans
226
- │ ├── hopla-parallel-dispatch/ ← Auto-activates for parallel work
227
- │ └── hopla-worktree/ ← Auto-activates for isolated branch work
228
- ├── agents/
229
- │ ├── code-reviewer.md ← Senior code review subagent
230
- │ ├── codebase-researcher.md ← Fast codebase exploration subagent
231
- │ └── system-reviewer.md ← Execution vs plan analysis subagent
232
- ├── hooks/
233
- │ ├── tsc-check.js ← TypeScript type checking after edits
234
- │ ├── env-protect.js ← .env file protection
235
- │ └── session-prime.js ← Session context loader (opt-in)
236
- └── settings.json ← Permissions + hooks config (auto-updated)
237
- ```
238
-
239
233
  ---
240
234
 
241
235
  ## Recommended Workflow
242
236
 
243
237
  ### Starting a new project
244
238
  ```
245
- /hopla-create-prd → define what you're building (PRD.md)
246
- /hopla-init-project → reads PRD, recommends stack, creates CLAUDE.md + .agents/
247
- /hopla-git-commit → saves Layer 1 foundation to git
239
+ /create-prd → define what you're building (PRD.md)
240
+ /init-project → reads PRD, recommends stack, creates CLAUDE.md + .agents/
241
+ /git-commit → saves Layer 1 foundation to git
248
242
  ```
249
243
 
250
244
  ### Feature development (PIV loop)
251
245
  ```
252
- "catch me up" hopla-prime skill auto-loads project context
253
- /hopla-plan-feature → research codebase and create plan
254
- /hopla-review-plan → review plan summary and approve
255
- /hopla-execute → implement the plan with validation
256
- /hopla-validate → run lint → types → tests → integration
257
- "review the code" hopla-code-review skill runs automatically
258
- /hopla-code-review-fix → fix issues found
259
- /hopla-rca → root cause analysis if a bug is found
260
- "generate the report" hopla-execution-report skill documents what was built
261
- /hopla-git-commit → save to git
262
- /hopla-git-pr → open pull request on GitHub
246
+ "catch me up" → prime skill auto-loads project context
247
+ /plan-feature → research codebase and create plan
248
+ /review-plan → review plan summary and approve
249
+ /execute → implement the plan with validation
250
+ /validate → run lint → types → tests → integration
251
+ "review the code" → code-review skill runs automatically
252
+ /code-review-fix → fix issues found
253
+ /rca → root cause analysis if a bug is found
254
+ "generate the report" → execution-report skill documents what was built
255
+ /git-commit → save to git
256
+ /git-pr → open pull request on GitHub
263
257
  ```
264
258
 
265
259
  ### Full automation (one command)
266
260
  ```
267
- /hopla-end-to-end → runs the entire PIV loop: prime → brainstorm → plan → execute → validate → commit
261
+ /end-to-end → runs the entire PIV loop: prime → brainstorm → plan → execute → validate → commit
268
262
  ```
269
263
 
270
264
  ### After implementation
271
265
  ```
272
- /hopla-system-review → analyze plan vs. actual for process improvements
266
+ /system-review → analyze plan vs. actual for process improvements
273
267
  ```
274
268
 
275
269
  ### For non-technical users
276
270
  ```
277
- /hopla-guide → 4D Framework walkthrough (Description, Discernment, Delegation, Diligence)
271
+ /guide → 4D Framework walkthrough (Description, Discernment, Delegation, Diligence)
278
272
  ```
279
273
 
280
- > **Tip:** Many commands also exist as skills — they auto-activate when you describe what you want in natural language. For example, saying "debug this" triggers `hopla-debug`, and "let's brainstorm" triggers `hopla-brainstorm`, without typing any slash command.
274
+ > **Tip:** Many commands also exist as skills — they auto-activate when you describe what you want in natural language. For example, saying "debug this" triggers the `debug` skill, and "let's brainstorm" triggers the `brainstorm` skill, without typing any slash command.
281
275
 
282
276
  ---
283
277
 
@@ -289,50 +283,50 @@ Commands are modular — the output of one becomes the input of the next. Some c
289
283
 
290
284
  | Command | Argument | Example |
291
285
  |---|---|---|
292
- | `/hopla-execute` | Path to plan file | `/hopla-execute .agents/plans/auth-feature.md` |
293
- | `/hopla-end-to-end` | Feature description | `/hopla-end-to-end add user authentication` |
294
- | `/hopla-code-review-fix` | Path to review report or description | `/hopla-code-review-fix .agents/code-reviews/auth-review.md` |
295
- | `/hopla-rca` | Bug description or error message | `/hopla-rca "login fails with 403 after token refresh"` |
296
- | `/hopla-system-review` | Plan file + execution report | `/hopla-system-review .agents/plans/auth-feature.md .agents/execution-reports/auth-feature.md` |
286
+ | `/execute` | Path to plan file | `/execute .agents/plans/auth-feature.md` |
287
+ | `/end-to-end` | Feature description | `/end-to-end add user authentication` |
288
+ | `/code-review-fix` | Path to review report or description | `/code-review-fix .agents/code-reviews/auth-review.md` |
289
+ | `/rca` | Bug description or error message | `/rca "login fails with 403 after token refresh"` |
290
+ | `/system-review` | Plan file + execution report | `/system-review .agents/plans/auth-feature.md .agents/execution-reports/auth-feature.md` |
297
291
 
298
292
  ### Full PIV loop example
299
293
 
300
294
  ```
301
295
  # 1. Plan
302
- /hopla-plan-feature add user authentication
296
+ /plan-feature add user authentication
303
297
  → saves: .agents/plans/add-user-authentication.md
304
298
 
305
299
  # 2. Review plan
306
- /hopla-review-plan .agents/plans/add-user-authentication.md
300
+ /review-plan .agents/plans/add-user-authentication.md
307
301
 
308
302
  # 3. Execute
309
- /hopla-execute .agents/plans/add-user-authentication.md
303
+ /execute .agents/plans/add-user-authentication.md
310
304
  → implements the plan, runs validation
311
305
 
312
306
  # 4. Validate
313
- /hopla-validate
307
+ /validate
314
308
  → runs lint → types → tests → integration
315
309
 
316
310
  # 5. Code review (auto-triggered skill — just say "review the code")
317
311
  → saves: .agents/code-reviews/add-user-authentication.md
318
312
 
319
313
  # 6. Fix issues
320
- /hopla-code-review-fix .agents/code-reviews/add-user-authentication.md
314
+ /code-review-fix .agents/code-reviews/add-user-authentication.md
321
315
 
322
316
  # 7. Document (auto-triggered skill — just say "generate the report")
323
317
  → saves: .agents/execution-reports/add-user-authentication.md
324
318
 
325
319
  # 8. Commit
326
- /hopla-git-commit
320
+ /git-commit
327
321
 
328
322
  # 9. Pull request
329
- /hopla-git-pr
323
+ /git-pr
330
324
 
331
325
  # 10. Process improvement (after PR merge)
332
- /hopla-system-review .agents/plans/add-user-authentication.md .agents/execution-reports/add-user-authentication.md
326
+ /system-review .agents/plans/add-user-authentication.md .agents/execution-reports/add-user-authentication.md
333
327
  ```
334
328
 
335
- > **Or do it all in one command:** `/hopla-end-to-end add user authentication`
329
+ > **Or do it all in one command:** `/end-to-end add user authentication`
336
330
 
337
331
  ---
338
332
 
@@ -347,12 +341,12 @@ Features under consideration for future versions:
347
341
 
348
342
  ---
349
343
 
350
- ## Project Structure (after /hopla-create-prd + /hopla-init-project)
344
+ ## Project Structure (after /create-prd + /init-project)
351
345
 
352
346
  ```
353
347
  project/
354
- ├── PRD.md ← Product scope (from /hopla-create-prd)
355
- ├── CLAUDE.md ← Project rules and stack (from /hopla-init-project)
348
+ ├── PRD.md ← Product scope (from /create-prd)
349
+ ├── CLAUDE.md ← Project rules and stack (from /init-project)
356
350
  ├── .agents/
357
351
  │ ├── plans/ ← Implementation plans (commit these)
358
352
  │ ├── specs/ ← Design specs from brainstorming (commit these)
package/cli.js CHANGED
@@ -74,26 +74,30 @@ async function uninstall() {
74
74
  log(`\n${BOLD}@hopla/claude-setup${RESET} — Uninstall\n`);
75
75
 
76
76
  const srcEntries = fs.readdirSync(path.join(REPO_ROOT, "commands"));
77
- const srcFiles = srcEntries.filter((f) =>
78
- fs.statSync(path.join(REPO_ROOT, "commands", f)).isFile()
79
- );
77
+ const srcFiles = srcEntries.filter((f) => {
78
+ if (f.startsWith(".")) return false;
79
+ return fs.statSync(path.join(REPO_ROOT, "commands", f)).isFile();
80
+ });
80
81
  const srcDirs = srcEntries.filter((f) =>
81
82
  fs.statSync(path.join(REPO_ROOT, "commands", f)).isDirectory()
82
83
  );
83
84
 
85
+ // Map source files to their installed names (with hopla- prefix)
86
+ const installedNames = new Set(srcFiles.map((f) => withPrefix(f)));
87
+
84
88
  // Also include any hopla-* files in ~/.claude/commands/ not in current source
85
89
  // (leftovers from previous versions)
86
90
  const installedHoplaFiles = fs.existsSync(COMMANDS_DIR)
87
91
  ? fs.readdirSync(COMMANDS_DIR).filter((f) =>
88
- f.startsWith("hopla-") && fs.statSync(path.join(COMMANDS_DIR, f)).isFile() && !srcFiles.includes(f)
92
+ f.startsWith("hopla-") && fs.statSync(path.join(COMMANDS_DIR, f)).isFile() && !installedNames.has(f)
89
93
  )
90
94
  : [];
91
95
 
92
96
  const itemsToRemove = [
93
97
  { dest: path.join(CLAUDE_DIR, "CLAUDE.md"), label: "~/.claude/CLAUDE.md", isDir: false },
94
98
  ...srcFiles.map((file) => ({
95
- dest: path.join(COMMANDS_DIR, file),
96
- label: `~/.claude/commands/${file}`,
99
+ dest: path.join(COMMANDS_DIR, withPrefix(file)),
100
+ label: `~/.claude/commands/${withPrefix(file)}`,
97
101
  isDir: false,
98
102
  })),
99
103
  ...installedHoplaFiles.map((file) => ({
@@ -145,7 +149,7 @@ async function uninstall() {
145
149
 
146
150
  function removeStaleCommands(currentCommandFiles) {
147
151
  if (!fs.existsSync(COMMANDS_DIR)) return;
148
- const currentSet = new Set(currentCommandFiles);
152
+ const currentSet = new Set(currentCommandFiles.map((f) => withPrefix(f)));
149
153
  const removed = [];
150
154
  for (const file of fs.readdirSync(COMMANDS_DIR)) {
151
155
  const filePath = path.join(COMMANDS_DIR, file);
@@ -165,15 +169,20 @@ function removeStaleCommands(currentCommandFiles) {
165
169
  }
166
170
 
167
171
  const PLANNING_COMMANDS = [
168
- "hopla-init-project.md",
169
- "hopla-create-prd.md",
170
- "hopla-plan-feature.md",
171
- "hopla-review-plan.md",
172
- "hopla-git-commit.md",
173
- "hopla-git-pr.md",
174
- "hopla-guide.md",
172
+ "init-project.md",
173
+ "create-prd.md",
174
+ "plan-feature.md",
175
+ "review-plan.md",
176
+ "git-commit.md",
177
+ "git-pr.md",
178
+ "guide.md",
175
179
  ];
176
180
 
181
+ // CLI channel adds hopla- prefix so skills/commands keep their namespace
182
+ function withPrefix(name) {
183
+ return `hopla-${name}`;
184
+ }
185
+
177
186
  async function install() {
178
187
  const modeLabel = PLANNING ? "Planning Mode (Robert)" : "Full Install";
179
188
  log(`\n${BOLD}@hopla/claude-setup${RESET} — Agentic Coding System ${CYAN}[${modeLabel}]${RESET}\n`);
@@ -209,10 +218,11 @@ async function install() {
209
218
 
210
219
  log(`\n${CYAN}Installing commands...${RESET}`);
211
220
  for (const file of commandFiles.sort()) {
221
+ const destFile = withPrefix(file);
212
222
  await installFile(
213
223
  path.join(REPO_ROOT, "commands", file),
214
- path.join(COMMANDS_DIR, file),
215
- `~/.claude/commands/${file}`
224
+ path.join(COMMANDS_DIR, destFile),
225
+ `~/.claude/commands/${destFile}`
216
226
  );
217
227
  }
218
228
  // Install subdirectories (e.g. guides/)
@@ -231,7 +241,7 @@ async function install() {
231
241
 
232
242
  log(`\n${GREEN}${BOLD}Done!${RESET} Commands available in any Claude Code session:\n`);
233
243
  for (const file of commandFiles.sort()) {
234
- const name = file.replace(".md", "");
244
+ const name = withPrefix(file).replace(".md", "");
235
245
  log(` ${CYAN}/${name}${RESET}`);
236
246
  }
237
247
  if (PLANNING) {
@@ -247,7 +257,7 @@ async function install() {
247
257
  }
248
258
 
249
259
  // Skills to install in planning mode (subset)
250
- const PLANNING_SKILLS = ["hopla-prime", "hopla-brainstorm"];
260
+ const PLANNING_SKILLS = ["prime", "brainstorm"];
251
261
 
252
262
  async function installSkills() {
253
263
  const skillsSrcDir = path.join(REPO_ROOT, "skills");
@@ -268,20 +278,21 @@ async function installSkills() {
268
278
  log(`\n${CYAN}Installing skills...${RESET}`);
269
279
  for (const skillName of skillsToInstall.sort()) {
270
280
  const srcDir = path.join(skillsSrcDir, skillName);
271
- const destDir = path.join(SKILLS_DIR, skillName);
281
+ const destName = withPrefix(skillName);
282
+ const destDir = path.join(SKILLS_DIR, destName);
272
283
  fs.mkdirSync(destDir, { recursive: true });
273
284
  for (const file of fs.readdirSync(srcDir).sort()) {
274
285
  await installFile(
275
286
  path.join(srcDir, file),
276
287
  path.join(destDir, file),
277
- `~/.claude/skills/${skillName}/${file}`
288
+ `~/.claude/skills/${destName}/${file}`
278
289
  );
279
290
  }
280
291
  }
281
292
 
282
293
  log(`\n${GREEN}${BOLD}Skills installed!${RESET} Auto-activate without a slash command:\n`);
283
294
  for (const skillName of skillsToInstall.sort()) {
284
- log(` ${CYAN}${skillName}${RESET}`);
295
+ log(` ${CYAN}${withPrefix(skillName)}${RESET}`);
285
296
  }
286
297
  }
287
298
 
@@ -42,14 +42,14 @@ async function main() {
42
42
 
43
43
  // Available skills reminder
44
44
  lines.push(`📦 HOPLA Skills Available:
45
- - hopla-prime: Project orientation (trigger: "orient", "get context", "load project")
46
- - hopla-git: Git operations (trigger: "commit", "PR", "push")
47
- - hopla-code-review: Code review (trigger: "review code", "code review")
48
- - hopla-execution-report: Post-implementation docs (trigger: "generate report")
49
- - hopla-verify: Completion verification (trigger: any "done"/"listo"/"finished" claim)
50
- - hopla-brainstorm: Design exploration (trigger: "new feature", "brainstorm", "explore options")
51
- - hopla-debug: Systematic debugging (trigger: "bug", "error", "debug")
52
- - hopla-tdd: Test-driven development (trigger: implementing with tests)
45
+ - prime: Project orientation (trigger: "orient", "get context", "load project")
46
+ - git: Git operations (trigger: "commit", "PR", "push")
47
+ - code-review: Code review (trigger: "review code", "code review")
48
+ - execution-report: Post-implementation docs (trigger: "generate report")
49
+ - verify: Completion verification (trigger: any "done"/"listo"/"finished" claim)
50
+ - brainstorm: Design exploration (trigger: "new feature", "brainstorm", "explore options")
51
+ - debug: Systematic debugging (trigger: "bug", "error", "debug")
52
+ - tdd: Test-driven development (trigger: implementing with tests)
53
53
 
54
54
  ⚠️ If a skill applies to the current task, you MUST use it.`);
55
55
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hopla/claude-setup",
3
- "version": "1.11.3",
3
+ "version": "1.12.1",
4
4
  "description": "Hopla team agentic coding system for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-brainstorm
2
+ name: brainstorm
3
3
  description: "Design exploration and brainstorming before planning. Use when the user wants to explore options for a new feature, discuss approaches, design a solution, brainstorm ideas, or evaluate trade-offs. Trigger on: 'new feature', 'brainstorm', 'explore options', 'design', 'how should we', 'what approach', 'trade-offs', 'quiero agregar', 'diseñar', 'explorar opciones'. Do NOT use when the user already has a clear plan or is asking to execute existing work."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-code-review
2
+ name: code-review
3
3
  description: "Technical code review on changed files. Use when the user says 'review code', 'code review', 'check my code', 'review changes', 'look for bugs', or 'audit code'. Also use after completing implementation when validation passes. Do NOT use for reviewing plans or documents — only code."
4
4
  allowed-tools: Read, Grep, Glob, Bash
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-debug
2
+ name: debug
3
3
  description: "Systematic debugging methodology for finding and fixing bugs. Use when encountering errors, bugs, failures, unexpected behavior, or when the user says 'bug', 'error', 'not working', 'failing', 'debug', 'fix', 'broken', 'falla', 'no funciona', 'error'. Do NOT use for planned feature work or refactoring — only for diagnosing and fixing unexpected problems."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-execution-report
2
+ name: execution-report
3
3
  description: "Post-implementation documentation generator. Use when the user says 'generate report', 'document what was done', 'execution report', 'what changed', or after a feature implementation is complete and validated. Do NOT use during implementation — only after completion."
4
4
  allowed-tools: Read, Grep, Glob, Bash
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-git
2
+ name: git
3
3
  description: "Git operations handler for commits and pull requests. Use when the user mentions 'commit', 'save changes', 'create commit', 'PR', 'pull request', 'push', 'merge request', or any git workflow action. Do NOT use for git status checks or branch management — only for commits and PRs."
4
4
  ---
5
5
 
@@ -20,7 +20,7 @@ Detect the user's intent and execute the appropriate git workflow.
20
20
  ## File References
21
21
 
22
22
  The full step-by-step instructions for each workflow are in:
23
- - `~/.claude/skills/hopla-git/commit.md` — conventional commit with Git Flow awareness
24
- - `~/.claude/skills/hopla-git/pr.md` — GitHub PR creation with structured description
23
+ - `commit.md` (in this skill's directory) — conventional commit with Git Flow awareness
24
+ - `pr.md` (in this skill's directory) — GitHub PR creation with structured description
25
25
 
26
26
  Read the relevant file now and follow its instructions completely.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-parallel-dispatch
2
+ name: parallel-dispatch
3
3
  description: "Parallel agent dispatch for independent tasks. Use when 2+ tasks have no shared state and can run simultaneously, during brainstorming to explore multiple approaches, or when the user says 'in parallel', 'simultaneously', 'at the same time'. Do NOT use when tasks have dependencies or share state."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-prime
2
+ name: prime
3
3
  description: "Project orientation and context loading. Use when starting a session, onboarding to a project, needing to understand the codebase, or when the user says 'orient', 'get context', 'load project', 'what is this project', 'prime', or 'start'. Do NOT use mid-task when the project is already understood."
4
4
  allowed-tools: Read, Grep, Glob, Bash
5
5
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-subagent-execution
2
+ name: subagent-execution
3
3
  description: "Subagent-driven execution for large plans. Use when executing plans with 5+ tasks to maintain context quality, when the user says 'use subagents', 'parallel execution', or when context degradation is a concern in long implementations. Do NOT use for small plans (< 5 tasks) or quick fixes."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-tdd
2
+ name: tdd
3
3
  description: "Test-driven development workflow using the RED-GREEN-REFACTOR cycle. Use when implementing features that require tests, when the plan specifies test tasks, when the user mentions 'TDD', 'test first', 'write tests', or when working on bug fixes that should have regression tests. Do NOT use for documentation, configuration, or tasks where tests don't apply."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-verify
2
+ name: verify
3
3
  description: "Verification gate that ensures all completion claims are backed by fresh evidence. Use when the agent is about to declare work as done, finished, complete, ready, or implemented. Also use when hearing 'listo', 'terminé', 'ya está', 'done', 'finished', 'all tests pass', 'everything works', or any completion claim. Do NOT use for intermediate progress updates or partial task completion."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: hopla-worktree
2
+ name: worktree
3
3
  description: "Git worktree management for isolated feature development. Use when starting a new feature that benefits from isolation, when the user says 'worktree', 'isolated branch', 'parallel development', or when implementing multiple features simultaneously. Do NOT use for quick fixes or single-file changes."
4
4
  ---
5
5
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes