@slope-dev/slope 1.13.0 → 1.13.2

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.
Files changed (126) hide show
  1. package/README.md +118 -189
  2. package/dist/adapters.d.ts +15 -0
  3. package/dist/adapters.d.ts.map +1 -0
  4. package/dist/adapters.js +17 -0
  5. package/dist/adapters.js.map +1 -0
  6. package/dist/cli/commands/guard.d.ts +19 -0
  7. package/dist/cli/commands/guard.d.ts.map +1 -1
  8. package/dist/cli/commands/guard.js +89 -1
  9. package/dist/cli/commands/guard.js.map +1 -1
  10. package/dist/cli/commands/hook.d.ts +5 -0
  11. package/dist/cli/commands/hook.d.ts.map +1 -1
  12. package/dist/cli/commands/hook.js +59 -83
  13. package/dist/cli/commands/hook.js.map +1 -1
  14. package/dist/cli/commands/init.d.ts +13 -4
  15. package/dist/cli/commands/init.d.ts.map +1 -1
  16. package/dist/cli/commands/init.js +309 -16
  17. package/dist/cli/commands/init.js.map +1 -1
  18. package/dist/cli/commands/metaphor.d.ts +3 -0
  19. package/dist/cli/commands/metaphor.d.ts.map +1 -0
  20. package/dist/cli/commands/metaphor.js +100 -0
  21. package/dist/cli/commands/metaphor.js.map +1 -0
  22. package/dist/cli/commands/roadmap.d.ts.map +1 -1
  23. package/dist/cli/commands/roadmap.js +94 -1
  24. package/dist/cli/commands/roadmap.js.map +1 -1
  25. package/dist/cli/commands/store.d.ts +2 -0
  26. package/dist/cli/commands/store.d.ts.map +1 -0
  27. package/dist/cli/commands/store.js +204 -0
  28. package/dist/cli/commands/store.js.map +1 -0
  29. package/dist/cli/guards/branch-before-commit.d.ts +7 -0
  30. package/dist/cli/guards/branch-before-commit.d.ts.map +1 -0
  31. package/dist/cli/guards/branch-before-commit.js +43 -0
  32. package/dist/cli/guards/branch-before-commit.js.map +1 -0
  33. package/dist/cli/guards/stop-check.d.ts +4 -0
  34. package/dist/cli/guards/stop-check.d.ts.map +1 -1
  35. package/dist/cli/guards/stop-check.js +50 -16
  36. package/dist/cli/guards/stop-check.js.map +1 -1
  37. package/dist/cli/index.js +20 -1
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/cli/registry.d.ts.map +1 -1
  40. package/dist/cli/registry.js +2 -0
  41. package/dist/cli/registry.js.map +1 -1
  42. package/dist/cli/store.d.ts +9 -0
  43. package/dist/cli/store.d.ts.map +1 -1
  44. package/dist/cli/store.js +29 -0
  45. package/dist/cli/store.js.map +1 -1
  46. package/dist/cli/template-generator.d.ts +1 -1
  47. package/dist/cli/template-generator.d.ts.map +1 -1
  48. package/dist/cli/template-generator.js +5 -3
  49. package/dist/cli/template-generator.js.map +1 -1
  50. package/dist/core/adapters/claude-code.d.ts +28 -0
  51. package/dist/core/adapters/claude-code.d.ts.map +1 -0
  52. package/dist/core/adapters/claude-code.js +148 -0
  53. package/dist/core/adapters/claude-code.js.map +1 -0
  54. package/dist/core/adapters/cline.d.ts +36 -0
  55. package/dist/core/adapters/cline.d.ts.map +1 -0
  56. package/dist/core/adapters/cline.js +279 -0
  57. package/dist/core/adapters/cline.js.map +1 -0
  58. package/dist/core/adapters/cursor.d.ts +38 -0
  59. package/dist/core/adapters/cursor.d.ts.map +1 -0
  60. package/dist/core/adapters/cursor.js +143 -0
  61. package/dist/core/adapters/cursor.js.map +1 -0
  62. package/dist/core/adapters/generic.d.ts +29 -0
  63. package/dist/core/adapters/generic.d.ts.map +1 -0
  64. package/dist/core/adapters/generic.js +142 -0
  65. package/dist/core/adapters/generic.js.map +1 -0
  66. package/dist/core/adapters/windsurf.d.ts +37 -0
  67. package/dist/core/adapters/windsurf.d.ts.map +1 -0
  68. package/dist/core/adapters/windsurf.js +170 -0
  69. package/dist/core/adapters/windsurf.js.map +1 -0
  70. package/dist/core/config.d.ts +3 -0
  71. package/dist/core/config.d.ts.map +1 -1
  72. package/dist/core/config.js +9 -0
  73. package/dist/core/config.js.map +1 -1
  74. package/dist/core/guard.d.ts +10 -3
  75. package/dist/core/guard.d.ts.map +1 -1
  76. package/dist/core/guard.js +33 -59
  77. package/dist/core/guard.js.map +1 -1
  78. package/dist/core/harness.d.ts +61 -0
  79. package/dist/core/harness.d.ts.map +1 -0
  80. package/dist/core/harness.js +88 -0
  81. package/dist/core/harness.js.map +1 -0
  82. package/dist/core/index.d.ts +15 -5
  83. package/dist/core/index.d.ts.map +1 -1
  84. package/dist/core/index.js +13 -3
  85. package/dist/core/index.js.map +1 -1
  86. package/dist/core/interview.js +1 -1
  87. package/dist/core/interview.js.map +1 -1
  88. package/dist/core/metaphor.d.ts +14 -0
  89. package/dist/core/metaphor.d.ts.map +1 -1
  90. package/dist/core/metaphor.js +14 -0
  91. package/dist/core/metaphor.js.map +1 -1
  92. package/dist/core/plugins.d.ts +12 -0
  93. package/dist/core/plugins.d.ts.map +1 -1
  94. package/dist/core/plugins.js +58 -1
  95. package/dist/core/plugins.js.map +1 -1
  96. package/dist/core/roadmap.d.ts.map +1 -1
  97. package/dist/core/roadmap.js +5 -4
  98. package/dist/core/roadmap.js.map +1 -1
  99. package/dist/core/store-health.d.ts +11 -0
  100. package/dist/core/store-health.d.ts.map +1 -0
  101. package/dist/core/store-health.js +26 -0
  102. package/dist/core/store-health.js.map +1 -0
  103. package/dist/core/store.d.ts +10 -0
  104. package/dist/core/store.d.ts.map +1 -1
  105. package/dist/core/store.js.map +1 -1
  106. package/dist/mcp/index.d.ts +2 -2
  107. package/dist/mcp/index.d.ts.map +1 -1
  108. package/dist/mcp/index.js +55 -6
  109. package/dist/mcp/index.js.map +1 -1
  110. package/dist/mcp/index.test.js +7 -4
  111. package/dist/mcp/index.test.js.map +1 -1
  112. package/dist/mcp/registry.d.ts.map +1 -1
  113. package/dist/mcp/registry.js +32 -3
  114. package/dist/mcp/registry.js.map +1 -1
  115. package/dist/mcp/sandbox.d.ts.map +1 -1
  116. package/dist/mcp/sandbox.js +7 -1
  117. package/dist/mcp/sandbox.js.map +1 -1
  118. package/dist/store/index.d.ts +8 -2
  119. package/dist/store/index.d.ts.map +1 -1
  120. package/dist/store/index.js +27 -3
  121. package/dist/store/index.js.map +1 -1
  122. package/dist/store-pg/index.d.ts +3 -0
  123. package/dist/store-pg/index.d.ts.map +1 -1
  124. package/dist/store-pg/index.js +49 -1
  125. package/dist/store-pg/index.js.map +1 -1
  126. package/package.json +16 -7
