@hopla/claude-setup 1.2.8 → 1.3.0

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
@@ -4,15 +4,29 @@ Hopla team agentic coding system for Claude Code. Installs global rules and comm
4
4
 
5
5
  ## Install
6
6
 
7
+ ### Full install — for the implementer (Julio)
8
+
7
9
  ```bash
8
10
  npm install -g @hopla/claude-setup
9
11
  claude-setup
10
12
  ```
11
13
 
14
+ Installs all commands: planning + execution + review.
15
+
16
+ ### Planning-only install — for the planner/non-technical role (Robert)
17
+
18
+ ```bash
19
+ npm install -g @hopla/claude-setup
20
+ claude-setup --planning
21
+ ```
22
+
23
+ Installs only planning commands: `init-project`, `prime`, `create-prd`, `plan-feature`, `review-plan`, `git-commit`, `git-pr`. No execution or review commands. No bash permission prompts during planning.
24
+
12
25
  To overwrite existing files without prompting:
13
26
 
14
27
  ```bash
15
28
  claude-setup --force
29
+ claude-setup --planning --force
16
30
  ```
17
31
 
18
32
  ## Update
@@ -89,6 +103,7 @@ After each PIV loop, run `/hopla-execution-report` + `/hopla-system-review` to f
89
103
  | `/hopla-prime` | Load project context at the start of a session |
90
104
  | `/hopla-create-prd` | Create a Product Requirements Document through guided questions |
91
105
  | `/hopla-plan-feature` | Research codebase and create a structured implementation plan |
106
+ | `/hopla-review-plan` | Review a plan before execution — get a concise summary and approve |
92
107
  | `/hopla-execute` | Execute a structured plan from start to finish with validation |
93
108
  | `/hopla-git-commit` | Create a Conventional Commit with Git Flow awareness |
94
109
  | `/hopla-git-pr` | Create a GitHub Pull Request with a structured description |
