@brainervirus/workit-cursor 0.4.0

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/mcp.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "workit": {
4
+ "command": "bash",
5
+ "args": [
6
+ "-lc",
7
+ "exec \"$HOME/.local/share/workflow-toolkit/packages/workit-core/scripts/run-cursor-mcp.sh\" \"$0\"",
8
+ "${workspaceFolder}"
9
+ ]
10
+ }
11
+ }
12
+ }
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@brainervirus/workit-cursor",
3
+ "version": "0.4.0",
4
+ "private": false,
5
+ "description": "Workit Cursor plugin: MCP server, hooks, rules, marketplace manifest (thin over @brainervirus/workit-core)",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "cursor",
9
+ "mcp",
10
+ "workflow",
11
+ "agent"
12
+ ],
13
+ "bugs": {
14
+ "url": "https://github.com/BrainerVirus/workflow-toolkit/issues"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/BrainerVirus/workflow-toolkit.git"
19
+ },
20
+ "files": [
21
+ "mcp/",
22
+ "hooks/",
23
+ "rules/",
24
+ "skills/",
25
+ ".cursor-plugin/",
26
+ "mcp.json",
27
+ "marketplace.json"
28
+ ],
29
+ "type": "module",
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "dependencies": {
34
+ "@brainervirus/workit-core": "^0.4.0"
35
+ }
36
+ }
@@ -0,0 +1,49 @@
1
+ ---
2
+ description: ALL user choices must use Cursor AskQuestion — never A/B/C in chat
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # AskQuestion only (HARD-GATE)
7
+
8
+ **Overrides** Superpowers brainstorming “ask in chat / A/B/C text options” and any skill that suggests conversational multiple choice.
9
+
10
+ ## Required path for every decision
11
+
12
+ When the user must choose (clarifying questions, product identity, layout, yes/no, confirm, branch, stash, YouTrack, approaches, or how to execute a completed plan):
13
+
14
+ 1. Call Cursor's native **`AskQuestion`** with a workflow-specific title, prompt, and options.
15
+ 2. Wait for the tool result — do **not** also paste the options in the chat message.
16
+ 3. If native `AskQuestion` is unavailable in the current mode, ask one concise plain-text question.
17
+
18
+ ## Forbidden (always)
19
+
20
+ - Letter options in markdown: `A)`, `B)`, `C)`, `Reply with A, B, or C`
21
+ - Bullet / numbered choice lists meant as the answer UI
22
+ - “First clarifying question” blocks that list options in prose
23
+ - Asking the user to type yes/no when `yes_no` + AskQuestion exists
24
+
25
+ ## Mapping
26
+
27
+ | Need | Kind |
28
+ |------|------|
29
+ | 2+ custom choices (brainstorming, identity, layout, …) | `pick_option` + title, prompt, `id:label` args |
30
+ | Yes / no | `yes_no` |
31
+ | Branch / stash / YouTrack / VCS | named kinds from the tool |
32
+ | Plan completed; choose execution method | `plan_execution` + saved plan path |
33
+
34
+ One AskQuestion per turn when possible. Open-ended free text (no options) may stay in chat — **as soon as there are options, AskQuestion is mandatory**.
35
+
36
+ ## Superpowers writing-plans override
37
+
38
+ After writing a plan, **do not emit** Superpowers' inline text beginning “Two execution options”.
39
+
40
+ After `workflow_docs_validate` succeeds on the saved spec/plan pair, call Cursor `AskQuestion` with exactly:
41
+
42
+ - Subagent-driven → `wk-implement`
43
+ - Inline → execute in this session
44
+ - Handoff → `/wk-handoff` (new session only)
45
+ - Review spec first
46
+ - Review plan first
47
+ - Cursor's built-in **Other** response, always last
48
+
49
+ No `--stay` option in this menu.
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: SDD ledger AND Cursor TodoWrite — both required for plan execution
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # TodoWrite UI (HARD-GATE)
7
+
8
+ When executing a plan / SDD handoff:
9
+
10
+ 1. MCP `workflow_sdd_context` returns `todos` — call Cursor **TodoWrite** with that array (`merge: false`) before Task 1.
11
+ 2. SDD under `docs/<slug>/sdd/` is persistence only — **not** a substitute for the Cursor task list UI.
12
+ 3. Per task: `in_progress` before dispatch; `completed` after `workflow_sdd_append_progress`.
13
+
14
+ Never skip TodoWrite because the SDD ledger exists.
@@ -0,0 +1,26 @@
1
+ ---
2
+ description: NEVER use git worktrees — in-place feature/* or bugfix/* checkout only
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # No worktrees (HARD-GATE)
7
+
8
+ **Overrides** Superpowers `using-git-worktrees` skill and any execution contract that mentions worktrees.
9
+
10
+ ## Policy
11
+
12
+ - **NEVER** invoke `using-git-worktrees`
13
+ - **NEVER** run `git worktree add` or any worktree command
14
+ - Branch work is **in-place only**: `feature/*` or `bugfix/*`
15
+ - Never commit on `main`, `develop`, `master`, or `prod`
16
+
17
+ ## Required flow (before Task 1)
18
+
19
+ 1. MCP `workflow_resolve_branch` with spec + plan paths
20
+ 2. If `needs_checkout` and `dirty` → native **AskQuestion** asks whether to stash before checkout
21
+ 3. MCP `workflow_branch_setup` with `target_branch` and `stash: yes|no`
22
+ 4. After all tasks, if manifest has `stash_ref` → AskQuestion → `workflow_branch_setup` action=`reapply_stash`
23
+
24
+ ## Tools only
25
+
26
+ Do not infer branch or stash state from manual `git status`. Use MCP tools.
@@ -0,0 +1,22 @@
1
+ ---
2
+ description: SDD artifacts live under docs/<slug>/sdd — never .superpowers/sdd
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # SDD path (HARD-GATE)
7
+
8
+ **Overrides** Superpowers `subagent-driven-development` ledger check at `.superpowers/sdd/progress.md`.
9
+
10
+ ## Required
11
+
12
+ 1. MCP `workflow_sdd_context` with `plan_path` — **always**, including fresh projects
13
+ 2. Use returned `sdd_dir` (`docs/<plan-basename>/sdd/`) for all SDD artifacts
14
+ 3. `workflow_sdd_task_brief`, `workflow_sdd_review_package`, `workflow_sdd_append_progress` — never Superpowers `sdd-workspace` script
15
+
16
+ ## Forbidden
17
+
18
+ - `.superpowers/sdd/` for progress, briefs, or review diffs
19
+ - `cat .superpowers/sdd/progress.md` — missing file there does NOT mean "start fresh"
20
+ - Superpowers `task-brief` / `review-package` scripts under `.agents/skills/`
21
+
22
+ Fresh project with no ledger → `workflow_sdd_context` **creates** `docs/<slug>/sdd/progress.md`.
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: wk-changelog
3
+ description: Update CHANGELOG.md via workflow_changelog_context + workflow_changelog_apply. Use for /wk-changelog or "update the changelog".
4
+ ---
5
+
6
+ # Changelog — Keep a Changelog Update
7
+
8
+ Update `CHANGELOG.md` for the current repository.
9
+
10
+ ## Step 1 — Gather facts (required)
11
+
12
+ Call MCP tool `workflow_changelog_context` with arguments from the user's message (range, version, paths, etc.).
13
+
14
+ **Workspace root:** defaults to the Cursor workspace. Pass `workspace_root` when the user names a different repository path.
15
+
16
+ Use the tool return value as ground truth. Do not read git, run npm, or infer repo state yourself.
17
+ If the tool errors, report the error and stop.
18
+
19
+ If `unreleased.needs_normalize` is true, call `workflow_changelog_apply` with `normalize_only: true` before merging new bullets.
20
+
21
+ ## Step 2 — Decide entries (do not edit the file yet)
22
+
23
+ Follow Keep a Changelog 1.1.0:
24
+
25
+ - Target `## [Unreleased]` only (unless the user asks to cut a version).
26
+ - Categories: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`.
27
+ - Human-readable bullets, not raw commit messages.
28
+ - Group by user-visible behavior, not by file.
29
+ - Skip internal refactors / CI / tests / formatting unless they affect users.
30
+ - If there are no meaningful user-visible changes, stop — do not invent entries.
31
+
32
+ ## Step 3 — Apply via tool (required)
33
+
34
+ Call MCP `workflow_changelog_apply` with the new bullets. Examples:
35
+
36
+ ```json
37
+ {
38
+ "entries": {
39
+ "Added": ["**Foo API** — public endpoint for bar"],
40
+ "Fixed": ["**Login redirect** — stop loop on expired session"]
41
+ }
42
+ }
43
+ ```
44
+
45
+ or
46
+
47
+ ```json
48
+ {
49
+ "entries": [
50
+ { "category": "Added", "text": "**Foo API** — public endpoint for bar" }
51
+ ]
52
+ }
53
+ ```
54
+
55
+ ### HARD-GATE
56
+
57
+ - **NEVER** hand-edit `CHANGELOG.md` to append a new `### Added` / `### Changed` / … block under `[Unreleased]`.
58
+ - The apply tool **merges** into the existing category heading (or creates one category once).
59
+ - Duplicate identical bullets are skipped.
60
+ - Do not update package versions or tags.
61
+ - Do not commit.
62
+
63
+ ## Output
64
+
65
+ After the tool returns ok, summarize:
66
+
67
+ ```md
68
+ Changelog update:
69
+
70
+ - <entry or reason no update was needed>
71
+
72
+ Files changed:
73
+
74
+ - CHANGELOG.md
75
+ ```