package/README.md CHANGED
@@ -2,218 +2,162 @@
2
2
 
3
3
  **Sprint Lifecycle & Operational Performance Engine**
4
4
 
5
- A framework for measuring and improving sprint execution quality. Replace subjective retrospectives with objective, quantifiable metrics. Works with Claude Code, Cursor, and OpenCode.
5
+ Replace subjective retrospectives with quantified sprint metrics. Track every ticket's approach, outcome, and hazards then use rolling analytics to spot patterns and improve over time.
6
+
7
+ ## Why SLOPE?
8
+
9
+ - **Quantified retros** — structured scorecards with objective scoring instead of "how did it feel?"
10
+ - **Pattern detection** — rolling handicap windows reveal if you consistently over-engineer, under-scope, or pick the wrong approach
11
+ - **AI agent guidance** — 16 guard hooks give real-time hints to Claude Code, Cursor, Windsurf, Cline, and OpenCode
12
+ - **Pluggable metaphors** — golf, tennis, baseball, gaming, D&D, matrix, or agile terminology — same math, your vocabulary
13
+ - **Zero infrastructure** — SQLite store, CLI-driven, lives in your repo
6
14
 
7
15
  ## Quick Start
8
16
 
9
17
  ```bash
10
- # Install globally (makes `slope` available everywhere)
18
+ # Install
11
19
  npm install -g @slope-dev/slope
12
20
 
13
- # Or install locally in your project and use npx
14
- npm install @slope-dev/slope
15
- npx slope init
16
-
17
- # Initialize in your project (auto-detects your AI tool)
21
+ # Initialize (auto-detects your AI coding tool)
18
22
  slope init
19
23
 
20
- # Or specify your platform
21
- slope init --claude-code
22
- slope init --cursor
23
- slope init --opencode
24
-
25
24
  # View your handicap card
26
25
  slope card
27
-
28
- # Get a pre-sprint briefing
29
- slope briefing
30
-
31
- # Generate an HTML performance report
32
- slope report --html
33
26
  ```
34
27
 
35
- > **Note:** If installed locally (without `-g`), prefix commands with `npx` — e.g., `npx slope card`.
28
+ > Installed locally? Use `npx slope` instead.
36
29
 
37
- ## What is SLOPE?
30
+ ## Core Concepts
38
31
 
