soloship 0.1.3 → 0.3.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.
Files changed (3) hide show
  1. package/README.md +17 -14
  2. package/dist/hooks.js +36 -8
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Ship solo, safely.
4
4
 
5
- Soloship is guardrails for non-coders building software through AI agents. It's a Claude Code plugin that gives you three things a traditional engineering team would: **mechanical enforcement** that fires automatically (9 hooks, 4 rules, CI checks — no judgment calls required), **15 Soloship-native workflow skills + 36 vendored skills from five best-in-class plugins** that guide you through the steps a professional would take (each with enforcement gates and anti-rationalization tables so the agent can't cut corners), and **a one-command setup** that detects your stack and wires everything into the project.
5
+ Soloship is guardrails for non-coders building software through AI agents. It's a Claude Code plugin that gives you three things a traditional engineering team would: **mechanical enforcement** that fires automatically (9 hooks, 4 rules, CI checks — no judgment calls required), **16 Soloship workflow skills + 35 vendored skills from five best-in-class plugins** (51 skills total) that guide you through the steps a professional would take (each with enforcement gates and anti-rationalization tables so the agent can't cut corners), and **a one-command setup** that detects your stack and wires everything into the project.
6
6
 
7
7
  **Quick reference:** [aifoundationlevels.com/soloship-cheatsheet](https://aifoundationlevels.com/soloship-cheatsheet)
8
8
 
@@ -76,7 +76,7 @@ After bootstrap, the daily loop is `/soloship:brainstorm` → `/soloship:plan`
76
76
  After install, every Claude Code session checks once a day whether a new Soloship version has been published. When one is, you'll see a single line at the top of the session:
77
77
 
78
78
  ```
79
- Soloship update available: 0.1.0 → 0.1.2. Run: npx soloship upgrade
79
+ Soloship update available: 0.1.2 → 0.1.3. Run: npx soloship upgrade
80
80
  ```
81
81
 
82
82
  Run that command from your project root whenever you see it. It refreshes hooks, rules, and CI, then re-stamps the version. Your project docs (`CLAUDE.md`, `AGENTS.md`, `CHANGELOG.md`) are preserved.
@@ -121,6 +121,7 @@ Some skills are fully self-contained — the logic lives entirely in the SKILL.m
121
121
  | `/onboard` | Reads all project docs, produces orientation briefing |
122
122
  | `/shipfast` | Lint → test → build → commit → push → deploy |
123
123
  | `/cleanup` | 5 audit agents → interactive proposals → atomic execution |
124
+ | `/finish` | Merge / PR / cleanup decision tree when implementation is complete (renamed from Superpowers' `finishing-a-development-branch`, vendored under MIT) |
124
125
 
125
126
  Others are routers — Soloship adds enforcement and routing logic, then dispatches to an external skill:
126
127
 
@@ -134,12 +135,7 @@ Others are routers — Soloship adds enforcement and routing logic, then dispatc
134
135
  | `/learn` | `compound-engineering:workflows:compound` (Step 1) | Solution doc via CE, then own protocols: JSONL logging, registry audit, AGENTS.md propagation + creation |
135
136
  | `/review` | `plan-eng/ceo/design-review` (plans) / 3-pass agents (code) | Target detection (plan vs code), severity classification, synthesis |
136
137
  | `/shipthorough` | Invokes `/review` internally | 12-step pipeline: preflight, merge, lint, test, coverage audit, review, registry, CHANGELOG, plan lifecycle, commits, PR, deploy |
137
- | `/qa` | gstack `qa` / `qa-only` | Mode selection (fix vs report-only) |
138
- | `/security` | gstack `cso` | Post-audit triage routing |
139
138
  | `/design-review` | gstack `design-review` | Adds AI slop detection pass (visual/content/layout patterns) |
140
- | `/autoplan` | gstack `autoplan` | Chains CEO + design + eng + DX reviews with auto-decisions |
141
- | `/checkpoint` | gstack `checkpoint` | Session state snapshots for `/clear` recovery; pairs with `/onboard` |
142
- | `/health` | gstack `health` | Composite 0-10 quality score with trend tracking; pre-ship gate |
143
139
 
144
140
  ## What you get
145
141
 
@@ -157,7 +153,7 @@ Run bootstrap once per project. For existing code, run `/soloship:audit` first s
157
153
 
158
154
  ### The skills
159
155
 
160
- **15 Soloship-native workflow skills** invoked as `/soloship:*` slash commands. Each one handles orchestration, enforcement, and artifact contracts; the heavy lifting is often delegated to a vendored skill (see the next section).
156
+ **16 Soloship workflow skills** invoked as `/soloship:*` slash commands. Each one handles orchestration, enforcement, and artifact contracts; the heavy lifting is often delegated to a vendored skill (see the next section). One of the 16 (`/finish`) is a faithful vendor of a Superpowers skill, renamed to fit the Soloship slash-command surface.
161
157
 
162
158
  **Setup & orientation**
163
159
 
@@ -178,6 +174,7 @@ Run bootstrap once per project. For existing code, run `/soloship:audit` first s
178
174
 
179
175
  **Shipping**
180
176
 
177
+ - `/soloship:finish` — When implementation is done, all tests pass, and you need to decide how to integrate the work. Walks the merge / PR / cleanup options with a structured decision tree. Faithful vendor of Superpowers' `finishing-a-development-branch` skill, renamed for the Soloship slash surface.
181
178
  - `/soloship:shipfast` — Emergency deploy pipeline. Lint (with auto-fix tolerance), test (pre-existing failures allowed), build (must pass), commit, push, deploy. Auto-detects platform. Minimum viable safety, maximum speed.
182
179
  - `/soloship:shipthorough` — Full due diligence: preflight checks, base branch merge, lint, test, inline quality gate (TypeScript + linter + dead code + shellcheck), coverage audit, 3-pass code review (via `/review`), registry update, CHANGELOG enforcement, plan lifecycle cleanup, bisectable commits, PR with structured body, verification gate, deploy.
183
180
 
@@ -246,7 +243,7 @@ Soloship curates and vendors skills from five outstanding Claude Code plugins. O
246
243
 
247
244
  [**Compound Engineering**](https://github.com/EveryInc/compound-engineering-plugin) — Kieran Klaassen (Every). The brainstorm → plan → work → compound loop is the spine of how Soloship thinks about engineering. Also: `/review` inherits CE's multi-agent review pattern.
248
245
 
249
- [**Superpowers**](https://github.com/obra/superpowers) — Jesse Vincent. The discipline skills: `systematic-debugging`'s "no fixes without root cause," `verification-before-completion`'s "evidence before claims," `test-driven-development`, `writing-plans`, `executing-plans`, `subagent-driven-development`, `dispatching-parallel-agents` (via `using-git-worktrees`), `finishing-a-development-branch`, `brainstorming`. Nine skills total.
246
+ [**Superpowers**](https://github.com/obra/superpowers) — Jesse Vincent. The discipline skills: `systematic-debugging`'s "no fixes without root cause," `verification-before-completion`'s "evidence before claims," `test-driven-development`, `writing-plans`, `executing-plans`, `subagent-driven-development`, `using-git-worktrees`, `finishing-a-development-branch` (renamed to `finish` in Soloship — invoke via `/soloship-finish`), and `brainstorming`. Nine skills total.
250
247
 
251
248
  [**Impeccable**](https://impeccable.style) — Paul Bakaus (extending Anthropic's original `frontend-design`). Design vocabulary and steering commands that let non-coders ship work that doesn't look AI-generated. Soloship vendors `frontend-design` and five `/i-*` commands; 12 more are in the full plugin.
252
249
 
@@ -278,20 +275,26 @@ src/ # TypeScript source for the installer
278
275
  rules.ts # Workflow rule installation
279
276
  ci.ts # GitHub Actions + architecture fitness
280
277
  templates.ts # CLAUDE.md / AGENTS.md / CHANGELOG / SOLUTION_GUIDE generators
281
- skills/ # Claude Code skills shipped by the plugin
282
- # 15 Soloship-native workflows:
278
+ skills/ # Claude Code skills shipped by the plugin (51 total)
279
+ # 16 skills invoked as /soloship-* (15 Soloship-native + 1 renamed vendor):
283
280
  audit/ bootstrap/ brainstorm/ cleanup/ debug/ design-review/
284
281
  grill-me/ implement/ learn/ onboard/ plan/ review/
285
282
  shipfast/ shipthorough/ spec/
283
+ finish/ # vendored from Superpowers' finishing-a-development-branch
284
+ # — renamed for the Soloship slash-command surface
286
285
 
287
- # 36 vendored skills (full attribution in THIRD_PARTY_NOTICES.md):
286
+ # 35 vendored skills with source prefix (full attribution in THIRD_PARTY_NOTICES.md):
288
287
  ce-* # 8 from Compound Engineering (Kieran Klaassen, MIT)
289
- sp-* # 9 from Superpowers (Jesse Vincent, MIT)
288
+ sp-* # 8 from Superpowers (Jesse Vincent, MIT)
289
+ # (a 9th Superpowers skill, finishing-a-development-branch,
290
+ # lives at skills/finish/ above)
290
291
  im-* # 6 from Impeccable (Paul Bakaus, Apache 2.0)
291
292
  uiux-* # 1 from ui-ux-pro-max (nextlevelbuilder, MIT)
292
293
  gs-* # 12 from gstack (Garry Tan, MIT) — includes the gs-browse
293
294
  # headless browser daemon, re-vendored at v1.31.1.0 with
294
- # Soloship-native paths so it works without gstack installed
295
+ # Soloship-native paths so it works without gstack installed.
296
+ # gs-browse compiles its launcher on first use (build-on-host
297
+ # for architecture portability across arm64 / x86_64 Macs).
295
298
 
296
299
  references/ # Shared checklists (a11y, code review, perf, security, testing)
297
300
  vendored/ # Per-source LICENSE / NOTICE / VERSION / README (attribution archive)
package/dist/hooks.js CHANGED
@@ -296,18 +296,35 @@ fi
296
296
  '`;
297
297
  }
298
298
  function buildUpgradeCheckScript() {
299
- // Once-per-day check for newer Soloship npm releases. Silent if up-to-date,
300
- // network unavailable, or no version stamp exists. Cached to avoid hammering
301
- // the npm registry on every session start.
299
+ // Once-per-day check for newer Soloship releases. Detects whether the user
300
+ // installed via npm (.soloship/version present) or via Claude Code plugin
301
+ // marketplace only (plugin.json present, no .soloship/version) and shows
302
+ // the appropriate upgrade command for each. Silent if up-to-date, network
303
+ // unavailable, or installed version cannot be determined.
302
304
  return `bash -c '
303
305
  SOLOSHIP_DIR=".soloship"
304
306
  VERSION_FILE="$SOLOSHIP_DIR/version"
305
307
  CACHE_FILE="$SOLOSHIP_DIR/.last-update-check"
308
+ PLUGIN_MANIFEST="$HOME/.claude/plugins/marketplaces/soloship/.claude-plugin/plugin.json"
309
+
310
+ # Determine installed version + install path
311
+ INSTALLED=""
312
+ INSTALL_PATH=""
313
+ if [ -f "$VERSION_FILE" ]; then
314
+ INSTALLED=$(cat "$VERSION_FILE" 2>/dev/null | head -n1 | tr -d "[:space:]")
315
+ INSTALL_PATH="npm"
316
+ elif [ -f "$PLUGIN_MANIFEST" ]; then
317
+ INSTALLED=$(grep -E "\\"version\\"" "$PLUGIN_MANIFEST" 2>/dev/null | head -n1 | sed -E "s/.*\\"version\\"[[:space:]]*:[[:space:]]*\\"([^\\"]+)\\".*/\\\\1/" | tr -d "[:space:]")
318
+ INSTALL_PATH="plugin"
319
+ fi
306
320
 
307
- [ -f "$VERSION_FILE" ] || exit 0
308
- INSTALLED=$(cat "$VERSION_FILE" 2>/dev/null | head -n1 | tr -d "[:space:]")
309
321
  [ -z "$INSTALLED" ] && exit 0
310
322
 
323
+ # Cache (npm-path projects keep cache in .soloship/; plugin-path falls back to /tmp)
324
+ if [ "$INSTALL_PATH" = "plugin" ]; then
325
+ CACHE_FILE="/tmp/.soloship-update-check-$(id -u)"
326
+ fi
327
+
311
328
  NOW=$(date +%s)
312
329
  LATEST=""
313
330
  if [ -f "$CACHE_FILE" ]; then
@@ -319,16 +336,27 @@ if [ -f "$CACHE_FILE" ]; then
319
336
  fi
320
337
 
321
338
  if [ -z "$LATEST" ]; then
322
- LATEST=$(timeout 3 npm view soloship version 2>/dev/null | tr -d "[:space:]")
339
+ # Prefer npm for the source-of-truth version (npm + plugin ship from same repo).
340
+ # If npm isn't available, fall back to the GitHub raw plugin.json on main.
341
+ if command -v npm >/dev/null 2>&1; then
342
+ LATEST=$(timeout 3 npm view soloship version 2>/dev/null | tr -d "[:space:]")
343
+ fi
344
+ if [ -z "$LATEST" ] && command -v curl >/dev/null 2>&1; then
345
+ LATEST=$(timeout 3 curl -sf "https://raw.githubusercontent.com/thedigitalorganizer/soloship/main/.claude-plugin/plugin.json" 2>/dev/null | grep -E "\\"version\\"" | head -n1 | sed -E "s/.*\\"version\\"[[:space:]]*:[[:space:]]*\\"([^\\"]+)\\".*/\\\\1/" | tr -d "[:space:]")
346
+ fi
323
347
  [ -z "$LATEST" ] && exit 0
324
- mkdir -p "$SOLOSHIP_DIR"
348
+ mkdir -p "$(dirname "$CACHE_FILE")" 2>/dev/null
325
349
  printf "%s\\n%s\\n" "$NOW" "$LATEST" > "$CACHE_FILE" 2>/dev/null
326
350
  fi
327
351
 
328
352
  if [ "$INSTALLED" != "$LATEST" ]; then
329
353
  NEWEST=$(printf "%s\\n%s\\n" "$INSTALLED" "$LATEST" | sort -V | tail -n1)
330
354
  if [ "$NEWEST" = "$LATEST" ]; then
331
- echo "{\\"systemMessage\\": \\"Soloship update available: $INSTALLED $LATEST. Run: npx soloship upgrade\\"}"
355
+ if [ "$INSTALL_PATH" = "plugin" ]; then
356
+ echo "{\\"systemMessage\\": \\"Soloship update available: $INSTALLED → $LATEST. Update via Claude Code: type /plugins, find Soloship, click Update.\\"}"
357
+ else
358
+ echo "{\\"systemMessage\\": \\"Soloship update available: $INSTALLED → $LATEST. Run: npx soloship upgrade\\"}"
359
+ fi
332
360
  fi
333
361
  fi
334
362
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soloship",
3
- "version": "0.1.3",
3
+ "version": "0.3.0",
4
4
  "description": "Systematic programming methodology for AI-assisted development",
5
5
  "type": "module",
6
6
  "bin": {