@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/.cursor-plugin/plugin.json +10 -0
- package/hooks/hooks-cursor.json +10 -0
- package/hooks/session-start +53 -0
- package/marketplace.json +10 -0
- package/mcp/run-server.sh +43 -0
- package/mcp/server.ts +1187 -0
- package/mcp.json +12 -0
- package/package.json +36 -0
- package/rules/ask-question-only.mdc +49 -0
- package/rules/cursor-todowrite.mdc +14 -0
- package/rules/no-worktrees.mdc +26 -0
- package/rules/sdd-docs-path.mdc +22 -0
- package/skills/wk-changelog/SKILL.md +75 -0
- package/skills/wk-commit/SKILL.md +657 -0
- package/skills/wk-docs-refresh/SKILL.md +41 -0
- package/skills/wk-handoff/SKILL.md +53 -0
- package/skills/wk-implement/SKILL.md +40 -0
- package/skills/wk-init/SKILL.md +107 -0
- package/skills/wk-issue-update/SKILL.md +99 -0
- package/skills/wk-issue-update/references/youtrack-update-style.md +81 -0
- package/skills/wk-meetings/SKILL.md +50 -0
- package/skills/wk-pr/SKILL.md +88 -0
- package/skills/wk-release-notes/SKILL.md +57 -0
- package/skills/wk-status/SKILL.md +85 -0
- package/skills/wk-verify/SKILL.md +48 -0
package/mcp.json
ADDED
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
|
+
```
|