39
- SLOPE maps sprint execution to a scoring metaphor. Every sprint has a **par** (expected ticket count), every ticket is a **shot** with an approach complexity and outcome. Over time, your **handicap** reveals patterns: Do you over-engineer? Under-scope? Pick the wrong approach?
32
+ Every sprint has a **par** (expected baseline from ticket count: 1–2 → par 3, 3–4 → par 4, 5+ → par 5). Each ticket is a **shot** with an approach complexity (**club**: driver → putter) and an outcome (**result**: in_the_hole → missed). Over time, your **handicap card** shows rolling averages, miss patterns, and trend direction.
40
33
 
41
- SLOPE provides:
42
- - **Scorecards** — structured sprint retros with quantified outcomes
43
- - **Handicap tracking** rolling performance windows (last 5, 10, all-time)
44
- - **Dispersion analysis** miss pattern detection and systemic issue identification
45
- - **Training recommendations** data-driven improvement suggestions
46
- - **Agent guidance hooks** real-time hints for AI coding agents
47
- - **HTML reports** self-contained visual performance dashboards
48
- - **Multi-platform support** Claude Code, Cursor, OpenCode
34
+ | Concept | What it measures |
35
+ |---------|-----------------|
36
+ | Par | Expected sprint baseline (from ticket count) |
37
+ | Slope | Difficulty modifier (cross-package, migrations, etc.) |
38
+ | Club | Approach complexity (driver = risky, putter = trivial) |
39
+ | Result | Outcome (in_the_hole = perfect, missed_long = over-engineered) |
40
+ | Hazard | Gotchas encountered (bunker, water, rough, trees) |
41
+ | Handicap| Rolling performance trend across sprints |
49
42
 
50
- ## Metaphors
51
-
52
- SLOPE ships with 6 built-in metaphors. The scoring math is identical — only the terminology changes.
53
-
54
- | Metaphor | Sprint | Ticket | Perfect | Par | Miss |
55
- |----------|--------|--------|---------|-----|------|
56
- | **Golf** (default) | Sprint | Shot | Hole-in-One | Par | Missed Long/Short/Left/Right |
57
- | **Tennis** | Set | Point | Ace | Deuce | Wide/Net/Long/Out |
58
- | **Baseball** | Inning | At-Bat | Home Run | Single | Foul/Strike/Pop/Ground |
59
- | **Gaming** | Level | Quest | S-Rank | B-Rank | Over-leveled/Under-leveled/Wrong Path/Side-tracked |
60
- | **D&D** | Quest | Encounter | Natural 20 | DC Met | Fumble/Misfire/Detour/Distraction |
61
- | **Matrix** | Simulation | Anomaly | The One | Stable | Overclocked/Underclocked/Drift/Noise |
43
+ ## Features
62
44
 
63
- Configure in `.slope/config.json`:
45
+ ### Scoring & Analysis
46
+ - **Scorecards** — structured JSON retros with shot-by-shot tracking
47
+ - **Handicap card** — rolling windows (last 5, 10, all-time) with trend arrows
48
+ - **Dispersion analysis** — miss pattern heatmaps and area performance
49
+ - **HTML reports** — self-contained visual dashboards with charts
50
+ - **Auto-card** — generate draft scorecards from git commits + CI signals
51
+
52
+ ### Planning & Workflow
53
+ - **Briefings** — pre-sprint hazard index, nutrition alerts, filtered gotchas
54
+ - **Sessions & claims** — track who's working on what, detect conflicts
55
+ - **Roadmap tools** — validate dependencies, find critical path, parallel opportunities
56
+ - **Club advisor** — complexity recommendations based on historical performance
57
+
58
+ ### AI Agent Guidance
59
+ - **16 guard hooks** — real-time hints injected into agent context
60
+ - **MCP server** — search API functions and execute SLOPE commands from your agent
61
+ - **5 platform adapters** — Claude Code, Cursor, Windsurf, Cline, OpenCode
62
+ - **Codebase map** — auto-generated index for agent navigation
63
+
64
+ ### Team & Multi-Developer
65
+ - **Team handicap** — aggregate performance across team members
66
+ - **Leaderboard** — multi-developer performance ranking
67
+ - **Standups** — structured standup reports with handoff tracking
68
+ - **Escalation** — severity-based alerts for blocked work
69
+
70
+ ## Platform Compatibility
71
+
72
+ | Platform | Rules | Hooks | MCP | Session Tracking |
73
+ |-------------|-------|-------|-----|------------------|
74
+ | Claude Code | .claude/rules/ | .claude/hooks/ | .mcp.json | Auto (hooks) |
75
+ | Cursor | .cursor/rules/ | .cursor/hooks/ | .cursor/mcp.json | Auto (hooks) |
76
+ | Windsurf | .windsurf/rules/ | .windsurf/hooks/ | .windsurf/mcp.json | Auto (hooks) |
77
+ | Cline | .clinerules/ | .clinerules/hooks/ | Manual setup | Auto (hooks) |
78
+ | OpenCode | AGENTS.md | Plugin | opencode.json | Auto (plugin) |
64
79
 
