@kennethsolomon/shipkit 3.18.0 → 3.19.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kennethsolomon/shipkit",
3
- "version": "3.18.0",
3
+ "version": "3.19.0",
4
4
  "description": "A structured workflow toolkit for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: sk:laravel-deploy
3
+ description: "Deploy a Laravel application to Laravel Cloud via the `cloud` CLI. Requires /sk:gates to pass before deploying."
4
+ ---
5
+
6
+ # /sk:laravel-deploy
7
+
8
+ Deploy the current Laravel application to Laravel Cloud.
9
+
10
+ ## Pre-Deploy Gate Check
11
+
12
+ **Gates must pass before any deploy.** If `/sk:gates` has not been run since the last code change, run it first:
13
+
14
+ ```
15
+ /sk:gates
16
+ ```
17
+
18
+ All quality checks (lint, tests, security, review) must be green before deploying to any environment.
19
+
20
+ ## Setup (First Time)
21
+
22
+ Install the Laravel Cloud CLI if missing:
23
+ ```bash
24
+ composer global require laravel/cloud-cli
25
+ ```
26
+
27
+ Authenticate:
28
+ ```bash
29
+ cloud auth -n
30
+ ```
31
+
32
+ ## CLI Rules
33
+
34
+ Never hardcode command signatures — always run `cloud <command> -h` to discover options at runtime.
35
+
36
+ | Operation | Flags |
37
+ |-----------|-------|
38
+ | Read | `--json -n` |
39
+ | Create | `--json -n` |
40
+ | Update | `--json -n --force` |
41
+ | Delete | `-n --force` (no `--json`) |
42
+ | Deploy | `-n` with all options explicitly |
43
+
44
+ ## Deployment Workflow
45
+
46
+ ### First Deploy
47
+ ```bash
48
+ cloud ship -n
49
+ ```
50
+
51
+ ### Existing App
52
+ ```bash
53
+ cloud repo:config
54
+ cloud deploy {app} {env} -n --open
55
+ cloud deploy:monitor -n
56
+ ```
57
+
58
+ ### Environment Variables
59
+ ```bash
60
+ cloud environment:variables -n --force
61
+ ```
62
+
63
+ ### Infrastructure
64
+
65
+ **Database:**
66
+ ```bash
67
+ cloud database-cluster:create --json -n
68
+ cloud database:create --json -n
69
+ ```
70
+
71
+ **Cache:**
72
+ ```bash
73
+ cloud cache:create --json -n
74
+ ```
75
+
76
+ **Custom Domain:**
77
+ ```bash
78
+ cloud domain:create --json -n
79
+ cloud domain:verify -n
80
+ ```
81
+
82
+ ## Sub-Agent Delegation
83
+
84
+ Delegate to background agents (non-blocking):
85
+ - `deploy:monitor` — watch deployment progress
86
+ - `deployment:get` — fetch deployment status
87
+ - `resource:list` — list infrastructure resources
88
+
89
+ Keep in main context:
90
+ - `cloud deploy` (need deployment ID immediately)
91
+ - Short status commands
92
+
93
+ ## Troubleshooting
94
+
95
+ Inspect current infrastructure state:
96
+ ```bash
97
+ cloud <resource>:list --json -n
98
+ ```
99
+
100
+ Check deployment logs:
101
+ ```bash
102
+ cloud deployment:get {id} --json -n
103
+ ```
104
+
105
+ ## Official Plugin
106
+
107
+ For richer guidance with checklists for complex multi-step infrastructure operations, install the official plugin:
108
+ ```
109
+ /plugin install laravel-cloud@laravel
110
+ ```
111
+
112
+ Docs: https://cloud.laravel.com/docs
@@ -32,6 +32,24 @@ Behavior depends on who owns the file:
32
32
  - **Generated** (has `<!-- Generated by /laravel-init -->` marker): safe to edit directly with section-level updates using `<!-- BEGIN/END -->` markers
33
33
  - **User-owned** (no marker): never edit — create `CLAUDE-sub-agents.md` alongside it and let the user copy what they want
34
34
 
