cursor-ide Stinger
The knowledge repository for cursor-ide-worker-bee. Covers Hivemind's real Cursor surface: the Cursor 1.7+ hooks harness, the first-party Cursor extension, registering the Hivemind MCP server in Cursor, and the .cursor/ colony (rules, agents, skills, commands, model matrix) that this repo ships.
This is the platform knowledge that keeps the colony working inside Cursor: the rules .mdc format, the hooks lifecycle, MCP registration, the agents/skills/commands layout, and the cursor harness install.
When this stinger applies
Load whenever cursor-ide-worker-bee is invoked. Typical triggers (any of these phrases):
- "wire the Cursor hooks" / "what does install-cursor do" / "hooks.json" / "Cursor 1.7 hooks"
- "add a
.cursor/rules/*.mdc" / "fix this rule" / "rule frontmatter" / "alwaysApply / globs"
- "register the Hivemind MCP server in Cursor" / "mcp.json in Cursor"
- "the cursor extension" / "harnesses/cursor/extension" / "the dashboard webview / status bar"
- "the colony layout" / "where do agents/skills/commands live" / "the-beekeeper / the-smoker"
- "model-comparison-matrix"
Do NOT load for:
- Code quality / typing of the TypeScript source itself (
typescript-node-worker-bee).
- The MCP protocol internals of
src/mcp/server.ts: tool schemas, transport (mcp-protocol-worker-bee).
- Harness wiring for Claude Code, Codex, Hermes, or other agents (
harness-integration-worker-bee).
First action when loaded
Read in order before acting:
guides/01-principles.md: the Hivemind Cursor surface map, the rules .mdc mental model, and the hard directives (idempotent hook merge, em-dash ban, Cursor field shape).
- The task-specific guide:
02 for .cursor/rules/*.mdc authoring.
03 for registering the Hivemind MCP server in Cursor.
04 for the Cursor hooks lifecycle (the 6 events + install-cursor.ts).
05 for the .cursor/ colony layout.
06 for the cursor extension build.
Folder layout
cursor-ide-stinger/
+- SKILL.md (this file, master index)
+- guides/
| +- 01-principles.md (the Hivemind Cursor surface; rules model; hard directives)
| +- 02-rule-file-authoring.md (.cursor/rules/*.mdc frontmatter, globs, activation modes)
| +- 03-mcp-integration.md (registering the Hivemind MCP server in Cursor)
| +- 04-cursor-hooks-lifecycle.md (hooks.json 1.7+, the 6 events, install-cursor.ts wiring)
| +- 05-cursor-army-layout.md (.cursor/ rules + agents + skills + commands + model matrix)
| +- 06-extension-development.md (harnesses/cursor/extension build, contributions, MCP/hooks surface)
+- examples/
| +- rule-file-examples.md (worked .mdc examples, including this repo's live rules)
| +- mcp-server-example.md (registering hivemind in Cursor mcp.json + the extension path)
| +- hooks-wiring-example.md (a real ~/.cursor/hooks.json after install-cursor)
+- templates/
| +- rule-file-template.mdc (canonical .mdc frontmatter template)
| +- hooks-json-template.json (Cursor 1.7+ hooks.json wiring template)
+- reports/
| +- README.md
+- research/ (Cursor 1.7+ hooks/rules notes, dated 2026-06-16)
+- research-plan.md
+- research-summary.md
+- index.md
+- internal/ (live repo artifacts)
+- external/ (Cursor hooks + rules docs)
Critical directives
Stinger-level non-negotiables that cursor-ide-worker-bee enforces on every invocation:
- Cursor's hooks.json schema differs from Claude/Codex. Array entries under each event are command objects directly (
{ type, command, timeout }), with NO outer { hooks: [...] } wrapper and NO top-level matcher wrapper. See guides/04.
- Hook merges must stay idempotent and Windows-safe.
install-cursor.ts strips prior Hivemind entries (matched on a normalized /.cursor/hivemind/bundle/ path so backslash paths on Windows do not duplicate) before re-adding, and only rewrites hooks.json when content changed so it does not perturb Cursor's trust fingerprint.
.cursor/rules/*.mdc is the only rules format. This repo ships .mdc rules with frontmatter (description / globs / alwaysApply). Never introduce a .cursorrules file here.
- Prefer
alwaysApply: false with a narrow glob or a sharp description. Reserve alwaysApply: true for short, always-true directives (this repo uses it only for no-em-dashes.mdc).
- NO em dashes, ever. Write hyphens directly. This is enforced by
.cursor/rules/no-em-dashes.mdc and applies to every file this Bee authors.
Key facts by domain (quick reference)
The Hivemind Cursor surface (what this repo actually ships)
| Surface |
Path |
Purpose |
| Hook installer |
src/cli/install-cursor.ts |
Merges ~/.cursor/hooks.json, copies the bundle to ~/.cursor/hivemind/bundle/ |
| Hook bundle |
harnesses/cursor/bundle/ |
Built hook scripts (session-start.js, capture.js, pre-tool-use.js, graph-on-stop.js, session-end.js) |
| Extension |
harnesses/cursor/extension/ |
First-party VS Code/Cursor extension: status bar, onboarding, dashboard webview, codebase graph, skill sync |
| MCP server |
src/mcp/server.ts |
stdio server exposing hivemind_search / hivemind_read / hivemind_index |
| Colony |
.cursor/ |
rules/*.mdc, agents/*.md, skills/<base>-stinger/, commands/, model-comparison-matrix.md |
Cursor 1.7+ hooks (~/.cursor/hooks.json)
{
"version": 1,
"hooks": {
"sessionStart": [{ "type": "command", "command": "node \"...bundle/session-start.js\"", "timeout": 30 }],
"beforeSubmitPrompt": [{ "type": "command", "command": "node \"...bundle/capture.js\"", "timeout": 10 }],
"preToolUse": [{ "type": "command", "command": "node \"...bundle/pre-tool-use.js\"", "timeout": 30, "matcher": "Shell" }],
"postToolUse": [{ "type": "command", "command": "node \"...bundle/capture.js\"", "timeout": 15 }],
"afterAgentResponse": [{ "type": "command", "command": "node \"...bundle/capture.js\"", "timeout": 15 }],
"stop": [{ "...": "capture.js + graph-on-stop.js" }],
"sessionEnd": [{ "...": "session-end.js + graph-on-stop.js" }]
}
}
Six lifecycle events are wired: sessionStart, beforeSubmitPrompt, preToolUse (Shell matcher rewrites grep/rg against ~/.deeplake/memory/ into a SQL fast path), postToolUse, afterAgentResponse, stop, and sessionEnd. graph-on-stop.js auto-builds the code graph on stop and sessionEnd (gated, async, never blocks Cursor).
Rules (.cursor/rules/*.mdc)
Cursor project rules are .mdc files with frontmatter. Activation is driven by three fields:
| Mode |
alwaysApply |
globs |
description |
| Always Apply |
true |
any |
any |
| Apply to Specific Files |
false |
set |
any |
| Apply Intelligently |
false |
unset |
set |
| Apply Manually |
false |
unset |
unset |
This repo's live rules: no-em-dashes.mdc (alwaysApply), plan-construction-protocol.mdc, respect-agent-work-boundaries.mdc.
MCP registration in Cursor
The Hivemind MCP server (src/mcp/server.ts, stdio) exposes hivemind_search, hivemind_read, hivemind_index. To use it inside Cursor, add a mcpServers entry to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global) pointing at the built server. See guides/03.
Pairing
| Role |
Artifact |
| This stinger |
. |
| Paired Bee |
../../agents/cursor-ide-worker-bee.md |
| Harness Bee (other agents) |
../../agents/harness-integration-worker-bee.md |
| MCP protocol Bee |
../../agents/mcp-protocol-worker-bee.md |
| Orchestrator commands |
.cursor/commands/the-beekeeper.md, .cursor/commands/the-smoker.md |
Refresh cadence
- Guides
01-06: refresh on any Cursor major version, or when install-cursor.ts / the extension package.json changes.
- Research folder: re-run on any Cursor 1.x hooks API change.
Part of The Hive, curated by Mario Aldayuz a.k.a @thenotoriousllama.
1---2name: cursor-ide-stinger3description: Equips cursor-ide-worker-bee to own Hivemind's Cursor surface: the Cursor 1.7+ hooks harness (~/.cursor/hooks.json, 6 lifecycle events) wired by src/cli/install-cursor.ts, the first-party VS Code/Cursor extension at harnesses/cursor/extension/, registering the Hivemind MCP server (src/mcp/server.ts) in Cursor, and the .cursor/ colony this repo ships (rules .mdc format, agents, skills/Stingers, the-beekeeper/the-smoker commands, model-comparison-matrix). Use when the task touches Cursor hook wiring, .cursor/rules/*.mdc authoring, MCP registration in Cursor, the cursor extension build, or the colony's .cursor/ structure. Do NOT use for code quality of TS source (typescript-node-worker-bee), the MCP protocol internals of server.ts (mcp-protocol-worker-bee), or harness wiring for Claude/Codex/other agents (harness-integration-worker-bee).4license: MIT5---67# cursor-ide Stinger89The knowledge repository for `cursor-ide-worker-bee`. Covers Hivemind's real Cursor surface: the Cursor 1.7+ hooks harness, the first-party Cursor extension, registering the Hivemind MCP server in Cursor, and the `.cursor/` colony (rules, agents, skills, commands, model matrix) that this repo ships.1011This is the platform knowledge that keeps the colony working inside Cursor: the rules `.mdc` format, the hooks lifecycle, MCP registration, the agents/skills/commands layout, and the cursor harness install.1213## When this stinger applies1415Load whenever `cursor-ide-worker-bee` is invoked. Typical triggers (any of these phrases):1617- "wire the Cursor hooks" / "what does install-cursor do" / "hooks.json" / "Cursor 1.7 hooks"18- "add a `.cursor/rules/*.mdc`" / "fix this rule" / "rule frontmatter" / "alwaysApply / globs"19- "register the Hivemind MCP server in Cursor" / "mcp.json in Cursor"20- "the cursor extension" / "harnesses/cursor/extension" / "the dashboard webview / status bar"21- "the colony layout" / "where do agents/skills/commands live" / "the-beekeeper / the-smoker"22- "model-comparison-matrix"2324Do NOT load for:2526- Code quality / typing of the TypeScript source itself (`typescript-node-worker-bee`).27- The MCP protocol internals of `src/mcp/server.ts`: tool schemas, transport (`mcp-protocol-worker-bee`).28- Harness wiring for Claude Code, Codex, Hermes, or other agents (`harness-integration-worker-bee`).2930## First action when loaded3132Read in order before acting:33341. **`guides/01-principles.md`**: the Hivemind Cursor surface map, the rules `.mdc` mental model, and the hard directives (idempotent hook merge, em-dash ban, Cursor field shape).352. The task-specific guide:36 - `02` for `.cursor/rules/*.mdc` authoring.37 - `03` for registering the Hivemind MCP server in Cursor.38 - `04` for the Cursor hooks lifecycle (the 6 events + `install-cursor.ts`).39 - `05` for the `.cursor/` colony layout.40 - `06` for the cursor extension build.4142## Folder layout4344```text45cursor-ide-stinger/46+- SKILL.md (this file, master index)47+- guides/48| +- 01-principles.md (the Hivemind Cursor surface; rules model; hard directives)49| +- 02-rule-file-authoring.md (.cursor/rules/*.mdc frontmatter, globs, activation modes)50| +- 03-mcp-integration.md (registering the Hivemind MCP server in Cursor)51| +- 04-cursor-hooks-lifecycle.md (hooks.json 1.7+, the 6 events, install-cursor.ts wiring)52| +- 05-cursor-army-layout.md (.cursor/ rules + agents + skills + commands + model matrix)53| +- 06-extension-development.md (harnesses/cursor/extension build, contributions, MCP/hooks surface)54+- examples/55| +- rule-file-examples.md (worked .mdc examples, including this repo's live rules)56| +- mcp-server-example.md (registering hivemind in Cursor mcp.json + the extension path)57| +- hooks-wiring-example.md (a real ~/.cursor/hooks.json after install-cursor)58+- templates/59| +- rule-file-template.mdc (canonical .mdc frontmatter template)60| +- hooks-json-template.json (Cursor 1.7+ hooks.json wiring template)61+- reports/62| +- README.md63+- research/ (Cursor 1.7+ hooks/rules notes, dated 2026-06-16)64 +- research-plan.md65 +- research-summary.md66 +- index.md67 +- internal/ (live repo artifacts)68 +- external/ (Cursor hooks + rules docs)69```7071## Critical directives7273Stinger-level non-negotiables that `cursor-ide-worker-bee` enforces on every invocation:7475- **Cursor's hooks.json schema differs from Claude/Codex.** Array entries under each event are command objects directly (`{ type, command, timeout }`), with NO outer `{ hooks: [...] }` wrapper and NO top-level `matcher` wrapper. See `guides/04`.76- **Hook merges must stay idempotent and Windows-safe.** `install-cursor.ts` strips prior Hivemind entries (matched on a normalized `/.cursor/hivemind/bundle/` path so backslash paths on Windows do not duplicate) before re-adding, and only rewrites `hooks.json` when content changed so it does not perturb Cursor's trust fingerprint.77- **`.cursor/rules/*.mdc` is the only rules format.** This repo ships `.mdc` rules with frontmatter (`description` / `globs` / `alwaysApply`). Never introduce a `.cursorrules` file here.78- **Prefer `alwaysApply: false` with a narrow glob or a sharp `description`.** Reserve `alwaysApply: true` for short, always-true directives (this repo uses it only for `no-em-dashes.mdc`).79- **NO em dashes, ever.** Write hyphens directly. This is enforced by `.cursor/rules/no-em-dashes.mdc` and applies to every file this Bee authors.8081## Key facts by domain (quick reference)8283### The Hivemind Cursor surface (what this repo actually ships)8485| Surface | Path | Purpose |86|---|---|---|87| Hook installer | `src/cli/install-cursor.ts` | Merges `~/.cursor/hooks.json`, copies the bundle to `~/.cursor/hivemind/bundle/` |88| Hook bundle | `harnesses/cursor/bundle/` | Built hook scripts (`session-start.js`, `capture.js`, `pre-tool-use.js`, `graph-on-stop.js`, `session-end.js`) |89| Extension | `harnesses/cursor/extension/` | First-party VS Code/Cursor extension: status bar, onboarding, dashboard webview, codebase graph, skill sync |90| MCP server | `src/mcp/server.ts` | stdio server exposing `hivemind_search` / `hivemind_read` / `hivemind_index` |91| Colony | `.cursor/` | `rules/*.mdc`, `agents/*.md`, `skills/<base>-stinger/`, `commands/`, `model-comparison-matrix.md` |9293### Cursor 1.7+ hooks (`~/.cursor/hooks.json`)9495```jsonc96{97 "version": 1,98 "hooks": {99 "sessionStart": [{ "type": "command", "command": "node \"...bundle/session-start.js\"", "timeout": 30 }],100 "beforeSubmitPrompt": [{ "type": "command", "command": "node \"...bundle/capture.js\"", "timeout": 10 }],101 "preToolUse": [{ "type": "command", "command": "node \"...bundle/pre-tool-use.js\"", "timeout": 30, "matcher": "Shell" }],102 "postToolUse": [{ "type": "command", "command": "node \"...bundle/capture.js\"", "timeout": 15 }],103 "afterAgentResponse": [{ "type": "command", "command": "node \"...bundle/capture.js\"", "timeout": 15 }],104 "stop": [{ "...": "capture.js + graph-on-stop.js" }],105 "sessionEnd": [{ "...": "session-end.js + graph-on-stop.js" }]106 }107}108```109110Six lifecycle events are wired: `sessionStart`, `beforeSubmitPrompt`, `preToolUse` (Shell matcher rewrites grep/rg against `~/.deeplake/memory/` into a SQL fast path), `postToolUse`, `afterAgentResponse`, `stop`, and `sessionEnd`. `graph-on-stop.js` auto-builds the code graph on `stop` and `sessionEnd` (gated, async, never blocks Cursor).111112### Rules (`.cursor/rules/*.mdc`)113114Cursor project rules are `.mdc` files with frontmatter. Activation is driven by three fields:115116| Mode | `alwaysApply` | `globs` | `description` |117|---|---|---|---|118| Always Apply | `true` | any | any |119| Apply to Specific Files | `false` | set | any |120| Apply Intelligently | `false` | unset | set |121| Apply Manually | `false` | unset | unset |122123This repo's live rules: `no-em-dashes.mdc` (alwaysApply), `plan-construction-protocol.mdc`, `respect-agent-work-boundaries.mdc`.124125### MCP registration in Cursor126127The Hivemind MCP server (`src/mcp/server.ts`, stdio) exposes `hivemind_search`, `hivemind_read`, `hivemind_index`. To use it inside Cursor, add a `mcpServers` entry to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global) pointing at the built server. See `guides/03`.128129## Pairing130131| Role | Artifact |132|---|---|133| This stinger | `.` |134| Paired Bee | `../../agents/cursor-ide-worker-bee.md` |135| Harness Bee (other agents) | `../../agents/harness-integration-worker-bee.md` |136| MCP protocol Bee | `../../agents/mcp-protocol-worker-bee.md` |137| Orchestrator commands | `.cursor/commands/the-beekeeper.md`, `.cursor/commands/the-smoker.md` |138139## Refresh cadence140141- Guides `01`-`06`: refresh on any Cursor major version, or when `install-cursor.ts` / the extension `package.json` changes.142- Research folder: re-run on any Cursor 1.x hooks API change.143144---145146*Part of The Hive, curated by [Mario Aldayuz a.k.a @thenotoriousllama](https://github.com/thenotoriousllama).*