65
- ```json
66
- { "metaphor": "gaming" }
80
+ ```bash
81
+ slope init --claude-code # or --cursor, --windsurf, --cline, --opencode, --all
67
82
  ```
68
83
 
69
- Or per-command: `slope review --metaphor=tennis`
84
+ ## CLI Quick Reference
70
85
 
71
- ## Package
86
+ ### Setup & Config
72
87
 
73
- Published as a single package: [`@slope-dev/slope`](https://www.npmjs.com/package/@slope-dev/slope)
74
-
75
- Includes the core scoring engine, SQLite store, CLI (30 commands), and MCP server.
76
-
77
- ## CLI Commands
88
+ | Command | Description |
89
+ |---------|-------------|
90
+ | `slope init` | Initialize SLOPE (auto-detects platform) |
91
+ | `slope init --interactive --smart` | Guided setup with repo analysis |
92
+ | `slope hook add --level=full` | Install all guidance hooks |
93
+ | `slope map` | Generate/update codebase map |
78
94
 
79
- ### Scoring & Analysis
95
+ ### Scoring
80
96
 
81
97
  | Command | Description |
82
98
  |---------|-------------|
83
- | `slope card` | Display handicap card with rolling windows |
99
+ | `slope card` | Display handicap card |
84
100
  | `slope validate [path]` | Validate scorecard(s) |
85
- | `slope review [path] [--plain] [--metaphor=id]` | Format sprint review as markdown |
86
- | `slope review recommend` | Recommend review types for current sprint |
87
- | `slope review findings add\|list\|clear` | Track implementation review findings |
88
- | `slope review amend [--sprint=N]` | Apply review findings as hazards and recalculate score |
89
- | `slope report --html [--output=path] [--metaphor=id]` | Generate HTML performance report |
90
- | `slope tournament --id=<id> --sprints=N..M` | Build tournament review from sprint range |
91
- | `slope auto-card --sprint=N [--ci=path]` | Generate scorecard from git + CI signals |
101
+ | `slope review [path]` | Generate sprint review markdown |
102
+ | `slope report --html` | Generate HTML performance report |
103
+ | `slope auto-card --sprint=N` | Generate scorecard from git + CI |
104
+ | `slope dashboard` | Live local performance dashboard |
92
105
 
93
- ### Planning & Guidance
106
+ ### Planning
94
107
 
95
108
  | Command | Description |
96
109
  |---------|-------------|
97
- | `slope briefing [--sprint=N] [--categories=...] [--keywords=...]` | Pre-sprint briefing |
110
+ | `slope briefing` | Pre-sprint briefing with hazards and gotchas |
98
111
  | `slope plan --complexity=<level>` | Club recommendation + training plan |
99
- | `slope classify --scope=... --modified=... --tests=pass` | Classify a shot from execution trace |
100
112
  | `slope next` | Show next sprint number |
101
- | `slope roadmap validate\|review\|status\|show` | Strategic planning tools |
102
-
103
- ### Sessions & Claims
104
-
105
- | Command | Description |
106
- |---------|-------------|
107
- | `slope session start\|end\|heartbeat\|list` | Manage live sessions |
108
- | `slope claim --target=<t> [--scope=area] [--force]` | Claim a ticket or area |
109
- | `slope release --id=<id>` | Release a claim |
110
- | `slope status [--sprint=N]` | Show sprint course status + conflicts |
113
+ | `slope roadmap validate` | Validate roadmap dependencies |
111
114
 
112
- ### Agent Hooks
115
+ ### Sessions
113
116
 
114
117
  | Command | Description |
115
118
  |---------|-------------|
116
- | `slope hook add\|remove\|list\|show` | Manage lifecycle hooks |
117
- | `slope hook add --level=full` | Install all guidance hooks |
118
- | `slope guard list\|enable\|disable` | Manage guard activation |
119
- | `slope guard <name>` | Run a guard handler (stdin/stdout) |
119
+ | `slope session start\|end\|list` | Manage live sessions |
120
+ | `slope claim --target=<t>` | Claim a ticket or area |
121
+ | `slope release --target=<t>` | Release a claim |
122
+ | `slope status` | Sprint status + conflicts |
120
123
 
121
- ### Setup
124
+ ### Maintenance
122
125
 
123
126
  | Command | Description |
124
127
  |---------|-------------|
125
- | `slope init` | Create `.slope/` directory with config |
126
- | `slope init --claude-code` | Install Claude Code rules, hooks, MCP config |
127
- | `slope init --cursor` | Install Cursor rules + MCP config |
128
- | `slope init --opencode` | Install OpenCode AGENTS.md + plugin |
129
- | `slope init --all` | Install for all detected platforms |
130
- | `slope extract --file=<path>` | Extract events into SLOPE store |
131
- | `slope distill [--auto]` | Promote event patterns to common issues |
132
-
133
- ## Platform Setup
134
-
135
- ### Claude Code
128
+ | `slope extract --file=<path>` | Extract events into store |
129
+ | `slope distill` | Promote patterns to common issues |
130
+ | `slope store health\|backup\|restore` | Store diagnostics and management |
131
+ | `slope flows init\|list\|check` | Manage user flow definitions |
136
132
 
137
- ```bash
138
- slope init --claude-code
139
- ```
133
+ ## Metaphors
140
134
 
141
- Installs:
142
- - `.claude/rules/` — Sprint checklist, commit discipline, review loop
143
- - `.claude/hooks/` — Guard dispatcher for real-time guidance
144
- - `.mcp.json` — SLOPE MCP server config
145
- - `CLAUDE.md` — Project context
135
+ 7 built-in metaphors — same scoring math, different vocabulary:
146
136
 
147
- ### Cursor
137
+ | Metaphor | Sprint | Ticket | Perfect | On Target |
138
+ |----------|--------|--------|---------|-----------|
139
+ | **Golf** (default) | Sprint | Shot | Hole-in-One | Par |
140
+ | **Tennis** | Set | Point | Ace | Deuce |
141
+ | **Baseball** | Inning | At-Bat | Home Run | Single |
142
+ | **Gaming** | Level | Quest | S-Rank | B-Rank |
143
+ | **D&D** | Quest | Encounter | Natural 20 | DC Met |
144
+ | **Matrix** | Simulation | Anomaly | The One | Stable |
145
+ | **Agile** | Sprint | Story | Shipped | Accepted |
148
146
 
149
147
  ```bash