35
+ ## Optional: Official Laravel Plugins
36
+
37
+ After setup completes, suggest the two official Laravel plugins from Taylor Otwell:
38
+
39
+ > "Install official Laravel plugins? (`laravel-simplifier` for code refinement + `laravel-cloud` for deployments) [y/n]"
40
+
41
+ If yes, install each:
42
+ ```bash
43
+ /plugin install laravel-simplifier@laravel
44
+ /plugin install laravel-cloud@laravel
45
+ ```
46
+
47
+ **What each adds:**
48
+ - `laravel-simplifier` — an Opus-powered agent that reviews recently modified PHP/Laravel code and refines it for PSR-12 compliance, Laravel conventions, and readability without changing behavior. Invoke after `/sk:execute-plan`: "Review recent changes using the laravel-simplifier agent"
49
+ - `laravel-cloud` — guides deployment and infrastructure management on Laravel Cloud via the `cloud` CLI. Triggers automatically when you ask about deploying. Or use `/sk:laravel-deploy` for a gate-enforced deploy workflow.
50
+
51
+ If no, skip — plugins can be installed manually at any time.
52
+
35
53
  ## After Running
36
54
 
37
55
  Start with `/sk:brainstorm` to plan your feature.
@@ -176,6 +176,24 @@ composer require --dev pestphp/pest pestphp/pest-plugin-laravel
176
176
  ./vendor/bin/pest --init
177
177
  ```
178
178
 
179
+ ### Laravel Official Plugins
180
+
181
+ After tool installation, suggest the two official Laravel plugins from Taylor Otwell:
182
+
183
+ > "Install official Laravel plugins? (`laravel-simplifier` for PHP code refinement + `laravel-cloud` for deployments) [y/n]"
184
+
185
+ If yes, install each — skip any already configured:
186
+ ```bash
187
+ /plugin install laravel-simplifier@laravel
188
+ /plugin install laravel-cloud@laravel
189
+ ```
190
+
191
+ **What each adds:**
192
+ - `laravel-simplifier` — an Opus-powered agent that reviews recently modified PHP/Laravel code and refines it for PSR-12 compliance, Laravel conventions, and readability without changing behavior. Invoke after `/sk:execute-plan`: "Review recent changes using the laravel-simplifier agent"
193
+ - `laravel-cloud` — guides deployment and infrastructure management on Laravel Cloud via the `cloud` CLI. Triggers automatically when you ask about deploying. Also available via `/sk:laravel-deploy` for a gate-enforced workflow.
194
+
195
+ If no, skip — plugins can be installed manually at any time.
196
+
179
197
  ### Config Publishing (create-if-missing only)
180
198
 
181
199
  **`phpstan.neon`:**
@@ -254,6 +272,23 @@ Use Agent tool with subagent_type="Explore" — launch all in a single message:
254
272
  - Agent 3: Explore test patterns and existing test coverage for the area
255
273
  ```
256
274
 
275
+ ### Code Refinement (after /sk:execute-plan)
276
+
277
+ After implementing code, run the `laravel-simplifier` agent to refine recently modified PHP/Laravel code:
278
+
279
+ ```
280
+ Invoke the laravel-simplifier agent:
281
+ "Review recent changes using the laravel-simplifier agent"
282
+ ```
283
+
284
+ This agent (Opus-powered, official from Taylor Otwell):
285
+ - Applies PSR-12 standards and Laravel conventions
286
+ - Reduces unnecessary nesting — prefers `match` over nested ternaries
287
+ - Improves variable and method naming
288
+ - Never changes behavior — refine only
289
+
290
+ Requires: `/plugin install laravel-simplifier@laravel`
291
+
257
292
  ### Parallel Quality Checks (/sk:lint)
258
293
 
259
294
  After Pint formats files, run PHPStan and Rector in parallel (both are read-only):
