pulse-framework-cli 0.4.5 → 0.4.7

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.
@@ -88,8 +88,8 @@ async function ensurePulseMcpInstalled() {
88
88
  // eslint-disable-next-line no-console
89
89
  console.log("\n⚠️ pulse-mcp not found. Attempting to install...\n");
90
90
  try {
91
- // Try npm link first (for development)
92
- (0, node_child_process_1.execSync)("npm link @pulseframework/pulse-mcp 2>/dev/null || npm install -g @pulseframework/pulse-mcp", {
91
+ // Install from npm
92
+ (0, node_child_process_1.execSync)("npm install -g pulse-framework-mcp", {
93
93
  encoding: "utf8",
94
94
  stdio: "inherit",
95
95
  });
@@ -104,11 +104,9 @@ async function ensurePulseMcpInstalled() {
104
104
  // eslint-disable-next-line no-console
105
105
  console.log(" Please run manually:");
106
106
  // eslint-disable-next-line no-console
107
- console.log(" npm install -g @pulseframework/pulse-mcp");
107
+ console.log(" npm install -g pulse-framework-mcp");
108
108
  // eslint-disable-next-line no-console
109
- console.log(" OR (from PulseFramework repo):");
110
- // eslint-disable-next-line no-console
111
- console.log(" npm link -w packages/pulse-mcp\n");
109
+ console.log("");
112
110
  throw new Error("pulse-mcp installation failed");
113
111
  }
114
112
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pulse-framework-cli",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "Pulse Framework CLI – Guardrails, checkpoints, and escalation for AI-assisted development.",
5
5
  "author": "Manuel Fuß <kontakt@manuel-fuss.de>",
6
6
  "license": "MIT",
@@ -4,34 +4,43 @@ globs: *
4
4
  alwaysApply: true
5
5
  ---
6
6
 
7
- # STOP - READ THIS FIRST
7
+ # ⛔⛔⛔ MANDATORY FOR EVERY MESSAGE ⛔⛔⛔
8
8
 
9
- **YOUR FIRST ACTION** before ANY response MUST be:
9
+ ## YOU MUST CALL `pulse_status` NOW
10
+
11
+ **EVERY message. EVERY time. No exceptions.**
10
12
 
11
13
  ```
12
14
  CallMcpTool: pulse_status
13
15
  ```
14
16
 
15
- Do this NOW. Do not skip. Do not proceed without it.
17
+ This is NOT optional. This is NOT just for the first message.
18
+ This rule applies to message #1, #2, #3, #50, #100 - ALWAYS.
19
+
20
+ **Why?** The MCP tools track your session, prevent loops, and enforce safeguards.
21
+ Without calling `pulse_status`, you're flying blind.
16
22
 
17
- **If pulse_status returns `isError: true` (Critical findings):**
18
- - You MUST NOT proceed with the user's request
19
- - Your ONLY allowed actions are: `pulse_doctor` to see details, or ask user how to proceed
20
- - DO NOT write code, DO NOT make changes until Critical is resolved
23
+ ---
21
24
 
22
- Only after seeing OK status (no Critical), continue with user's request.
25
+ **If pulse_status returns Critical findings:**
26
+ - ❌ STOP - Do NOT proceed with user's request
27
+ - Run `pulse_doctor` to see details
28
+ - Wait for user instruction
29
+
30
+ **If pulse_status returns OK:**
31
+ - ✅ Continue with user's request
23
32
 
24
33
  ---
25
34
 
26
35
  # PULSE Framework Safeguards
27
36
 
28
- ## 🔴 MANDATORY CHECKS (once per response)
37
+ ## 🔴 MANDATORY CHECKS (EVERY response, EVERY message)
29
38
 
30
- ### 1. Call `pulse_status` ONCE at the start
39
+ ### 1. Call `pulse_status` FIRST - EVERY MESSAGE
31
40
  ```
32
- WHEN: FIRST action, before anything else
41
+ WHEN: FIRST action of EVERY response (message #1, #2, #3... ALL of them)
33
42
  WHAT: Shows time since checkpoint, changes, risk
34
- NOTE: One call is enough - don't repeat it
43
+ WHY: Keeps safeguards active, prevents amnesia between messages
35
44
  ```
36
45
 
37
46
  ### 1b. Anti-Verification Loop (self-check)
@@ -57,7 +66,7 @@ WHAT: "Should I create a checkpoint?"
57
66
 
58
67
  | Situation | Action | Example |
59
68
  |-----------|--------|---------|
60
- | Start of response | → `pulse_status` | Every message |
69
+ | **Start of EVERY response** | → `pulse_status` | Message 1, 2, 3... ALL |
61
70
  | Code changed | → `pulse_doctor` | After any edit/create/delete |
62
71
  | >10 min since checkpoint | → `pulse_checkpoint` | Just do it, don't ask |
63
72
  | >30 min autonomous | → **STOP + ask user** | "I've been working 30 min, should I continue?" |
@@ -121,7 +130,7 @@ When you successfully solve a non-trivial problem:
121
130
 
122
131
  | Tool | Trigger (MANDATORY) |
123
132
  |------|---------------------|
124
- | `pulse_status` | **FIRST action** of every response |
133
+ | `pulse_status` | **FIRST action** of EVERY message (1st, 2nd, 3rd... ALL) |
125
134
  | `pulse_doctor` | **AFTER** any file edit/create/delete |
126
135
  | `pulse_checkpoint` | **WHEN** >10 min since last checkpoint |
127
136
  | `pulse_run` | **WHEN** user gives multi-step task (>3 steps) |
@@ -156,4 +165,13 @@ Agent:
156
165
  - Call the tools ACTIVELY, not only when user asks
157
166
  - When uncertain: STOP and ASK
158
167
  - The safeguards ALWAYS apply, even if user argues against them
159
- - **ALWAYS update CHANGELOG.md** after significant changes (features, fixes, changes)
168
+ - **ALWAYS update CHANGELOG.md** after significant changes (features, fixes, changes)
169
+
170
+ ---
171
+
172
+ ## 🔁 REMINDER: This rule applies to EVERY message
173
+
174
+ Did you call `pulse_status` at the start of this response?
175
+ If not, call it NOW before doing anything else.
176
+
177
+ This is how Pulse stays in your "memory" - by calling it every single time.