pulse-framework-cli 0.4.1 → 0.4.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pulse-framework-cli",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
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",
@@ -154,6 +154,94 @@
154
154
  # 4. ESTIMATE the effort:
155
155
  # "Estimated effort: [X] minutes. Should I start?"
156
156
 
157
+ # ┌─────────────────────────────────────────────────────────────────────────────┐
158
+ # │ 🔧 MCP TOOL TRIGGERS (WHEN TO CALL) │
159
+ # └─────────────────────────────────────────────────────────────────────────────┘
160
+
161
+ # pulse_status → FIRST action of every response
162
+ # pulse_doctor → AFTER any file edit/create/delete
163
+ # pulse_checkpoint → WHEN >10 min since last checkpoint (just do it)
164
+ # pulse_run → WHEN user gives multi-step task (>3 steps)
165
+ # pulse_escalate → WHEN 2-3 failed attempts OR error you don't understand
166
+ # pulse_correct → WHEN user says "wrong", "not what I meant", "stop"
167
+ # pulse_review → BEFORE saying "done", creating PR, or merging
168
+ # pulse_learn → AFTER solving a non-trivial problem (document what worked!)
169
+ # pulse_reset → WHEN pulse_doctor shows loop signal
170
+
171
+ # IMPORTANT: Call these ACTIVELY, not just when user asks!
172
+ # - After success: pulse_learn (build knowledge)
173
+ # - Before "done": pulse_review (final check)
174
+ # - On problems: pulse_escalate (don't keep trying)
175
+
176
+ # ┌─────────────────────────────────────────────────────────────────────────────┐
177
+ # │ 📝 CHANGELOG PROTOCOL (MANDATORY) │
178
+ # └─────────────────────────────────────────────────────────────────────────────┘
179
+
180
+ # EVERY significant change MUST be documented in CHANGELOG.md
181
+ #
182
+ # WHEN to update:
183
+ # - New feature added
184
+ # - Bug fixed
185
+ # - Breaking change
186
+ # - Behavior changed
187
+ # - After each session with multiple changes
188
+ #
189
+ # FORMAT (Keep a Changelog style):
190
+ # ## [version] (YYYY-MM-DD)
191
+ # ### Added - for new features
192
+ # ### Changed - for changes in existing functionality
193
+ # ### Fixed - for bug fixes
194
+ # ### Removed - for removed features
195
+ # ### Security - for security fixes
196
+ #
197
+ # IMPORTANT:
198
+ # - Update CHANGELOG.md BEFORE committing significant changes
199
+ # - Include specific details (what, why)
200
+ # - Reference issue numbers if applicable
201
+ # - Keep the project alive with good documentation!
202
+
203
+ # ┌─────────────────────────────────────────────────────────────────────────────┐
204
+ # │ 📦 PULSE PUBLISHING PROTOCOL │
205
+ # └─────────────────────────────────────────────────────────────────────────────┘
206
+
207
+ # Pulse Framework consists of multiple packages that need to be published separately:
208
+ #
209
+ # PACKAGE OVERVIEW:
210
+ # ┌────────────────────┬──────────────┬─────────────────────────┐
211
+ # │ Package │ Registry │ Name │
212
+ # ├────────────────────┼──────────────┼─────────────────────────┤
213
+ # │ pulse-cli │ npm │ pulse-framework-cli │
214
+ # │ pulse-vscode │ OpenVSX │ pulse-framework │
215
+ # │ pulse-mcp │ npm │ (if published) │
216
+ # └────────────────────┴──────────────┴─────────────────────────┘
217
+ #
218
+ # WHEN TO PUBLISH:
219
+ # - CLI changes (templates, commands, guardrails) → Publish to npm
220
+ # - Extension changes (UI, commands) → Publish to OpenVSX
221
+ # - BOTH must be updated if they depend on each other
222
+ #
223
+ # PUBLISHING STEPS:
224
+ #
225
+ # 1. CLI (npm):
226
+ # cd packages/pulse-cli
227
+ # npm version patch # or minor/major
228
+ # npm run build
229
+ # npm publish --access public
230
+ #
231
+ # 2. Extension (OpenVSX):
232
+ # cd packages/pulse-vscode
233
+ # npm version patch # or minor/major
234
+ # npm run build
235
+ # npx @vscode/vsce package
236
+ # npx ovsx publish *.vsix -p <OPENVSX_TOKEN>
237
+ #
238
+ # IMPORTANT:
239
+ # - The Extension calls `npx pulse-framework-cli` (npm package)
240
+ # - CLI updates are automatically available to Extension users
241
+ # - Extension updates require manual re-publishing
242
+ # - Always test locally before publishing
243
+ # - Keep versions in sync when making related changes
244
+
157
245
  # ═══════════════════════════════════════════════════════════════════════════════