150
- slope init --cursor
148
+ slope init --metaphor=gaming # Set during init
149
+ slope card --metaphor=tennis # Override per-command
151
150
  ```
152
151
 
153
- Installs:
154
- - `.cursor/rules/` — SLOPE methodology rules
155
- - `.cursor/mcp.json` — MCP server config
152
+ ## Documentation
156
153
 
157
- ### OpenCode
158
-
159
- ```bash
160
- slope init --opencode
161
- ```
162
-
163
- Installs:
164
- - `AGENTS.md` — SLOPE methodology (OpenCode reads this format)
165
- - `.opencode/plugins/slope-plugin.ts` — Event capture plugin
166
-
167
- ## Agent Guidance Hooks
168
-
169
- SLOPE can guide AI agents in real-time via hook integration. 15 guards provide contextual hints:
170
-
171
- | Guard | Trigger | What it does |
172
- |-------|---------|-------------|
173
- | `explore` | Before search/read | Suggests checking codebase index first |
174
- | `hazard` | Before file edit | Warns about known issues in the area |
175
- | `commit-nudge` | After file edit | Nudges commit/push after prolonged editing |
176
- | `scope-drift` | Before file edit | Warns when editing outside claimed scope |
177
- | `compaction` | Before context compact | Saves checkpoint to store |
178
- | `stop-check` | Before session end | Blocks if uncommitted/unpushed work exists |
179
- | `next-action` | Before session end | Suggests next actions based on sprint state |
180
- | `subagent-gate` | Before task spawn | Enforces model and turn limits on subagents |
181
- | `push-nudge` | After tool use | Nudges push after prolonged period without pushing |
182
- | `workflow-gate` | Before tool use | Enforces sprint workflow compliance |
183
- | `review-tier` | Before tool use | Suggests review tier based on sprint complexity |
184
- | `version-check` | Before tool use | Warns when SLOPE version is outdated |
185
- | `stale-flows` | Before file edit | Warns when editing files in stale flow definitions |
186
- | `pr-review` | After tool use | Suggests PR review actions |
187
- | `transcript` | After tool use | Captures session transcript data |
188
-
189
- Install all guards:
190
-
191
- ```bash
192
- slope hook add --level=full
193
- ```
194
-
195
- Guards are non-blocking hints (except `stop-check`) — they inject context, never deny actions.
196
-
197
- ## Configuration
198
-
199
- After `slope init`, configure `.slope/config.json`:
200
-
201
- ```json
202
- {
203
- "scorecardDir": "docs/retros",
204
- "scorecardPattern": "sprint-*.json",
205
- "minSprint": 1,
206
- "metaphor": "golf",
207
- "commonIssuesPath": ".slope/common-issues.json",
208
- "sessionsPath": ".slope/sessions.json",
209
- "roadmapPath": "docs/backlog/roadmap.json",
210
- "guidance": {
211
- "disabled": [],
212
- "commitInterval": 15,
213
- "pushInterval": 30
214
- }
215
- }
216
- ```
154
+ - **[Getting Started](docs/getting-started.md)** — installation, setup, core concepts, platform guides
155
+ - **[Tutorial: First Sprint](docs/tutorial-first-sprint.md)** — end-to-end walkthrough with example scorecard
156
+ - **[Framework Reference](docs/framework.md)** — full scoring system specification
157
+ - **[Dashboard Guide](docs/guides/dashboard.md)** — live performance dashboard
158
+ - **[Multi-Developer Guide](docs/guides/multi-developer.md)** — team handicap and leaderboard
159
+ - **[Cline Setup](docs/guides/cline-setup.md)** — Cline-specific configuration
160
+ - **[Scorecard Template](docs/scorecard-template.md)** — field-by-field reference
217
161
 
218
162
  ## Core API
219
163
 
@@ -224,38 +168,23 @@ import {
224
168
  computeHandicapCard,
225
169
  computeDispersion,
226
170
  formatSprintReview,
227
- recommendClub,
228
- classifyShot,
229
- generateTrainingPlan,
230
171
  buildReportData,
231
172
  generateHtmlReport,
232
- getMetaphor,
233
173
  loadScorecards,
234
- recommendReviews,
235
- findingToHazard,
236
- amendScorecardWithFindings,
174
+ getMetaphor,
237
175
  } from '@slope-dev/slope';
238
-
239
- // Build a scorecard
240
- const card = buildScorecard({
241
- sprint_number: 1,
242
- theme: 'My First Sprint',
243
- par: 3,
244
- slope: 0,
245
- date: '2026-02-22',
246
- shots: [
247
- { ticket_key: 'S1-1', title: 'Setup', club: 'short_iron', result: 'green', hazards: [] },
248
- { ticket_key: 'S1-2', title: 'Feature', club: 'short_iron', result: 'in_the_hole', hazards: [] },
249
- { ticket_key: 'S1-3', title: 'Tests', club: 'wedge', result: 'green', hazards: [] },
250
- ],
251
- });
252
-
253
- // Generate HTML report with gaming metaphor
254
- const data = buildReportData([card]);
255
- const gaming = getMetaphor('gaming');
256
- const html = generateHtmlReport(data, gaming);
257
176
  ```
