@kennethsolomon/shipkit 1.0.0 → 1.0.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.
- package/README.md +7 -7
- package/commands/sk/config.md +8 -8
- package/commands/sk/execute-plan.md +1 -1
- package/commands/sk/help.md +1 -1
- package/commands/sk/security-check.md +1 -1
- package/commands/sk/set-profile.md +2 -2
- package/commands/sk/write-plan.md +1 -1
- package/package.json +9 -2
- package/skills/sk:accessibility/SKILL.md +1 -1
- package/skills/sk:api-design/SKILL.md +1 -1
- package/skills/sk:brainstorming/SKILL.md +1 -1
- package/skills/sk:debug/SKILL.md +1 -1
- package/skills/sk:frontend-design/SKILL.md +1 -1
- package/skills/sk:lint/SKILL.md +1 -1
- package/skills/sk:perf/SKILL.md +1 -1
- package/skills/sk:review/SKILL.md +1 -1
- package/skills/sk:schema-migrate/SKILL.md +1 -1
- package/skills/sk:smart-commit/SKILL.md +1 -1
- package/skills/sk:test/SKILL.md +1 -1
- package/skills/sk:write-tests/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -8,14 +8,14 @@ Ship features with TDD, auto-detecting linters, security audits, and AI-powered
|
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
[](#)
|
|
10
10
|
|
|
11
|
-
```
|
|
12
|
-
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @kennethsolomon/shipkit && shipkit
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Works on Mac, Linux, and Windows.
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
~ $
|
|
18
|
+
~ $ shipkit
|
|
19
19
|
|
|
20
20
|
⚑
|
|
21
21
|
|
|
|
@@ -31,7 +31,7 @@ Works on Mac, Linux, and Windows.
|
|
|
31
31
|
▀██████████████▀
|
|
32
32
|
≋ ≋ ≋ ≋ ≋
|
|
33
33
|
|
|
34
|
-
ShipKit v1.0.
|
|
34
|
+
ShipKit v1.0.2
|
|
35
35
|
A structured workflow toolkit for Claude Code.
|
|
36
36
|
by Kenneth Solomon
|
|
37
37
|
|
|
@@ -62,7 +62,7 @@ Every gate must pass before the next step. If lint fails, you fix it. If tests d
|
|
|
62
62
|
## Installation
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
|
|
65
|
+
npm install -g @kennethsolomon/shipkit && shipkit
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
Or clone and install locally (symlinks — changes reflect immediately):
|
|
@@ -76,7 +76,7 @@ cd shipkit
|
|
|
76
76
|
### Update
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
-
|
|
79
|
+
npm install -g @kennethsolomon/shipkit && shipkit
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
Re-running always installs the latest version.
|
|
@@ -84,7 +84,7 @@ Re-running always installs the latest version.
|
|
|
84
84
|
### Uninstall
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
|
-
|
|
87
|
+
shipkit --uninstall
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
---
|
package/commands/sk/config.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "View and edit ShipKit project configuration (.shipkit/
|
|
2
|
+
description: "View and edit ShipKit project configuration (.shipkit/config.json)."
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# /sk:config
|
|
@@ -8,14 +8,14 @@ View and manage ShipKit configuration for this project.
|
|
|
8
8
|
|
|
9
9
|
## Config File
|
|
10
10
|
|
|
11
|
-
ShipKit stores per-project config in `.shipkit/
|
|
11
|
+
ShipKit stores per-project config in `.shipkit/config.json` at the project root.
|
|
12
12
|
If the file does not exist, display defaults and offer to create it.
|
|
13
13
|
|
|
14
14
|
## Steps
|
|
15
15
|
|
|
16
16
|
### 1 — Read current config
|
|
17
17
|
|
|
18
|
-
Check if `.shipkit/
|
|
18
|
+
Check if `.shipkit/config.json` exists. If yes, read and parse it.
|
|
19
19
|
If not, use defaults:
|
|
20
20
|
|
|
21
21
|
```json
|
|
@@ -83,14 +83,14 @@ If the user specifies a setting:
|
|
|
83
83
|
|
|
84
84
|
If any setting was changed:
|
|
85
85
|
1. Create `.shipkit/` directory if it does not exist
|
|
86
|
-
2. Write updated config to `.shipkit/
|
|
87
|
-
3. Add `.shipkit/
|
|
88
|
-
4. Confirm: "Config saved to `.shipkit/
|
|
86
|
+
2. Write updated config to `.shipkit/config.json`
|
|
87
|
+
3. Add `.shipkit/config.json` to `.gitignore` if not already present
|
|
88
|
+
4. Confirm: "Config saved to `.shipkit/config.json`"
|
|
89
89
|
|
|
90
90
|
If no changes, exit cleanly.
|
|
91
91
|
|
|
92
92
|
## Notes
|
|
93
93
|
|
|
94
|
-
- Config is **per-project** — each repo has its own `.shipkit/
|
|
94
|
+
- Config is **per-project** — each repo has its own `.shipkit/config.json`
|
|
95
95
|
- `model_overrides` takes precedence over `profile` for individual skills
|
|
96
|
-
- Gitignore: `.shipkit/
|
|
96
|
+
- Gitignore: `.shipkit/config.json` is personal preference — don't commit it unless the team agrees on a shared profile
|
|
@@ -70,7 +70,7 @@ Then continue with the corrected approach.
|
|
|
70
70
|
|
|
71
71
|
## Model Routing
|
|
72
72
|
|
|
73
|
-
Read `.shipkit/
|
|
73
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
74
74
|
|
|
75
75
|
- If `model_overrides["sk:execute-plan"]` is set, use that model — it takes precedence.
|
|
76
76
|
- Otherwise use the `profile` field. Default: `balanced`.
|
package/commands/sk/help.md
CHANGED
|
@@ -96,7 +96,7 @@ ShipKit routes each skill to the right model automatically. Set once per project
|
|
|
96
96
|
| smart-commit, branch, update-task | haiku | haiku | haiku | haiku |
|
|
97
97
|
|
|
98
98
|
`opus` = inherit (uses your current session model).
|
|
99
|
-
Config lives in `.shipkit/
|
|
99
|
+
Config lives in `.shipkit/config.json` — per project, gitignored by default.
|
|
100
100
|
|
|
101
101
|
---
|
|
102
102
|
|
|
@@ -173,7 +173,7 @@ If there are Critical or High findings:
|
|
|
173
173
|
|
|
174
174
|
## Model Routing
|
|
175
175
|
|
|
176
|
-
Read `.shipkit/
|
|
176
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
177
177
|
|
|
178
178
|
- If `model_overrides["sk:security-check"]` is set, use that model — it takes precedence.
|
|
179
179
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -41,7 +41,7 @@ If an invalid profile name is given, show the valid options.
|
|
|
41
41
|
|
|
42
42
|
### 2 — Read current config
|
|
43
43
|
|
|
44
|
-
Read `.shipkit/
|
|
44
|
+
Read `.shipkit/config.json` if it exists. Otherwise start with defaults.
|
|
45
45
|
|
|
46
46
|
### 3 — Update profile
|
|
47
47
|
|
|
@@ -50,7 +50,7 @@ Set `profile` to the chosen value.
|
|
|
50
50
|
### 4 — Write config
|
|
51
51
|
|
|
52
52
|
1. Create `.shipkit/` directory if it does not exist
|
|
53
|
-
2. Write updated config to `.shipkit/
|
|
53
|
+
2. Write updated config to `.shipkit/config.json`
|
|
54
54
|
3. Add `.shipkit/` to `.gitignore` if not already present
|
|
55
55
|
|
|
56
56
|
### 5 — Confirm
|
|
@@ -57,7 +57,7 @@ Create a decision-complete plan **before** writing code.
|
|
|
57
57
|
|
|
58
58
|
## Model Routing
|
|
59
59
|
|
|
60
|
-
Read `.shipkit/
|
|
60
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
61
61
|
|
|
62
62
|
- If `model_overrides["sk:write-plan"]` is set, use that model — it takes precedence.
|
|
63
63
|
- Otherwise use the `profile` field. Default: `balanced`.
|
package/package.json
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kennethsolomon/shipkit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "A structured workflow toolkit for Claude Code.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"claude",
|
|
7
|
+
"claude-code",
|
|
8
|
+
"workflow",
|
|
9
|
+
"tdd",
|
|
10
|
+
"ai",
|
|
11
|
+
"developer-tools"
|
|
12
|
+
],
|
|
6
13
|
"author": "Kenneth Solomon",
|
|
7
14
|
"license": "MIT",
|
|
8
15
|
"bin": {
|
|
@@ -135,7 +135,7 @@ If there are no failures:
|
|
|
135
135
|
|
|
136
136
|
## Model Routing
|
|
137
137
|
|
|
138
|
-
Read `.shipkit/
|
|
138
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
139
139
|
|
|
140
140
|
- If `model_overrides["sk:accessibility"]` is set, use that model — it takes precedence.
|
|
141
141
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -143,7 +143,7 @@ After presenting the specification, tell the user: **"Run `/sk:write-plan` to tu
|
|
|
143
143
|
|
|
144
144
|
## Model Routing
|
|
145
145
|
|
|
146
|
-
Read `.shipkit/
|
|
146
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
147
147
|
|
|
148
148
|
- If `model_overrides["sk:api-design"]` is set, use that model — it takes precedence.
|
|
149
149
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -109,7 +109,7 @@ digraph brainstorming {
|
|
|
109
109
|
|
|
110
110
|
## Model Routing
|
|
111
111
|
|
|
112
|
-
Read `.shipkit/
|
|
112
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
113
113
|
|
|
114
114
|
- If `model_overrides["sk:brainstorming"]` is set, use that model — it takes precedence.
|
|
115
115
|
- Otherwise use the `profile` field. Default: `balanced`.
|
package/skills/sk:debug/SKILL.md
CHANGED
|
@@ -237,7 +237,7 @@ Skip the lesson entry if it was a simple typo or one-off mistake.
|
|
|
237
237
|
|
|
238
238
|
## Model Routing
|
|
239
239
|
|
|
240
|
-
Read `.shipkit/
|
|
240
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
241
241
|
|
|
242
242
|
- If `model_overrides["sk:debug"]` is set, use that model — it takes precedence.
|
|
243
243
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -176,7 +176,7 @@ Then tell the user: **"Run `/sk:write-plan` to turn this design into an implemen
|
|
|
176
176
|
|
|
177
177
|
## Model Routing
|
|
178
178
|
|
|
179
|
-
Read `.shipkit/
|
|
179
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
180
180
|
|
|
181
181
|
- If `model_overrides["sk:frontend-design"]` is set, use that model — it takes precedence.
|
|
182
182
|
- Otherwise use the `profile` field. Default: `balanced`.
|
package/skills/sk:lint/SKILL.md
CHANGED
|
@@ -98,7 +98,7 @@ Only include lines for detected tools. All must show "clean" before this skill p
|
|
|
98
98
|
|
|
99
99
|
## Model Routing
|
|
100
100
|
|
|
101
|
-
Read `.shipkit/
|
|
101
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
102
102
|
|
|
103
103
|
- If `model_overrides["sk:lint"]` is set, use that model — it takes precedence.
|
|
104
104
|
- Otherwise use the `profile` field. Default: `balanced`.
|
package/skills/sk:perf/SKILL.md
CHANGED
|
@@ -173,7 +173,7 @@ If there are no critical or high findings:
|
|
|
173
173
|
|
|
174
174
|
## Model Routing
|
|
175
175
|
|
|
176
|
-
Read `.shipkit/
|
|
176
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
177
177
|
|
|
178
178
|
- If `model_overrides["sk:perf"]` is set, use that model — it takes precedence.
|
|
179
179
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -331,7 +331,7 @@ If the review is **completely clean**:
|
|
|
331
331
|
|
|
332
332
|
## Model Routing
|
|
333
333
|
|
|
334
|
-
Read `.shipkit/
|
|
334
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
335
335
|
|
|
336
336
|
- If `model_overrides["sk:review"]` is set, use that model — it takes precedence.
|
|
337
337
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -110,7 +110,7 @@ Read the appropriate file from `orms/` and execute **Phases 2 through 5** as def
|
|
|
110
110
|
|
|
111
111
|
## Model Routing
|
|
112
112
|
|
|
113
|
-
Read `.shipkit/
|
|
113
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
114
114
|
|
|
115
115
|
- If `model_overrides["sk:schema-migrate"]` is set, use that model — it takes precedence.
|
|
116
116
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -160,7 +160,7 @@ If yes, go back to step 4. If no, done.
|
|
|
160
160
|
|
|
161
161
|
## Model Routing
|
|
162
162
|
|
|
163
|
-
Read `.shipkit/
|
|
163
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
164
164
|
|
|
165
165
|
- If `model_overrides["sk:smart-commit"]` is set, use that model — it takes precedence.
|
|
166
166
|
- Otherwise use the `profile` field. Default: `balanced`.
|
package/skills/sk:test/SKILL.md
CHANGED
|
@@ -156,7 +156,7 @@ All detected suites pass with 100% coverage on new code. Both lines of the repor
|
|
|
156
156
|
|
|
157
157
|
## Model Routing
|
|
158
158
|
|
|
159
|
-
Read `.shipkit/
|
|
159
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
160
160
|
|
|
161
161
|
- If `model_overrides["sk:test"]` is set, use that model — it takes precedence.
|
|
162
162
|
- Otherwise use the `profile` field. Default: `balanced`.
|
|
@@ -180,7 +180,7 @@ Tests define the **expected behavior**. Implementation makes them pass. If you'r
|
|
|
180
180
|
|
|
181
181
|
## Model Routing
|
|
182
182
|
|
|
183
|
-
Read `.shipkit/
|
|
183
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
184
184
|
|
|
185
185
|
- If `model_overrides["sk:write-tests"]` is set, use that model — it takes precedence.
|
|
186
186
|
- Otherwise use the `profile` field. Default: `balanced`.
|