@@ -309,6 +344,16 @@ When a generated CLAUDE.md exists (has `<!-- Generated by /sk:setup-claude -->`
309
344
 
310
345
  This check runs every time — even if tools are installed and tasks files exist. Never short-circuit before verifying section completeness.
311
346
 
347
+ ### Laravel Commands (CLAUDE.md Additions)
348
+
349
+ When generating or updating a CLAUDE.md for a Laravel project, append these commands to the Commands table (in addition to the standard ShipKit commands):
350
+
351
+ | Command | Purpose |
352
+ |---------|---------|
353
+ | `/sk:laravel-deploy` | Deploy to Laravel Cloud (gates must pass first) |
354
+ | `/sk:laravel-init` | Configure existing Laravel project with production-ready conventions |
355
+ | `/sk:laravel-new` | Scaffold a fresh Laravel app with production-ready conventions |
356
+
312
357
  ### Laravel Idempotency (extends global rules)
313
358
 
314
359
  **Never overwrite** (in addition to global list):
@@ -6,6 +6,13 @@ allowed-tools: Read, Edit, Bash, Grep, Glob
6
6
  memory: project
7
7
  ---
8
8
 
9
+ <!-- DESIGN NOTE: No `isolation: worktree` by design.
10
+ Debugger is invoked solo (never in parallel with other agents) and must
11
+ see the actual working state — the real failing code, the real test output,
12
+ the real stack trace. A worktree copy would give it a clean slate,
13
+ defeating its ability to reproduce the bug. Edit access is needed to place
14
+ and remove targeted debug logs during investigation. -->
15
+
9
16
  # Debugger Agent
10
17
 
11
18
  You are an expert debugger. Find root causes, not symptoms.
@@ -7,6 +7,14 @@ memory: project
7
7
  background: true
8
8
  ---
9
9
 
10
+ <!-- DESIGN NOTE: No `isolation: worktree` by design.
11
+ qa-engineer runs as a background agent (background: true) alongside
12
+ backend-dev and frontend-dev during sk:team. It only creates test scenario
13
+ files (e.g., e2e/<feature>.spec.ts, tasks/e2e-scenarios.md) — never source
14
+ files. Its writes land in a separate directory tree from the implementation
15
+ agents' worktree changes, so file conflicts cannot occur. Isolation adds
16
+ overhead with no benefit here. -->
17
+
10
18
  # QA Engineer Agent
11
19
 
12
20
  You are the QA Agent in a team workflow. Your job is to write E2E test scenarios while the Backend and Frontend agents implement code in parallel.
@@ -6,6 +6,13 @@ tools: Read, Write, Edit, Grep, Glob
6
6
  memory: project
7
7
  ---
8
8
 
9
+ <!-- DESIGN NOTE: No `isolation: worktree` by design.
10
+ tech-writer only creates and edits documentation files (README.md,
11
+ docs/*.md, architecture docs, inline comments). It never modifies source
12
+ code, migrations, or config files. Because its writes are confined to
13
+ documentation paths that implementation agents never touch, isolation is
14
+ unnecessary overhead. -->
15
+
9
16
  You are a technical writer specializing in developer documentation. You make codebases comprehensible — to future contributors, to users, and to the developers themselves six months later.
10
17
 
11
18
  ## On Invocation
@@ -18,3 +18,14 @@ paths:
18
18
  - **Migrations**: One logical change per migration. Never modify a published migration.
19
19
  - **Config**: Access config via `config()` helper, never `env()` outside config files.
20
20
  - **Strict mode**: Models use strict mode (prevent lazy loading, silently discarding attributes, accessing missing attributes).
21
+
22
+ ## Code Refinement
23
+
24
+ After running `/sk:execute-plan`, use the `laravel-simplifier` agent to refine recently modified PHP/Laravel code:
25
+ - Applies PSR-12 standards and Laravel conventions
26
+ - Reduces unnecessary nesting and complexity — prefer `match` over nested ternaries
27
+ - Improves variable and method naming for readability
28
+ - Never changes behavior — refine only
29
+
30
+ Install once: `/plugin install laravel-simplifier@laravel`
31
+ Invoke: "Review recent changes using the laravel-simplifier agent"
@@ -310,6 +310,9 @@ Create entries in: `[ARCH_CHANGELOG_DIR]`
310
310
  | `/sk:gates` | Run all quality gates in optimized parallel batches |
311
311
  | `/sk:health` | Harness self-audit scorecard (7 categories, 0-70) |
312
312
  | `/sk:hotfix` | Emergency fix workflow — skip design/TDD, quality gates enforced |
313
+ | `/sk:laravel-deploy` | Deploy to Laravel Cloud (gates must pass first) — Laravel projects only |
314
+ | `/sk:laravel-init` | Configure existing Laravel project with production-ready conventions |
315
+ | `/sk:laravel-new` | Scaffold a fresh Laravel app with production-ready conventions |
313
316
  | `/sk:learn` | Extract reusable patterns from sessions into learned instincts |
314
317
  | `/sk:lint` | Auto-detect and run all project linters + dependency audits |
315
318
  | `/sk:perf` | Performance audit — bundle, N+1, Core Web Vitals, memory |