258
177
 
178
+ Published as [`@slope-dev/slope`](https://www.npmjs.com/package/@slope-dev/slope) — includes the scoring engine, SQLite store, CLI (30 commands), and MCP server.
179
+
180
+ ## Contributing
181
+
182
+ 1. Fork and clone
183
+ 2. `pnpm install && pnpm build`
184
+ 3. `pnpm test` — runs all tests
185
+ 4. `pnpm typecheck` — type checking
186
+ 5. Create a feature branch, make changes, submit a PR
187
+
259
188
  ## License
260
189
 
261
190
  MIT
@@ -0,0 +1,15 @@
1
+ import './core/adapters/claude-code.js';
2
+ import './core/adapters/cursor.js';
3
+ import './core/adapters/windsurf.js';
4
+ import './core/adapters/cline.js';
5
+ import './core/adapters/generic.js';
6
+ export { registerAdapter, getAdapter, listAdapters, detectAdapter, clearAdapters, resolveToolMatcher, ADAPTER_PRIORITY, TOOL_CATEGORIES, CLAUDE_CODE_TOOLS } from './core/harness.js';
7
+ export type { HarnessAdapter, HarnessId, ToolCategory, ToolNameMap } from './core/harness.js';
8
+ export { ClaudeCodeAdapter, claudeCodeAdapter } from './core/adapters/claude-code.js';
9
+ export { CursorAdapter, cursorAdapter } from './core/adapters/cursor.js';
10
+ export { WindsurfAdapter, windsurfAdapter } from './core/adapters/windsurf.js';
11
+ export { ClineAdapter, clineAdapter } from './core/adapters/cline.js';
12
+ export { GenericAdapter, genericAdapter } from './core/adapters/generic.js';
13
+ export type { ClineHookOutput } from './core/adapters/cline.js';
14
+ export type { GuardManifestEntry } from './core/adapters/generic.js';
15
+ //# sourceMappingURL=adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAIA,OAAO,gCAAgC,CAAC;AACxC,OAAO,2BAA2B,CAAC;AACnC,OAAO,6BAA6B,CAAC;AACrC,OAAO,0BAA0B,CAAC;AAClC,OAAO,4BAA4B,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtL,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5E,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,17 @@
1
+ // SLOPE Adapter Barrel — lightweight subpath export for `@slope-dev/slope/adapters`.
2
+ // Consumers can import adapter framework functions + types without pulling in the entire core.
3
+ // Side-effect imports: ensure all adapters are registered
4
+ import './core/adapters/claude-code.js';
5
+ import './core/adapters/cursor.js';
6
+ import './core/adapters/windsurf.js';
7
+ import './core/adapters/cline.js';
8
+ import './core/adapters/generic.js';
9
+ // Framework functions
10
+ export { registerAdapter, getAdapter, listAdapters, detectAdapter, clearAdapters, resolveToolMatcher, ADAPTER_PRIORITY, TOOL_CATEGORIES, CLAUDE_CODE_TOOLS } from './core/harness.js';
11
+ // Adapter classes + singletons
12
+ export { ClaudeCodeAdapter, claudeCodeAdapter } from './core/adapters/claude-code.js';
13
+ export { CursorAdapter, cursorAdapter } from './core/adapters/cursor.js';
14
+ export { WindsurfAdapter, windsurfAdapter } from './core/adapters/windsurf.js';
15
+ export { ClineAdapter, clineAdapter } from './core/adapters/cline.js';
16
+ export { GenericAdapter, genericAdapter } from './core/adapters/generic.js';
17
+ //# sourceMappingURL=adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,+FAA+F;AAE/F,0DAA0D;AAC1D,OAAO,gCAAgC,CAAC;AACxC,OAAO,2BAA2B,CAAC;AACnC,OAAO,6BAA6B,CAAC;AACrC,OAAO,0BAA0B,CAAC;AAClC,OAAO,4BAA4B,CAAC;AAEpC,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAKtL,+BAA+B;AAC/B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,4 +1,23 @@
1
1
  import type { HookInput, GuardResult, GuardName } from '../../core/index.js';
2
+ import '../../core/adapters/claude-code.js';
3
+ import '../../core/adapters/cursor.js';
4
+ import '../../core/adapters/windsurf.js';
5
+ import '../../core/adapters/generic.js';
6
+ /**
7
+ * Static map of which hook events each harness supports.
8
+ * @deprecated Use `adapter.supportedEvents` instead. Will be removed in a future version.
9
+ */
10
+ export declare const HARNESS_EVENT_SUPPORT: Record<string, Set<string>>;
11
+ /**
12
+ * Check if a hook event is supported by a given harness. Unknown harnesses default to supported.
13
+ * @deprecated Use `adapter.supportedEvents.has(event)` instead. Will be removed in a future version.
14
+ */
15
+ export declare function isEventSupported(harnessId: string, hookEvent: string): boolean;
16
+ /**
17
+ * Get the hooks config file path for a given harness. Returns null for unknown harnesses.
18
+ * @deprecated Use `adapter.hooksConfigPath(cwd)` instead. Will be removed in a future version.
19
+ */
20
+ export declare function getHooksConfigPath(cwd: string, harnessId: string): string | null;
2
21
  type GuardHandler = (input: HookInput, cwd: string) => Promise<GuardResult>;
3
22
  /** Register a guard handler */
4
23
  export declare function registerGuard(name: GuardName, handler: GuardHandler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAkBjG,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAoB5E,+BAA+B;AAC/B,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAE1E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0FhE;AAuCD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDtE"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/guard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAoBjG,OAAO,oCAAoC,CAAC;AAC5C,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,gCAAgC,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAK7D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOhF;AAED,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAqB5E,+BAA+B;AAC/B,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAE1E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0FhE;AAwCD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGtE"}
@@ -1,4 +1,6 @@
1
- import { GUARD_DEFINITIONS, formatPreToolUseOutput, formatPostToolUseOutput, formatStopOutput, getAllGuardDefinitions, getCustomGuard, loadPluginGuards } from '../../core/index.js';
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { GUARD_DEFINITIONS, formatPreToolUseOutput, formatPostToolUseOutput, formatStopOutput, getAllGuardDefinitions, getCustomGuard, loadPluginGuards, detectAdapter } from '../../core/index.js';
2
4
  import { loadConfig } from '../config.js';
3
5
  import { exploreGuard } from '../guards/explore.js';
4
6
  import { hazardGuard } from '../guards/hazard.js';
@@ -14,7 +16,42 @@ import { versionCheckGuard } from '../guards/version-check.js';
14
16
  import { nextActionGuard } from '../guards/next-action.js';
15
17
  import { prReviewGuard } from '../guards/pr-review.js';
16
18
  import { transcriptGuard } from '../guards/transcript.js';
19
+ import { branchBeforeCommitGuard } from '../guards/branch-before-commit.js';
17
20
  import { execSync } from 'node:child_process';
21
+ // Side-effect imports: ensure all adapters are registered for detectAdapter()
22
+ import '../../core/adapters/claude-code.js';
23
+ import '../../core/adapters/cursor.js';
24
+ import '../../core/adapters/windsurf.js';
25
+ import '../../core/adapters/generic.js';
26
+ /**
27
+ * Static map of which hook events each harness supports.
28
+ * @deprecated Use `adapter.supportedEvents` instead. Will be removed in a future version.
29
+ */
30
+ export const HARNESS_EVENT_SUPPORT = {
31
+ 'claude-code': new Set(['PreToolUse', 'PostToolUse', 'Stop', 'PreCompact']),
32
+ 'cursor': new Set(['PreToolUse', 'PostToolUse', 'Stop']),
33
+ 'windsurf': new Set(['PreToolUse', 'PostToolUse']),
34
+ 'generic': new Set(['PreToolUse', 'PostToolUse', 'Stop']),
35
+ };
36
+ /**
37
+ * Check if a hook event is supported by a given harness. Unknown harnesses default to supported.
38
+ * @deprecated Use `adapter.supportedEvents.has(event)` instead. Will be removed in a future version.
39
+ */
40
+ export function isEventSupported(harnessId, hookEvent) {
41
+ return HARNESS_EVENT_SUPPORT[harnessId]?.has(hookEvent) ?? true;
42
+ }
43
+ /**
44
+ * Get the hooks config file path for a given harness. Returns null for unknown harnesses.
45
+ * @deprecated Use `adapter.hooksConfigPath(cwd)` instead. Will be removed in a future version.
46
+ */
47
+ export function getHooksConfigPath(cwd, harnessId) {
48
+ switch (harnessId) {
49
+ case 'claude-code': return join(cwd, '.claude', 'settings.json');
50
+ case 'cursor': return join(cwd, '.cursor', 'hooks.json');
51
+ case 'windsurf': return join(cwd, '.windsurf', 'hooks.json');
52
+ default: return null;
53
+ }
54
+ }
18
55
  /** Registry of guard handler implementations */
19
56
  const handlers = {
20
57
  explore: exploreGuard,
@@ -31,6 +68,7 @@ const handlers = {
31
68
  'next-action': nextActionGuard,
32
69
  'pr-review': prReviewGuard,
33
70
  transcript: transcriptGuard,
71
+ 'branch-before-commit': branchBeforeCommitGuard,
34
72
  };
35
73
  /** Register a guard handler */
36
74
  export function registerGuard(name, handler) {
@@ -152,6 +190,7 @@ slope guard — Execute a SLOPE guidance hook
152
190
  Usage:
153
191
  slope guard <name> Run a guard (reads hook JSON from stdin)
154
192
  slope guard list Show all available guards
193
+ slope guard status Show per-harness guard installation state
155
194
  slope guard enable <name> Enable a disabled guard
156
195
  slope guard disable <name> Disable a guard
157
196
 
@@ -187,6 +226,55 @@ export async function guardManageCommand(args) {
187
226
  console.log('');
188
227
  break;
189
228
  }
229
+ case 'status': {
230
+ const adapter = detectAdapter(cwd);
231
+ const harnessId = adapter?.id ?? 'unknown';
232
+ const harnessName = adapter?.displayName ?? 'Unknown';
233
+ console.log(`\nDetected harness: ${harnessName} (${harnessId})`);
234
+ // Show hooks config path + entry count
235
+ const configPath = adapter?.hooksConfigPath(cwd) ?? null;
236
+ if (configPath && existsSync(configPath)) {
237
+ try {
238
+ const raw = JSON.parse(readFileSync(configPath, 'utf8'));
239
+ const count = harnessId === 'claude-code'
240
+ ? Object.keys(raw.hooks ?? {}).reduce((n, k) => n + (Array.isArray(raw.hooks[k]) ? raw.hooks[k].length : 0), 0)
241
+ : Array.isArray(raw.hooks) ? raw.hooks.length : 0;
242
+ console.log(`Hooks config: ${configPath} (${count} entries)`);
243
+ }
244
+ catch {
245
+ console.log(`Hooks config: ${configPath} (unreadable)`);
246
+ }
247
+ }
248
+ else if (configPath) {
249
+ console.log(`Hooks config: ${configPath} (not found)`);
250
+ }
251
+ else {
252
+ console.log('Hooks config: N/A');
253
+ }
254
+ // Show guard table
255
+ const statusConfig = loadConfig();
256
+ const statusDisabled = statusConfig.guidance?.disabled ?? [];
257
+ loadPluginGuards(cwd, statusConfig.plugins);
258
+ console.log('\nGuards:\n');
259
+ for (const d of getAllGuardDefinitions()) {
260
+ const disabled = statusDisabled.includes(d.name);
261
+ const supported = adapter?.supportedEvents.has(d.hookEvent) ?? true;
262
+ const marker = disabled ? '[-]' : !supported ? '[~]' : '[+]';
263
+ const state = disabled ? 'disabled' : !supported ? 'unsupported' : 'active';
264
+ console.log(` ${marker} ${d.name.padEnd(22)} ${d.hookEvent.padEnd(13)} ${state}`);
265
+ }
266
+ // Show capabilities
267
+ const hasContext = adapter?.supportsContextInjection ?? false;
268
+ const hasStop = adapter?.supportedEvents.has('Stop') ?? false;
269
+ const hasPreCompact = adapter?.supportedEvents.has('PreCompact') ?? false;
270
+ console.log('\nCapabilities:');
271
+ console.log(` Context injection: ${hasContext ? 'yes' : 'no'}`);
272
+ console.log(` Block/deny: yes`); // All harnesses can block
273
+ console.log(` Stop event: ${hasStop ? 'yes' : 'no'}`);
274
+ console.log(` PreCompact: ${hasPreCompact ? 'yes' : 'no'}`);
275
+ console.log('\nLegend: [+] active [-] disabled [~] unsupported by harness\n');
276
+ break;
277
+ }
190
278
  case 'enable':
191
279
  case 'disable': {
192
280
  if (!name) {
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/cli/commands/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/cli/commands/guard.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
+ import '../../core/adapters/claude-code.js';
2
+ import '../../core/adapters/cursor.js';
3
+ import '../../core/adapters/windsurf.js';
4
+ import '../../core/adapters/cline.js';
5
+ import '../../core/adapters/generic.js';
1
6
  export declare function hookCommand(args: string[]): Promise<void>;
2
7
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"AAqFA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC/D"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"AAMA,OAAO,oCAAoC,CAAC;AAC5C,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,8BAA8B,CAAC;AACtC,OAAO,gCAAgC,CAAC;AAmFxC,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC/D"}