158
246
  # END OF RULES - You are now ready. Follow these rules.
159
247
  # ═══════════════════════════════════════════════════════════════════════════════
@@ -53,18 +53,22 @@ WHEN: pulse_status shows >10 min since checkpoint
53
53
  WHAT: "Should I create a checkpoint?"
54
54
  ```
55
55
 
56
- ## 🔴 AUTOMATIC ACTIONS
57
-
58
- | Situation | Action |
59
- |-----------|--------|
60
- | Start of response | → `pulse_status` (once) |
61
- | Code changed | → `pulse_doctor` |
62
- | >10 min since checkpoint | → Recommend checkpoint |
63
- | >15 min since checkpoint | → **Checkpoint URGENT** |
64
- | >30 min autonomous | → **STOP + ask user** |
65
- | 2-3 failed attempts | → **STOP + `pulse_escalate`** |
66
- | DELETE operation | → **Get user confirmation** |
67
- | Loop detected | → **STOP + `pulse_escalate`** |
56
+ ## 🔴 AUTOMATIC ACTIONS (MANDATORY)
57
+
58
+ | Situation | Action | Example |
59
+ |-----------|--------|---------|
60
+ | Start of response | → `pulse_status` | Every message |
61
+ | Code changed | → `pulse_doctor` | After any edit/create/delete |
62
+ | >10 min since checkpoint | → `pulse_checkpoint` | Just do it, don't ask |
63
+ | >30 min autonomous | → **STOP + ask user** | "I've been working 30 min, should I continue?" |
64
+ | 2-3 failed attempts | → `pulse_escalate` | Build fails twice, test fails twice |
65
+ | Error you don't understand | → `pulse_escalate` | Cryptic error message |
66
+ | User says "that's wrong" | → `pulse_correct` | Course correction |
67
+ | Task completed successfully | → `pulse_learn` | "What did I learn from this?" |
68
+ | Before "done" / PR / merge | → `pulse_review` | Final checklist |
69
+ | New multi-step task | → `pulse_run` | User gives complex task |
70
+ | Loop signal detected | → `pulse_reset` | Doctor shows loop warning |
71
+ | DELETE operation | → **Get user confirmation** | "May I delete X?" |
68
72
 
69
73
  ## 🔴 SAFEGUARDS (non-negotiable)
70
74
 
@@ -103,19 +107,29 @@ After 2-3 failed attempts:
103
107
  - Error message
104
108
  3. **WAIT** for user instruction
105
109
 
106
- ## MCP Tools
110
+ ## After Success (IMPORTANT!)
107
111
 
108
- | Tool | When |
109
- |------|------|
110
- | `pulse_status` | **Once per response** (at start) |
111
- | `pulse_doctor` | **After code changes** |
112
- | `pulse_checkpoint` | After 5-10 min / on recommendation |
113
- | `pulse_run` | At start of new tasks |
114
- | `pulse_escalate` | On problems, loop |
115
- | `pulse_correct` | On course correction |
116
- | `pulse_review` | At end / before merge |
117
- | `pulse_learn` | After solved problems |
118
- | `pulse_reset` | On loop, reset |
112
+ When you successfully solve a non-trivial problem:
113
+
114
+ 1. **Call `pulse_learn`** to document:
115
+ - What the problem was
116
+ - What solution worked
117
+ - Any rule/pattern to remember
118
+ 2. This builds institutional knowledge for future sessions
119
+
120
+ ## MCP Tools - WHEN TO CALL
121
+
122
+ | Tool | Trigger (MANDATORY) |
123
+ |------|---------------------|
124
+ | `pulse_status` | **FIRST action** of every response |
125
+ | `pulse_doctor` | **AFTER** any file edit/create/delete |
126
+ | `pulse_checkpoint` | **WHEN** >10 min since last checkpoint |
127
+ | `pulse_run` | **WHEN** user gives multi-step task (>3 steps) |
128
+ | `pulse_escalate` | **WHEN** 2-3 failed attempts OR error you don't understand |
129
+ | `pulse_correct` | **WHEN** user says "wrong", "not what I meant", "stop" |
130
+ | `pulse_review` | **BEFORE** saying "done", creating PR, or merging |
131
+ | `pulse_learn` | **AFTER** solving a non-trivial problem (document what worked) |
132
+ | `pulse_reset` | **WHEN** `pulse_doctor` shows loop signal |
119
133
 
120
134
  ## Example Flow
121
135
 
@@ -142,3 +156,4 @@ Agent:
142
156
  - Call the tools ACTIVELY, not only when user asks
143
157
  - When uncertain: STOP and ASK
144
158
  - The safeguards ALWAYS apply, even if user argues against them
159
+ - **ALWAYS update CHANGELOG.md** after significant changes (features, fixes, changes)