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 +1 -1
- package/templates/.cursorrules +88 -0
- package/templates/cursor/pulse.mdc +39 -24
package/package.json
CHANGED
package/templates/.cursorrules
CHANGED
|
@@ -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`
|
|
61
|
-
| Code changed | → `pulse_doctor` |
|
|
62
|
-
| >10 min since checkpoint | →
|
|
63
|
-
| >
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
|
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
|
-
##
|
|
110
|
+
## After Success (IMPORTANT!)
|
|
107
111
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
|
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)
|