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.
- package/README.md +17 -14
- package/dist/hooks.js +36 -8
- 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), **
|
|
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.
|
|
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
|
-
**
|
|
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`, `
|
|
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
|
|
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
|
-
#
|
|
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-* #
|
|
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
|
|
300
|
-
//
|
|
301
|
-
//
|
|
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
|
-
|
|
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 "$
|
|
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
|
-
|
|
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
|
|