@kennethsolomon/shipkit 3.3.0 → 3.5.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/README.md CHANGED
@@ -100,7 +100,7 @@ Brainstorm → Plan → Branch → [Schema] → Write Tests → Implement → Co
100
100
  | 17 | `/sk:smart-commit` | Auto-skip if already clean |
101
101
  | 18 | **`/sk:perf`** | **GATE** *(optional)* — critical/high findings = 0 |
102
102
  | 19 | `/sk:smart-commit` | Auto-skip if already clean |
103
- | 20 | **`/sk:review`** | **GATE** — Review + Simplify — 0 issues including nitpicks |
103
+ | 20 | **`/sk:review`** | **GATE** — Review + Simplify + Blast Radius — 0 issues including nitpicks |
104
104
  | 21 | `/sk:smart-commit` | Auto-skip if already clean |
105
105
  | 22 | **`/sk:e2e`** | **GATE** — E2E Tests — prefers Playwright CLI when config detected, falls back to agent-browser; all scenarios must pass |
106
106
  | 23 | `/sk:smart-commit` | Auto-skip if already clean |
@@ -211,7 +211,7 @@ Requirement changes → /sk:change → re-enter at correct step
211
211
  | `/sk:security-check` | OWASP security audit across changed code |
212
212
  | `/sk:perf` | Performance audit: bundle size, N+1 queries, Core Web Vitals |
213
213
  | `/sk:seo-audit` | SEO audit — dual-mode (source templates + dev server), ask-before-fix, checklist output to `tasks/seo-findings.md` |
214
- | `/sk:review` | Rigorous self-review across 7 dimensions |
214
+ | `/sk:review` | Blast-radius-aware self-review across 7 dimensions + cross-file impact analysis |
215
215
 
216
216
  ### Shipping
217
217
 
@@ -243,6 +243,7 @@ Requirement changes → /sk:change → re-enter at correct step
243
243
  |---------|-------------|
244
244
  | `/sk:help` | Show all commands and workflow overview |
245
245
  | `/sk:status` | Show workflow and task status at a glance |
246
+ | `/sk:dashboard` | Read-only workflow Kanban board — localhost server, multi-worktree |
246
247
  | `/sk:skill-creator` | Create or improve ShipKit skills |
247
248
 
248
249
  ---
@@ -33,7 +33,7 @@ Run these commands in order for a complete, quality-gated feature build.
33
33
  | `/sk:lint` | **GATE** — all linters must pass |
34
34
  | `/sk:test` | **GATE** — 100% coverage on new code |
35
35
  | `/sk:security-check` | **GATE** — 0 security issues |
36
- | `/sk:review` | **GATE** — self-review across 7 dimensions |
36
+ | `/sk:review` | **GATE** — blast-radius-aware self-review across 7 dimensions + cross-file impact |
37
37
  | `/sk:update-task` | Mark task done, log completion |
38
38
  | `/sk:finish-feature` | Changelog + PR creation |
39
39
 
@@ -80,7 +80,7 @@ Requirements change mid-workflow? Run `/sk:change` — it classifies the scope a
80
80
  | `/sk:perf` | Performance audit |
81
81
  | `/sk:plan` | Create/refresh task planning files |
82
82
  | `/sk:release` | Automate releases: bump version, update CHANGELOG, create tag, push to GitHub. Use --android and/or --ios flags for App Store / Play Store readiness audit |
83
- | `/sk:review` | Self-review of branch changes |
83
+ | `/sk:review` | Blast-radius-aware self-review of branch changes |
84
84
  | `/sk:schema-migrate` | Multi-ORM schema change analysis |
85
85
  | `/sk:security-check` | OWASP security audit |
86
86
  | `/sk:setup-claude` | Bootstrap project scaffolding |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kennethsolomon/shipkit",
3
- "version": "3.3.0",
3
+ "version": "3.5.0",
4
4
  "description": "A structured workflow toolkit for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: sk:dashboard
3
+ description: Read-only workflow Kanban board — localhost server showing workflow status across git worktrees
4
+ license: Complete terms in LICENSE.txt
5
+ ---
6
+
7
+ # /sk:dashboard
8
+
9
+ ## Purpose
10
+
11
+ Read-only Kanban board that visualizes workflow progress across all git worktrees in a project. Runs as a standalone localhost server — no workflow integration required. Use it anytime you want a visual overview of where each worktree stands in the workflow.
12
+
13
+ ## How to Start
14
+
15
+ ```bash
16
+ node skills/sk:dashboard/server.js
17
+ ```
18
+
19
+ Opens on `http://localhost:3333`. Stop with `Ctrl+C`.
20
+
21
+ Override the port:
22
+
23
+ ```bash
24
+ node skills/sk:dashboard/server.js --port 4000
25
+ # or
26
+ PORT=4000 node skills/sk:dashboard/server.js
27
+ ```
28
+
29
+ ## What It Shows
30
+
31
+ - **Swimlanes per worktree** — one row per worktree discovered via `git worktree list`
32
+ - **Phase timeline** — workflow steps laid out as columns (Read, Explore, Plan, Branch, Tests, Implement, Lint, Verify, Security, Review, E2E, Finalize)
33
+ - **Status indicators** — done, skipped, partial, in-progress, not yet
34
+ - **Progress bars** — percentage of steps completed per worktree
35
+ - **Current task** — the active task name from `tasks/todo.md`
36
+
37
+ ## Architecture
38
+
39
+ Zero-dependency Node.js server. Uses only built-in modules (`http`, `fs`, `path`, `child_process`).
40
+
41
+ - `server.js` serves the dashboard HTML and exposes `/api/status`
42
+ - `/api/status` reads `tasks/workflow-status.md` and `tasks/todo.md` from each worktree, parses step statuses, and returns JSON
43
+ - `dashboard.html` is a single-file UI (HTML + embedded CSS + JS) that polls `/api/status` every 3 seconds
44
+ - Worktree discovery via `git worktree list`
45
+
46
+ ## Key Details
47
+
48
+ - Read-only — does not modify any files
49
+ - Auto-discovers worktrees via `git worktree list`
50
+ - Graceful degradation: missing files show empty state, offline falls back to system fonts
51
+ - Default port 3333, configurable via `--port` flag or `PORT` env var
52
+ - Uses only Node.js built-in modules (http, fs, path, child_process)
53
+
54
+ ## Files
55
+
56
+ - `server.js` — Node.js HTTP server (~150 lines)
57
+ - `dashboard.html` — Single-file Kanban UI (HTML + embedded CSS + JS)
58
+
59
+ ## Model Routing
60
+
61
+ Read `.shipkit/config.json` from the project root if it exists.
62
+
63
+ - If `model_overrides["sk:dashboard"]` is set, use that model — it takes precedence.
64
+ - Otherwise use the `profile` field. Default: `balanced`.
65
+
66
+ | Profile | Model |
67
+ |---------|-------|
68
+ | `full-sail` | sonnet |
69
+ | `quality` | sonnet |
70
+ | `balanced` | sonnet |
71
+ | `budget` | haiku |