context-mode 1.0.111 → 1.0.113
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.openclaw-plugin/index.ts +3 -2
- package/.openclaw-plugin/openclaw.plugin.json +1 -1
- package/.openclaw-plugin/package.json +1 -1
- package/README.md +152 -34
- package/bin/statusline.mjs +144 -127
- package/build/adapters/base.d.ts +8 -5
- package/build/adapters/base.js +8 -18
- package/build/adapters/claude-code/index.d.ts +24 -3
- package/build/adapters/claude-code/index.js +44 -11
- package/build/adapters/codex/hooks.d.ts +10 -5
- package/build/adapters/codex/hooks.js +10 -5
- package/build/adapters/codex/index.d.ts +17 -5
- package/build/adapters/codex/index.js +337 -37
- package/build/adapters/codex/paths.d.ts +1 -0
- package/build/adapters/codex/paths.js +12 -0
- package/build/adapters/cursor/index.d.ts +6 -0
- package/build/adapters/cursor/index.js +83 -2
- package/build/adapters/detect.d.ts +1 -1
- package/build/adapters/detect.js +29 -6
- package/build/adapters/omp/index.d.ts +65 -0
- package/build/adapters/omp/index.js +182 -0
- package/build/adapters/omp/plugin.d.ts +75 -0
- package/build/adapters/omp/plugin.js +220 -0
- package/build/adapters/openclaw/mcp-tools.d.ts +54 -0
- package/build/adapters/openclaw/mcp-tools.js +198 -0
- package/build/adapters/openclaw/plugin.d.ts +130 -0
- package/build/adapters/openclaw/plugin.js +629 -0
- package/build/adapters/openclaw/workspace-router.d.ts +29 -0
- package/build/adapters/openclaw/workspace-router.js +64 -0
- package/build/adapters/opencode/plugin.d.ts +145 -0
- package/build/adapters/opencode/plugin.js +457 -0
- package/build/adapters/pi/extension.d.ts +26 -0
- package/build/adapters/pi/extension.js +552 -0
- package/build/adapters/pi/index.d.ts +57 -0
- package/build/adapters/pi/index.js +173 -0
- package/build/adapters/pi/mcp-bridge.d.ts +113 -0
- package/build/adapters/pi/mcp-bridge.js +251 -0
- package/build/adapters/types.d.ts +11 -6
- package/build/cli.js +186 -170
- package/build/db-base.d.ts +15 -2
- package/build/db-base.js +50 -5
- package/build/executor.d.ts +2 -0
- package/build/executor.js +15 -2
- package/build/runPool.d.ts +36 -0
- package/build/runPool.js +51 -0
- package/build/runtime.js +64 -5
- package/build/search/auto-memory.js +6 -4
- package/build/security.js +30 -10
- package/build/server.d.ts +23 -1
- package/build/server.js +662 -182
- package/build/session/analytics.d.ts +404 -1
- package/build/session/analytics.js +1347 -42
- package/build/session/db.d.ts +114 -5
- package/build/session/db.js +275 -27
- package/build/session/event-emit.d.ts +48 -0
- package/build/session/event-emit.js +101 -0
- package/build/session/extract.d.ts +1 -0
- package/build/session/extract.js +79 -12
- package/build/session/purge.d.ts +111 -0
- package/build/session/purge.js +138 -0
- package/build/store.d.ts +7 -0
- package/build/store.js +69 -6
- package/build/util/claude-config.d.ts +26 -0
- package/build/util/claude-config.js +91 -0
- package/build/util/hook-config.d.ts +4 -0
- package/build/util/hook-config.js +39 -0
- package/build/util/project-dir.d.ts +49 -0
- package/build/util/project-dir.js +67 -0
- package/cli.bundle.mjs +411 -208
- package/configs/antigravity/GEMINI.md +0 -3
- package/configs/claude-code/CLAUDE.md +1 -4
- package/configs/codex/AGENTS.md +1 -4
- package/configs/codex/config.toml +3 -0
- package/configs/codex/hooks.json +8 -0
- package/configs/cursor/context-mode.mdc +0 -3
- package/configs/gemini-cli/GEMINI.md +0 -3
- package/configs/jetbrains-copilot/copilot-instructions.md +0 -3
- package/configs/kilo/AGENTS.md +0 -3
- package/configs/kiro/KIRO.md +0 -3
- package/configs/omp/SYSTEM.md +85 -0
- package/configs/omp/mcp.json +7 -0
- package/configs/openclaw/AGENTS.md +0 -3
- package/configs/opencode/AGENTS.md +0 -3
- package/configs/pi/AGENTS.md +0 -3
- package/configs/qwen-code/QWEN.md +1 -4
- package/configs/vscode-copilot/copilot-instructions.md +0 -3
- package/configs/zed/AGENTS.md +0 -3
- package/hooks/codex/posttooluse.mjs +9 -2
- package/hooks/codex/precompact.mjs +69 -0
- package/hooks/codex/sessionstart.mjs +13 -9
- package/hooks/codex/stop.mjs +1 -2
- package/hooks/codex/userpromptsubmit.mjs +1 -2
- package/hooks/core/routing.mjs +237 -18
- package/hooks/cursor/afteragentresponse.mjs +1 -1
- package/hooks/cursor/hooks.json +31 -0
- package/hooks/cursor/posttooluse.mjs +1 -1
- package/hooks/cursor/sessionstart.mjs +5 -5
- package/hooks/cursor/stop.mjs +1 -1
- package/hooks/ensure-deps.mjs +12 -13
- package/hooks/gemini-cli/aftertool.mjs +1 -1
- package/hooks/gemini-cli/beforeagent.mjs +1 -1
- package/hooks/gemini-cli/precompress.mjs +3 -2
- package/hooks/gemini-cli/sessionstart.mjs +9 -9
- package/hooks/jetbrains-copilot/posttooluse.mjs +1 -1
- package/hooks/jetbrains-copilot/precompact.mjs +3 -2
- package/hooks/jetbrains-copilot/sessionstart.mjs +9 -9
- package/hooks/kiro/agentspawn.mjs +5 -5
- package/hooks/kiro/posttooluse.mjs +2 -2
- package/hooks/kiro/userpromptsubmit.mjs +1 -1
- package/hooks/posttooluse.mjs +45 -0
- package/hooks/precompact.mjs +17 -0
- package/hooks/pretooluse.mjs +23 -0
- package/hooks/routing-block.mjs +0 -12
- package/hooks/run-hook.mjs +16 -3
- package/hooks/session-db.bundle.mjs +27 -18
- package/hooks/session-extract.bundle.mjs +2 -2
- package/hooks/session-helpers.mjs +101 -64
- package/hooks/sessionstart.mjs +51 -2
- package/hooks/vscode-copilot/posttooluse.mjs +1 -1
- package/hooks/vscode-copilot/precompact.mjs +3 -2
- package/hooks/vscode-copilot/sessionstart.mjs +9 -9
- package/openclaw.plugin.json +1 -1
- package/package.json +14 -8
- package/server.bundle.mjs +349 -147
- package/start.mjs +16 -4
- package/skills/UPSTREAM-CREDITS.md +0 -51
- package/skills/context-mode-ops/SKILL.md +0 -299
- package/skills/context-mode-ops/agent-teams.md +0 -198
- package/skills/context-mode-ops/communication.md +0 -224
- package/skills/context-mode-ops/marketing.md +0 -124
- package/skills/context-mode-ops/release.md +0 -214
- package/skills/context-mode-ops/review-pr.md +0 -269
- package/skills/context-mode-ops/tdd.md +0 -329
- package/skills/context-mode-ops/triage-issue.md +0 -266
- package/skills/context-mode-ops/validation.md +0 -307
- package/skills/diagnose/SKILL.md +0 -122
- package/skills/diagnose/scripts/hitl-loop.template.sh +0 -41
- package/skills/grill-me/SKILL.md +0 -15
- package/skills/grill-with-docs/ADR-FORMAT.md +0 -47
- package/skills/grill-with-docs/CONTEXT-FORMAT.md +0 -77
- package/skills/grill-with-docs/SKILL.md +0 -93
- package/skills/improve-codebase-architecture/DEEPENING.md +0 -37
- package/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +0 -44
- package/skills/improve-codebase-architecture/LANGUAGE.md +0 -53
- package/skills/improve-codebase-architecture/SKILL.md +0 -76
- package/skills/tdd/SKILL.md +0 -114
- package/skills/tdd/deep-modules.md +0 -33
- package/skills/tdd/interface-design.md +0 -31
- package/skills/tdd/mocking.md +0 -59
- package/skills/tdd/refactoring.md +0 -10
- package/skills/tdd/tests.md +0 -61
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
# Communication Templates
|
|
2
|
-
|
|
3
|
-
Tone: warm, professional, technical, grateful. Always put testing responsibility on the contributor.
|
|
4
|
-
|
|
5
|
-
## Issue Comments
|
|
6
|
-
|
|
7
|
-
### After Fix (Standard)
|
|
8
|
-
|
|
9
|
-
```markdown
|
|
10
|
-
Hey @{author}! 👋
|
|
11
|
-
|
|
12
|
-
We investigated this and pushed a fix in #{PR_NUMBER}.
|
|
13
|
-
|
|
14
|
-
**Root cause:** {1-2 sentence technical explanation}
|
|
15
|
-
|
|
16
|
-
**Fix:** {1-2 sentence description of what changed}
|
|
17
|
-
|
|
18
|
-
**Affected area:** `{adapter/module path}`
|
|
19
|
-
|
|
20
|
-
This lands on the `next` branch and will ship in the next release. Once it's out, could you please test it in your setup and confirm it resolves the issue? 🙏
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
npm update -g context-mode
|
|
24
|
-
# or for plugin users:
|
|
25
|
-
/context-mode:ctx-upgrade
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Thanks for reporting this — it helped improve context-mode for everyone!
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### Needs More Information
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
Hey @{author}, thanks for opening this!
|
|
35
|
-
|
|
36
|
-
To investigate further, could you share:
|
|
37
|
-
- Your platform (Claude Code / Gemini CLI / OpenCode / etc.)
|
|
38
|
-
- context-mode version (`ctx doctor` or `npm list -g context-mode`)
|
|
39
|
-
- The exact command or action that triggers this
|
|
40
|
-
- Any error messages or unexpected output
|
|
41
|
-
|
|
42
|
-
This will help us reproduce and fix the issue faster. 🙏
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Working As Intended
|
|
46
|
-
|
|
47
|
-
```markdown
|
|
48
|
-
Hey @{author}, thanks for raising this!
|
|
49
|
-
|
|
50
|
-
This is actually working as intended — here's why:
|
|
51
|
-
|
|
52
|
-
{Technical explanation of the design decision}
|
|
53
|
-
|
|
54
|
-
{If there's a workaround:}
|
|
55
|
-
That said, you can achieve what you're looking for by:
|
|
56
|
-
{workaround steps}
|
|
57
|
-
|
|
58
|
-
{If it's a reasonable feature request:}
|
|
59
|
-
I can see why this would be useful though. I'll re-label this as a feature request so we can discuss it with the community.
|
|
60
|
-
|
|
61
|
-
Let me know if you have any questions!
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Duplicate Issue
|
|
65
|
-
|
|
66
|
-
```markdown
|
|
67
|
-
Hey @{author}, thanks for reporting!
|
|
68
|
-
|
|
69
|
-
This is a duplicate of #{ORIGINAL_NUMBER} which tracks the same issue. I'm closing this one to keep discussion in one place — please follow #{ORIGINAL_NUMBER} for updates.
|
|
70
|
-
|
|
71
|
-
If your case is different from what's described there, please reopen and let us know what's different!
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### LLM Hallucination (Feature/ENV Doesn't Exist)
|
|
75
|
-
|
|
76
|
-
```markdown
|
|
77
|
-
Hey @{author}, thanks for the detailed report!
|
|
78
|
-
|
|
79
|
-
After investigation, it looks like `{CLAIMED_FEATURE/ENV}` doesn't actually exist in {PLATFORM}. This is a common issue where AI assistants sometimes reference features or environment variables that don't exist in the actual platform.
|
|
80
|
-
|
|
81
|
-
Here's what we found:
|
|
82
|
-
- {What we checked}
|
|
83
|
-
- {Official docs reference showing it's not a real feature}
|
|
84
|
-
|
|
85
|
-
**What actually works:**
|
|
86
|
-
{The correct approach or existing alternative}
|
|
87
|
-
|
|
88
|
-
No worries at all — this kind of thing is surprisingly common! Let us know if you need help with the correct approach.
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## PR Comments
|
|
92
|
-
|
|
93
|
-
### After Merge (Clean)
|
|
94
|
-
|
|
95
|
-
```markdown
|
|
96
|
-
Thanks for this contribution, @{author}! 🎉
|
|
97
|
-
|
|
98
|
-
Merged into `next` — this will ship in the next release.
|
|
99
|
-
|
|
100
|
-
Could you please test it in your setup once the release is out? You know this area best, so your verification would be really valuable. 🙏
|
|
101
|
-
|
|
102
|
-
Thanks for making context-mode better!
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### After Merge (With Follow-Up Fixes)
|
|
106
|
-
|
|
107
|
-
```markdown
|
|
108
|
-
Thanks @{author}! Merged into `next`.
|
|
109
|
-
|
|
110
|
-
I made a few small adjustments on top in {commit_sha}:
|
|
111
|
-
- **{change 1}:** {reason — e.g., "aligned with existing pattern in other adapters"}
|
|
112
|
-
- **{change 2}:** {reason — e.g., "added missing test for edge case"}
|
|
113
|
-
|
|
114
|
-
Could you review those changes and test the complete flow in your environment? Since you're closest to this use case, your verification is important. 🙏
|
|
115
|
-
|
|
116
|
-
This will ship in the next release!
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### After Merge (Significant Fixes Needed)
|
|
120
|
-
|
|
121
|
-
```markdown
|
|
122
|
-
Hey @{author}, thanks for putting this together! I've merged it into `next`.
|
|
123
|
-
|
|
124
|
-
I did need to make some adjustments though — the core idea is solid but a few things needed fixing:
|
|
125
|
-
|
|
126
|
-
**Changes I made:**
|
|
127
|
-
- {change 1}: {detailed reason}
|
|
128
|
-
- {change 2}: {detailed reason}
|
|
129
|
-
- {change 3}: {detailed reason}
|
|
130
|
-
|
|
131
|
-
These are in {commit_sha_1} and {commit_sha_2}.
|
|
132
|
-
|
|
133
|
-
**Important:** Could you please thoroughly test this in your environment? The responsibility for verifying this works end-to-end is yours since you're closest to the use case and these changes touch {what they touch}. 🙏
|
|
134
|
-
|
|
135
|
-
Let me know if anything doesn't work as expected!
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Closing Without Merge (Rare)
|
|
139
|
-
|
|
140
|
-
```markdown
|
|
141
|
-
Hey @{author}, thanks for taking the time to put this together — I appreciate the effort!
|
|
142
|
-
|
|
143
|
-
Unfortunately we can't merge this as-is:
|
|
144
|
-
- **{reason 1}:** {technical explanation}
|
|
145
|
-
- **{reason 2}:** {technical explanation}
|
|
146
|
-
|
|
147
|
-
{IF the work is salvageable:}
|
|
148
|
-
If you'd like to take another pass, here's what would make this mergeable:
|
|
149
|
-
1. {specific guidance}
|
|
150
|
-
2. {specific guidance}
|
|
151
|
-
|
|
152
|
-
Happy to help if you have questions!
|
|
153
|
-
|
|
154
|
-
{IF the direction is wrong:}
|
|
155
|
-
The direction we're going with {area} is {explanation}. This is to ensure {rationale}.
|
|
156
|
-
|
|
157
|
-
Thanks again for the contribution — hope to see more PRs from you! 🙌
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### PR Has Hallucinated Features
|
|
161
|
-
|
|
162
|
-
```markdown
|
|
163
|
-
Hey @{author}, thanks for this PR!
|
|
164
|
-
|
|
165
|
-
While reviewing, I noticed that `{CLAIMED_FEATURE}` doesn't appear to exist in {PLATFORM}'s actual implementation:
|
|
166
|
-
|
|
167
|
-
- Searched {PLATFORM}'s source/docs — not found
|
|
168
|
-
- The ENV var `{VAR}` isn't documented or used by {PLATFORM}
|
|
169
|
-
|
|
170
|
-
This might be an AI assistant suggestion that doesn't match the real platform API. No worries — it's surprisingly common!
|
|
171
|
-
|
|
172
|
-
{IF core logic is still valid:}
|
|
173
|
-
The rest of the PR looks solid though. I'll merge it and remove the non-existent parts in a follow-up.
|
|
174
|
-
|
|
175
|
-
{IF the whole PR is based on the hallucination:}
|
|
176
|
-
Since the core change depends on this feature, we'd need to find an alternative approach. {Suggestion for correct approach}
|
|
177
|
-
|
|
178
|
-
Let me know how you'd like to proceed!
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
## Release Comments
|
|
182
|
-
|
|
183
|
-
### On Issues Fixed in Release
|
|
184
|
-
|
|
185
|
-
```markdown
|
|
186
|
-
🎉 Released in **v{VERSION}**!
|
|
187
|
-
|
|
188
|
-
Please update and test:
|
|
189
|
-
```
|
|
190
|
-
npm update -g context-mode
|
|
191
|
-
# or for plugin users:
|
|
192
|
-
/context-mode:ctx-upgrade
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
Let us know if this resolves your issue!
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### Release Announcement (GitHub Release Body)
|
|
199
|
-
|
|
200
|
-
The `gh release create --generate-notes` handles this automatically. Only add a manual note if there are:
|
|
201
|
-
- Breaking changes
|
|
202
|
-
- Migration steps required
|
|
203
|
-
- Notable new features
|
|
204
|
-
|
|
205
|
-
## Tone Guidelines
|
|
206
|
-
|
|
207
|
-
### DO
|
|
208
|
-
|
|
209
|
-
- Start with gratitude: "Thanks for..."
|
|
210
|
-
- Use names: "@{author}"
|
|
211
|
-
- Be specific and technical
|
|
212
|
-
- Give clear next steps
|
|
213
|
-
- Use emoji sparingly (👋 🎉 🙏 at most)
|
|
214
|
-
- Frame responsibility clearly but kindly
|
|
215
|
-
|
|
216
|
-
### DON'T
|
|
217
|
-
|
|
218
|
-
- Be passive-aggressive
|
|
219
|
-
- Use corporate speak
|
|
220
|
-
- Leave ambiguity about next steps
|
|
221
|
-
- Promise timelines
|
|
222
|
-
- Blame the contributor for mistakes
|
|
223
|
-
- Use excessive emoji
|
|
224
|
-
- Write walls of text — keep it concise
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
# Marketing workflow
|
|
2
|
-
|
|
3
|
-
## Trigger
|
|
4
|
-
|
|
5
|
-
User says: "linkedin post", "marketing", "announce release", "write post", "share update"
|
|
6
|
-
|
|
7
|
-
## Voice: Solo technical founder
|
|
8
|
-
|
|
9
|
-
You are Mert. You built context-mode alone. You write like an engineer who happens to run a product, not like a marketing team. Your audience is technical VCs, senior engineers, and open source maintainers.
|
|
10
|
-
|
|
11
|
-
<writing_rules>
|
|
12
|
-
MANDATORY. Every word you write must pass these rules.
|
|
13
|
-
|
|
14
|
-
1. NO em dashes. Not one. Use commas, periods, or rewrite the sentence.
|
|
15
|
-
2. NO promotional language: "groundbreaking", "revolutionary", "game-changing", "seamless", "cutting-edge"
|
|
16
|
-
3. NO significance inflation: "pivotal", "testament", "vital role", "evolving landscape"
|
|
17
|
-
4. NO negative parallelisms: "not just X, it's Y" or "not X but Y"
|
|
18
|
-
5. NO rule of three: stop forcing ideas into groups of three
|
|
19
|
-
6. NO vague attributions: "experts say", "industry observers"
|
|
20
|
-
7. NO filler: "in order to", "it is important to note", "at its core"
|
|
21
|
-
8. NO generic conclusions: "the future looks bright", "exciting times ahead"
|
|
22
|
-
9. NO sycophantic tone: "great question!", "I hope this helps!"
|
|
23
|
-
10. NO copula avoidance: use "is/are/has" instead of "serves as/stands as/represents"
|
|
24
|
-
11. NO excessive hedging: "could potentially possibly"
|
|
25
|
-
12. NO AI vocabulary: "delve", "tapestry", "interplay", "foster", "landscape" (abstract)
|
|
26
|
-
13. NO boldface headers in lists
|
|
27
|
-
14. NO emojis
|
|
28
|
-
|
|
29
|
-
DO:
|
|
30
|
-
- Start with a personal confession or specific frustration
|
|
31
|
-
- Use "I" freely. You are one person, not a company.
|
|
32
|
-
- Vary sentence length aggressively. Short. Then longer ones that breathe.
|
|
33
|
-
- Be specific: exact numbers, real platform names, actual pain points
|
|
34
|
-
- Acknowledge uncertainty and mixed feelings when they exist
|
|
35
|
-
- Let some mess in. Rougher transitions are more human.
|
|
36
|
-
- Close with a genuine belief, not a sales pitch
|
|
37
|
-
</writing_rules>
|
|
38
|
-
|
|
39
|
-
## Data verification: MANDATORY
|
|
40
|
-
|
|
41
|
-
<data_enforcement>
|
|
42
|
-
Every number in the post MUST come from a real source. Do NOT invent metrics.
|
|
43
|
-
Before writing, read these files and use ONLY verified numbers:
|
|
44
|
-
</data_enforcement>
|
|
45
|
-
|
|
46
|
-
| Data point | Source |
|
|
47
|
-
|-----------|--------|
|
|
48
|
-
| Total users | `stats.json` field `message` |
|
|
49
|
-
| npm installs | `stats.json` field `npm` |
|
|
50
|
-
| Marketplace installs | `stats.json` field `marketplace` |
|
|
51
|
-
| Current version | `package.json` field `version` |
|
|
52
|
-
| Platform count | `src/adapters/detect.ts` (count platforms in validPlatforms array) |
|
|
53
|
-
| Adapter count | `tests/adapters/` (count test files) |
|
|
54
|
-
| GitHub stars | `gh api repos/mksglu/context-mode --jq '.stargazers_count'` |
|
|
55
|
-
| GitHub forks | `gh api repos/mksglu/context-mode --jq '.forks_count'` |
|
|
56
|
-
| Open issues | `gh issue list --state open --json number --jq 'length'` |
|
|
57
|
-
| Recent release | `gh release list --limit 1` |
|
|
58
|
-
|
|
59
|
-
If you cannot verify a number, do not use it.
|
|
60
|
-
|
|
61
|
-
## Workflow
|
|
62
|
-
|
|
63
|
-
### 1. Gather real data (via agent)
|
|
64
|
-
|
|
65
|
-
Spawn a Data Engineer agent to collect all numbers from the sources above. Wait for verified data before writing anything.
|
|
66
|
-
|
|
67
|
-
### 2. Identify what changed
|
|
68
|
-
|
|
69
|
-
Read the latest commits, release notes, or user request to understand what is being announced.
|
|
70
|
-
|
|
71
|
-
### 3. Write draft
|
|
72
|
-
|
|
73
|
-
Follow the writing rules above. Structure:
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
Hook (personal, specific pain or confession)
|
|
77
|
-
Context (what is context-mode, real numbers)
|
|
78
|
-
Problem (specific frustration, not abstract)
|
|
79
|
-
Solution (what you built, how it works technically)
|
|
80
|
-
Technical details (casual, woven in, not a spec sheet)
|
|
81
|
-
Belief (where this is going, honest, not hype)
|
|
82
|
-
Links (repo + install command)
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 4. Anti-AI audit
|
|
86
|
-
|
|
87
|
-
After writing, ask yourself:
|
|
88
|
-
- Would a real founder post this or would they cringe?
|
|
89
|
-
- Is every number verified?
|
|
90
|
-
- Are there any em dashes? (search for the character)
|
|
91
|
-
- Any "pivotal", "testament", "landscape", "foster", "delve"?
|
|
92
|
-
- Any lists of exactly three items forced together?
|
|
93
|
-
- Does it sound like it was assembled or like someone actually wrote it?
|
|
94
|
-
|
|
95
|
-
Fix every issue found.
|
|
96
|
-
|
|
97
|
-
### 5. Output
|
|
98
|
-
|
|
99
|
-
Write the final post to a file: `linkedin-post-v{VERSION}.md`
|
|
100
|
-
|
|
101
|
-
Include three sections in the file:
|
|
102
|
-
1. Final post text (ready to paste into LinkedIn)
|
|
103
|
-
2. Data sources used (which files/commands provided which numbers)
|
|
104
|
-
3. AI pattern audit results (what was caught and fixed)
|
|
105
|
-
|
|
106
|
-
## Examples of good vs bad
|
|
107
|
-
|
|
108
|
-
Bad (AI-generated):
|
|
109
|
-
"We're thrilled to announce context-mode v1.0.57, a groundbreaking update that represents a pivotal moment in the evolution of AI-powered development tools. This release showcases our commitment to innovation, performance, and developer experience."
|
|
110
|
-
|
|
111
|
-
Good (founder voice):
|
|
112
|
-
"I have a confession. I built a tool used by 57,000+ developers and I was drowning in GitHub issues."
|
|
113
|
-
|
|
114
|
-
Bad:
|
|
115
|
-
"The technical architecture features a robust FTS5 search engine, a polyglot execution sandbox, and a dynamic agent orchestration layer, ensuring seamless integration across platforms."
|
|
116
|
-
|
|
117
|
-
Good:
|
|
118
|
-
"Some numbers on the tech side: FTS5 search with BM25 ranking, sandbox execution in 11 languages, session state survives context window compactions through SQLite event tracking."
|
|
119
|
-
|
|
120
|
-
Bad:
|
|
121
|
-
"This innovative solution serves as a testament to the transformative potential of AI-native infrastructure."
|
|
122
|
-
|
|
123
|
-
Good:
|
|
124
|
-
"Solo maintainers will run engineering orgs made of agents. Not because it sounds cool on a slide, but because the alternative is burnout."
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
# Release Workflow
|
|
2
|
-
|
|
3
|
-
## Trigger
|
|
4
|
-
|
|
5
|
-
User says: "release", "version bump", "npm publish", "ship it"
|
|
6
|
-
|
|
7
|
-
## Pre-Flight Checks
|
|
8
|
-
|
|
9
|
-
Before ANY release action, verify:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
# Must be on main branch
|
|
13
|
-
git branch --show-current # expect: main
|
|
14
|
-
|
|
15
|
-
# Must be clean
|
|
16
|
-
git status --porcelain # expect: empty
|
|
17
|
-
|
|
18
|
-
# Must be up to date
|
|
19
|
-
git pull origin main
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Step-by-Step
|
|
23
|
-
|
|
24
|
-
### 1. Validate Codebase (Parallel Agents)
|
|
25
|
-
|
|
26
|
-
Spawn these agents simultaneously:
|
|
27
|
-
|
|
28
|
-
| Agent | Task |
|
|
29
|
-
|-------|------|
|
|
30
|
-
| **QA Engineer** | Run `npm test` + `npm run typecheck` — report full pass/fail |
|
|
31
|
-
| **Security Engineer** | Check for any open security issues, audit recent changes |
|
|
32
|
-
| **Release Engineer** | Check current version, changelog, unreleased commits |
|
|
33
|
-
| **DX Engineer** | Verify README is current, install instructions work |
|
|
34
|
-
|
|
35
|
-
All must report PASS before proceeding.
|
|
36
|
-
|
|
37
|
-
### 1b. Grill-Me Review — MANDATORY BLOCKING GATE
|
|
38
|
-
|
|
39
|
-
**Before ANY version bump, the EM MUST run a grill-me interview on all changes in this release.**
|
|
40
|
-
|
|
41
|
-
This is not optional. This is not skippable. Every release gets grilled.
|
|
42
|
-
|
|
43
|
-
Interview the user relentlessly about every aspect of the changes until reaching shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer. Ask questions one at a time. If a question can be answered by exploring the codebase, explore the codebase instead of asking.
|
|
44
|
-
|
|
45
|
-
**The release is BLOCKED until:**
|
|
46
|
-
- [ ] All branches of the design tree are resolved
|
|
47
|
-
- [ ] Zero unresolved questions remain
|
|
48
|
-
- [ ] User explicitly approves the grill results
|
|
49
|
-
|
|
50
|
-
Only after grill-me approval: proceed to version bump.
|
|
51
|
-
|
|
52
|
-
### 2. Version Bump — MANDATORY
|
|
53
|
-
|
|
54
|
-
<version_bump_enforcement>
|
|
55
|
-
You MUST run `npm version patch`. This is NOT optional. Do NOT skip this step.
|
|
56
|
-
Do NOT manually edit package.json version. Do NOT create git tags manually.
|
|
57
|
-
`npm version patch` does EVERYTHING — bump, sync manifests, stage, commit, tag.
|
|
58
|
-
</version_bump_enforcement>
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
npm version patch
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
This single command does ALL of the following automatically:
|
|
65
|
-
1. Bumps `package.json` version (e.g., 1.0.56 → 1.0.57)
|
|
66
|
-
2. Triggers `version` lifecycle hook → runs `scripts/version-sync.mjs`
|
|
67
|
-
3. `version-sync.mjs` syncs version to ALL 6 manifest files:
|
|
68
|
-
- `.claude-plugin/plugin.json`
|
|
69
|
-
- `.claude-plugin/marketplace.json`
|
|
70
|
-
- `.openclaw-plugin/openclaw.plugin.json`
|
|
71
|
-
- `.openclaw-plugin/package.json`
|
|
72
|
-
- `openclaw.plugin.json`
|
|
73
|
-
- `.pi/extensions/context-mode/package.json`
|
|
74
|
-
4. Stages the manifest files via `git add`
|
|
75
|
-
5. Creates a git commit and `v{VERSION}` tag
|
|
76
|
-
|
|
77
|
-
**Do NOT create your own commit or tag. `npm version patch` handles it.**
|
|
78
|
-
|
|
79
|
-
### 3. Validate (NO Build Needed)
|
|
80
|
-
|
|
81
|
-
**Do NOT run `npm run build` or `npm run bundle`.** CI generates bundle files automatically on GitHub. You only validate:
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# Tests
|
|
85
|
-
npm test
|
|
86
|
-
|
|
87
|
-
# TypeScript
|
|
88
|
-
npm run typecheck
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 4. Git Tag & GitHub Release
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
# The npm version command already created a git tag
|
|
95
|
-
# Verify it exists:
|
|
96
|
-
git tag --list 'v*' | tail -5
|
|
97
|
-
|
|
98
|
-
# Push the commit and tag
|
|
99
|
-
git push origin main --tags
|
|
100
|
-
|
|
101
|
-
# Create GitHub release with auto-generated changelog
|
|
102
|
-
gh release create v{VERSION} \
|
|
103
|
-
--title "v{VERSION}" \
|
|
104
|
-
--generate-notes \
|
|
105
|
-
--latest
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### 5. npm Publish (Local)
|
|
109
|
-
|
|
110
|
-
**⚠️ REQUIRES USER APPROVAL — ask before running.**
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
# Dry run first
|
|
114
|
-
npm publish --dry-run
|
|
115
|
-
|
|
116
|
-
# If dry run looks good, publish
|
|
117
|
-
npm publish
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Verify publication:
|
|
121
|
-
```bash
|
|
122
|
-
npm view context-mode version # should show new version
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### 6. Sync Branches
|
|
126
|
-
|
|
127
|
-
Sync `next` with `main` to ensure next has all release changes:
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
# Fetch latest
|
|
131
|
-
git fetch origin
|
|
132
|
-
|
|
133
|
-
# Merge main into next
|
|
134
|
-
git checkout next
|
|
135
|
-
git pull origin next
|
|
136
|
-
git merge main --no-edit
|
|
137
|
-
|
|
138
|
-
# Push
|
|
139
|
-
git push origin next
|
|
140
|
-
|
|
141
|
-
# Return to main
|
|
142
|
-
git checkout main
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
**If merge conflict:** Resolve in favor of `main` (release branch is authoritative).
|
|
146
|
-
|
|
147
|
-
### 7. Clean Remote Branches
|
|
148
|
-
|
|
149
|
-
**⚠️ REQUIRES USER APPROVAL for EACH branch.**
|
|
150
|
-
|
|
151
|
-
List stale remote branches (everything except `main` and `next`):
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
# List remote branches excluding main and next
|
|
155
|
-
git branch -r | grep -v 'origin/main' | grep -v 'origin/next' | grep -v 'origin/HEAD'
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
For each branch, ask the user:
|
|
159
|
-
```
|
|
160
|
-
Remote branch: origin/{branch-name}
|
|
161
|
-
Last commit: {date} — {message}
|
|
162
|
-
Related PR: #{number} ({state})
|
|
163
|
-
|
|
164
|
-
Delete this branch? [y/n]
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Only delete after explicit approval:
|
|
168
|
-
```bash
|
|
169
|
-
git push origin --delete {branch-name}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## Release Checklist (EM Verification)
|
|
173
|
-
|
|
174
|
-
Before declaring release complete:
|
|
175
|
-
|
|
176
|
-
- [ ] `npm test` — all pass
|
|
177
|
-
- [ ] `npm run typecheck` — no errors
|
|
178
|
-
- [ ] `npm version patch` — version bumped in all manifests
|
|
179
|
-
- [ ] `git push origin main --tags` — pushed with tag (CI builds bundles automatically)
|
|
180
|
-
- [ ] `gh release create` — GitHub release published
|
|
181
|
-
- [ ] `npm publish` — package on npm registry
|
|
182
|
-
- [ ] `next` branch synced with `main`
|
|
183
|
-
- [ ] Stale remote branches cleaned (user approved)
|
|
184
|
-
- [ ] Verify: `npm view context-mode version` shows new version
|
|
185
|
-
|
|
186
|
-
## Rollback Plan
|
|
187
|
-
|
|
188
|
-
If something goes wrong after publish:
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
# Unpublish within 72 hours (npm policy)
|
|
192
|
-
npm unpublish context-mode@{BAD_VERSION}
|
|
193
|
-
|
|
194
|
-
# Or deprecate
|
|
195
|
-
npm deprecate context-mode@{BAD_VERSION} "Known issue: {description}"
|
|
196
|
-
|
|
197
|
-
# Revert git
|
|
198
|
-
git revert HEAD
|
|
199
|
-
git push origin main
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Post-Release
|
|
203
|
-
|
|
204
|
-
After successful release:
|
|
205
|
-
|
|
206
|
-
1. Comment on all issues fixed in this release:
|
|
207
|
-
```
|
|
208
|
-
Released in v{VERSION}! Please update and test:
|
|
209
|
-
npm update -g context-mode
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
2. Update Discord if there are noteworthy changes
|
|
213
|
-
|
|
214
|
-
3. Check npm download stats in 24h for any anomalies
|