@@ -112,6 +127,7 @@ After each PIV loop, run `/hopla-execution-report` + `/hopla-system-review` to f
112
127
  ```
113
128
  /hopla-prime → load context at session start
114
129
  /hopla-plan-feature → research codebase and create plan
130
+ /hopla-review-plan → review plan summary and approve
115
131
  /hopla-execute → implement the plan with validation
116
132
  /hopla-code-review → technical review of changes
117
133
  /hopla-code-review-fix → fix issues found
package/cli.js CHANGED
@@ -7,6 +7,7 @@ import readline from "readline";
7
7
 
8
8
  const FORCE = process.argv.includes("--force");
9
9
  const UNINSTALL = process.argv.includes("--uninstall");
10
+ const PLANNING = process.argv.includes("--planning");
10
11
  const VERSION = process.argv.includes("--version") || process.argv.includes("-v");
11
12
 
12
13
  if (VERSION) {
@@ -129,8 +130,19 @@ function removeLegacyFiles() {
129
130
  }
130
131
  }
131
132
 
133
+ const PLANNING_COMMANDS = [
134
+ "hopla-init-project.md",
135
+ "hopla-prime.md",
136
+ "hopla-create-prd.md",
137
+ "hopla-plan-feature.md",
138
+ "hopla-review-plan.md",
139
+ "hopla-git-commit.md",
140
+ "hopla-git-pr.md",
141
+ ];
142
+
132
143
  async function install() {
133
- log(`\n${BOLD}@hopla/claude-setup${RESET} Agentic Coding System\n`);
144
+ const modeLabel = PLANNING ? "Planning Mode (Robert)" : "Full Install";
145
+ log(`\n${BOLD}@hopla/claude-setup${RESET} — Agentic Coding System ${CYAN}[${modeLabel}]${RESET}\n`);
134
146
 
135
147
  // Create directories if needed
136
148
  fs.mkdirSync(CLAUDE_DIR, { recursive: true });
@@ -147,7 +159,10 @@ async function install() {
147
159
  );
148
160
 
149
161
  log(`\n${CYAN}Installing commands...${RESET}`);
150
- const commandFiles = fs.readdirSync(path.join(FILES_DIR, "commands"));
162
+ const allCommandFiles = fs.readdirSync(path.join(FILES_DIR, "commands"));
163
+ const commandFiles = PLANNING
164
+ ? allCommandFiles.filter((f) => PLANNING_COMMANDS.includes(f))
165
+ : allCommandFiles;
151
166
  for (const file of commandFiles.sort()) {
152
167
  await installFile(
153
168
  path.join(FILES_DIR, "commands", file),
@@ -161,7 +176,11 @@ async function install() {
161
176
  const name = file.replace(".md", "");
162
177
  log(` ${CYAN}/${name}${RESET}`);
163
178
  }
164
- log(`\nRun with ${BOLD}--force${RESET} to overwrite all files without prompting.\n`);
179
+ if (PLANNING) {
180
+ log(`\n${YELLOW}Planning mode:${RESET} Only planning commands installed. Run without ${BOLD}--planning${RESET} for the full set.\n`);
181
+ } else {
182
+ log(`\nRun with ${BOLD}--force${RESET} to overwrite all files without prompting.\n`);
183
+ }
165
184
 
166
185
  await setupPermissions();
167
186
  }
@@ -74,10 +74,8 @@ Ask one topic at a time and wait for the answer before continuing. Adapt follow-
74
74
 
75
75
  First, explore the codebase to understand what's already built:
76
76
 
77
- ```bash
78
- git ls-files | head -60
79
- git log --oneline -10
80
- ```
77
+ Use the Glob tool to list project files (pattern: `**/*`, head_limit: 60).
78
+ Run `git log --oneline -10` to understand recent history.
81
79
 
82
80
  Read key files: entry points, main modules, config files, existing tests.
83
81
 
@@ -42,9 +42,7 @@ Investigate the areas of the codebase relevant to this feature:
42
42
  - Find the entry points that will need to be modified or extended
43
43
  - Identify potential conflicts or dependencies
44
44
 
45
- ```bash
46
- git ls-files | grep -i <relevant-keyword>
47
- ```
45
+ Use the Grep tool to find relevant files (pattern: relevant keyword, case-insensitive).
48
46
 
49
47
  Read the key files in their entirety — not just the parts that seem relevant.
50
48
 
@@ -146,4 +144,4 @@ Before saving the draft, review the plan against these criteria:
146
144
 
147
145
  **Finalize:**
148
146
  1. Rename `.agents/plans/[feature-name].draft.md` → `.agents/plans/[feature-name].md`
149
- 2. Confirm: "✅ Plan saved to `.agents/plans/[feature-name].md`. Run `/hopla-execute .agents/plans/[feature-name].md` to implement it, or `/hopla-git-commit` to save the plan first."
147
+ 2. Confirm: "✅ Plan saved to `.agents/plans/[feature-name].md`. Run `/hopla-git-commit` to commit it, then share with the team to execute with `/hopla-execute .agents/plans/[feature-name].md`."
@@ -6,13 +6,13 @@ Get oriented in this project before doing any work.
6
6
 
7
7
  ## Step 1: Project Structure
8
8
 
9
- ```bash
10
- git ls-files | head -60
11
- ```
9
+ Use the Glob tool to list project files (up to 60):
10
+ - Pattern: `**/*` with head_limit: 60
12
11
 
13
- ```bash
14
- find . -name "CLAUDE.md" -o -name "AGENTS.md" -o -name "README.md" | head -10
15
- ```
12
+ Use the Glob tool to find key config files:
13
+ - `**/CLAUDE.md`
14
+ - `**/AGENTS.md`
15
+ - `**/README.md`
16
16
 
17
17
  ## Step 2: Read Key Files
18
18
 
@@ -31,9 +31,8 @@ git status
31
31
 
32
32
  ## Step 4: Check Pending Work
33
33
 
34
- ```bash
35
- ls .agents/plans/ 2>/dev/null
36
- ```
34
+ Use the Glob tool to check for pending plans:
35
+ - Pattern: `.agents/plans/*.md`
37
36
 
38
37
  If `.agents/plans/` exists, identify:
39
38
  - `.draft.md` files — unfinished drafts waiting for review
@@ -0,0 +1,51 @@
1
+ ---
2
+ description: Review a plan before execution — get a concise summary and approve or request changes
3
+ argument-hint: "<plan-file-path>"
4
+ ---
5
+
6
+ Review the implementation plan and give the executing developer a clear, concise summary before they commit to running it.
7
+
8
+ ## Step 1: Read the Plan
9
+
10
+ Read `$1` entirely before doing anything else.
11
+
12
+ ## Step 2: Present Executive Summary
13
+
14
+ Do NOT reproduce the full plan. Instead, present a structured summary in the user's language:
15
+
16
+ **Plan: [Feature Name]**
17
+
18
+ **What is being built:**
19
+ [2-3 sentences max — what the feature does and why]
20
+
21
+ **Tasks ([N] total):**
22
+ | # | Action | File | Risk |
23
+ |---|--------|------|------|
24
+ | 1 | create/modify/delete | `path/to/file` | ⚠️ gotcha if any / — |
25
+ | 2 | ... | ... | ... |
26
+
27
+ **Files touched:** [count] files — [list key ones]
28
+
29
+ **Validation plan:**
30
+ - [ ] [exact lint command]
31
+ - [ ] [exact type check command]
32
+ - [ ] [exact test command]
33
+ - [ ] [integration check]
34
+
35
+ **Acceptance criteria:**
36
+ - [ ] [criterion 1]
37
+ - [ ] [criterion 2]
38
+
39
+ **⚠️ Watch out for:**
40
+ [List any gotchas, risks, or dependencies flagged in the plan. If none, say "Nothing flagged."]
41
+
42
+ ## Step 3: Ask for Approval
43
+
44
+ After the summary, ask:
45
+ > "¿Todo claro? Puedes aprobar para ejecutar, pedir cambios, o hacer preguntas sobre alguna tarea."
46
+ > (or in English if the conversation is in English)
47
+
48
+ **Review loop:**
49
+ - If the user has questions → answer them based on the plan content
50
+ - If the user requests changes → note them and tell the user to ask Robert to update the plan, or apply minor clarifications directly if they are unambiguous
51
+ - If the user approves → confirm: "✅ Plan approved. Run `/hopla-execute $1` to start."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hopla/claude-setup",
3
- "version": "1.2.8",
3
+ "version": "1.3.0",
4
4
  "description": "Hopla team agentic coding system for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {