@warren-dean/code-kit 0.3.4 → 0.3.5

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.
@@ -9,7 +9,7 @@
9
9
  "name": "code-kit",
10
10
  "source": "./",
11
11
  "description": "Keeps AI coding agents inside your project's rules, from idea to merged code: spec design, lanes, layer rules, protected paths with an approval log, spec-check and design gates, proof-before-finish checks, dispatch, review, build status and CI verification, configured per project from its docs",
12
- "version": "0.3.4",
12
+ "version": "0.3.5",
13
13
  "category": "development",
14
14
  "tags": ["guardrails", "architecture", "lanes", "layers", "spec-driven", "ci", "multi-agent"],
15
15
  "license": "MIT"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-kit",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Keeps AI coding agents inside your project's rules, from idea to merged code: spec design, lanes, layer rules, protected paths with an approval log, spec-check and design gates, proof-before-finish checks, dispatch, review, build status and CI verification, configured per project from its docs",
5
5
  "author": {
6
6
  "name": "Warren Langeveldt"
package/README.md CHANGED
@@ -1,9 +1,20 @@
1
+ <p align="center">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/warrendeanlangeveldt/code-kit/main/assets/logo-dark.png">
4
+ <img src="https://raw.githubusercontent.com/warrendeanlangeveldt/code-kit/main/assets/logo.png" alt="code-kit" width="300">
5
+ </picture>
6
+ </p>
7
+
1
8
  # code-kit
2
9
 
3
10
  A Claude Code plugin that keeps AI coding agents inside a project's engineering rules. You write the rules once, per project, in `.claude/code-kit.json`. The plugin's hooks enforce them on every tool call, for the main session and every subagent. A rule Claude would otherwise only be _asked_ to follow becomes one the hooks refuse to let it break. The same rules run in CI for every pull request.
4
11
 
5
12
  It also carries the work from idea to merged code: spec an idea into requirements, hand stories to lanes, review each branch against its requirements, and track the build against the spec.
6
13
 
14
+ <p align="center">
15
+ <img src="https://raw.githubusercontent.com/warrendeanlangeveldt/code-kit/main/assets/workflow.svg" alt="How code-kit works: the specs create the agents, skills and rules; the lead agent delegates stories to lane agents and takes decisions and approvals to you; lanes send scope and dependency requests back to the lead; hooks enforce ownership, layers, approvals and spec-check while each lane implements, tests and commits; the lead reviews against the requirements and CI runs verify." width="820">
16
+ </p>
17
+
7
18
  ## Quick start
8
19
 
9
20
  You need Claude Code, Node 22 or later, and git. Then, in Claude Code:
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,101 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 920" width="1280" height="920" role="img" aria-labelledby="title desc">
2
+ <title id="title">How code-kit works</title>
3
+ <desc id="desc">The specs, architecture and principles create the agents, skills and rules. The lead agent delegates stories to lane agents, each with its own paths, specs and skills, and takes decisions and approvals to you. Lanes send scope and dependency requests back to the lead. Hooks enforce ownership, layers, approvals and spec-check while each lane implements, tests and commits. The lead reviews the work against the requirements, and CI runs code-kit verify.</desc>
4
+ <defs>
5
+ <marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
6
+ <path d="M0 0 L10 5 L0 10 z" fill="#4b5563"/>
7
+ </marker>
8
+ <style>
9
+ text { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; fill: #1f2937; }
10
+ .title { font-size: 54px; font-weight: 800; fill: #111827; }
11
+ .subtitle { font-size: 25px; font-weight: 600; fill: #4b5563; }
12
+ .label { font-size: 20px; font-weight: 600; }
13
+ .lead { font-size: 30px; font-weight: 700; }
14
+ .lane { font-size: 22px; font-weight: 700; }
15
+ .item { font-size: 18px; fill: #374151; }
16
+ .note { font-size: 17px; font-weight: 600; fill: #374151; }
17
+ .caption { font-size: 20px; fill: #4b5563; }
18
+ .box { fill: #f3f8fe; stroke: #3b82c4; stroke-width: 2; }
19
+ .strong { fill: #cfe4fb; stroke: #2f6fae; stroke-width: 2.5; }
20
+ .person { fill: #eceef1; stroke: #6b7280; stroke-width: 2; }
21
+ .band { fill: #dbeafc; }
22
+ .line { fill: none; stroke: #4b5563; stroke-width: 2; }
23
+ </style>
24
+ </defs>
25
+ <rect width="1280" height="920" rx="24" fill="#ffffff"/>
26
+
27
+ <text class="title" x="623" y="78" text-anchor="middle">CodeKit</text>
28
+ <text class="subtitle" x="623" y="122" text-anchor="middle">Creates the engineering team and governs delivery</text>
29
+
30
+ <g transform="translate(-40 0)">
31
+ <!-- set-up -->
32
+ <rect class="box" x="90" y="160" width="350" height="56" rx="8"/>
33
+ <text class="label" x="265" y="195" text-anchor="middle">Specs, architecture &amp; principles</text>
34
+ <path class="line" d="M440 188 H492" marker-end="url(#arrow)"/>
35
+ <rect class="box" x="498" y="160" width="330" height="56" rx="8"/>
36
+ <text class="label" x="663" y="195" text-anchor="middle">Create agents, skills &amp; rules</text>
37
+ <path class="line" d="M663 216 V252" marker-end="url(#arrow)"/>
38
+
39
+ <!-- the lead and the person -->
40
+ <rect class="strong" x="503" y="258" width="320" height="68" rx="10"/>
41
+ <text class="lead" x="663" y="303" text-anchor="middle">Lead agent</text>
42
+ <path class="line" d="M829 286 H1003" marker-start="url(#arrow)" marker-end="url(#arrow)"/>
43
+ <text class="note" x="916" y="270" text-anchor="middle">Decisions &amp; approvals</text>
44
+ <rect class="person" x="1009" y="258" width="170" height="68" rx="10"/>
45
+ <text class="lead" x="1094" y="303" text-anchor="middle">You</text>
46
+
47
+ <!-- delegation -->
48
+ <path class="line" d="M663 326 V384"/>
49
+ <text class="note" x="650" y="362" text-anchor="end">Delegate stories</text>
50
+ <path class="line" d="M335 384 H991"/>
51
+ <path class="line" d="M335 384 V414" marker-end="url(#arrow)"/>
52
+ <path class="line" d="M663 384 V414" marker-end="url(#arrow)"/>
53
+ <path class="line" d="M991 384 V414" marker-end="url(#arrow)"/>
54
+
55
+ <!-- lanes -->
56
+ <g>
57
+ <rect class="box" x="190" y="420" width="290" height="146" rx="8"/>
58
+ <path class="band" d="M191 460 V429 a8 8 0 0 1 8 -8 H471 a8 8 0 0 1 8 8 V460 z"/>
59
+ <text class="lane" x="335" y="449" text-anchor="middle">Web lane</text>
60
+ <text class="item" x="335" y="489" text-anchor="middle">Own paths</text>
61
+ <text class="item" x="335" y="517" text-anchor="middle">Assigned specs</text>
62
+ <text class="item" x="335" y="545" text-anchor="middle">Required skills</text>
63
+ </g>
64
+ <g>
65
+ <rect class="box" x="518" y="420" width="290" height="146" rx="8"/>
66
+ <path class="band" d="M519 460 V429 a8 8 0 0 1 8 -8 H799 a8 8 0 0 1 8 8 V460 z"/>
67
+ <text class="lane" x="663" y="449" text-anchor="middle">API lane</text>
68
+ <text class="item" x="663" y="489" text-anchor="middle">Own paths</text>
69
+ <text class="item" x="663" y="517" text-anchor="middle">Assigned specs</text>
70
+ <text class="item" x="663" y="545" text-anchor="middle">Required skills</text>
71
+ </g>
72
+ <g>
73
+ <rect class="box" x="846" y="420" width="290" height="146" rx="8"/>
74
+ <path class="band" d="M847 460 V429 a8 8 0 0 1 8 -8 H1127 a8 8 0 0 1 8 8 V460 z"/>
75
+ <text class="lane" x="991" y="449" text-anchor="middle">Data lane</text>
76
+ <text class="item" x="991" y="489" text-anchor="middle">Own paths</text>
77
+ <text class="item" x="991" y="517" text-anchor="middle">Assigned specs</text>
78
+ <text class="item" x="991" y="545" text-anchor="middle">Required skills</text>
79
+ </g>
80
+
81
+ <!-- scope and dependency requests go back to the lead -->
82
+ <path class="line" d="M1136 493 H1196 V354 H760 V332" marker-end="url(#arrow)"/>
83
+ <text class="note" x="1210" y="420">Scope &amp;</text>
84
+ <text class="note" x="1210" y="442">dependency</text>
85
+ <text class="note" x="1210" y="464">requests</text>
86
+
87
+ <!-- enforcement and delivery -->
88
+ <path class="line" d="M335 566 V592 H991 V566"/>
89
+ <path class="line" d="M663 566 V616" marker-end="url(#arrow)"/>
90
+ <rect class="strong" x="190" y="622" width="946" height="58" rx="8"/>
91
+ <text class="label" x="663" y="658" text-anchor="middle">Hooks enforce ownership, layers, approvals &amp; spec-check</text>
92
+ <path class="line" d="M663 680 V710" marker-end="url(#arrow)"/>
93
+ <rect class="box" x="428" y="716" width="470" height="56" rx="8"/>
94
+ <text class="label" x="663" y="751" text-anchor="middle">Implement → Test → Commit</text>
95
+ <path class="line" d="M663 772 V802" marker-end="url(#arrow)"/>
96
+ <rect class="box" x="353" y="808" width="620" height="56" rx="8"/>
97
+ <text class="label" x="663" y="843" text-anchor="middle">Lead reviews against requirements · CI runs verify</text>
98
+ </g>
99
+
100
+ <text class="caption" x="623" y="902" text-anchor="middle">Lane agents implement. The lead coordinates, resolves scope and reviews.</text>
101
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warren-dean/code-kit",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Keeps AI coding agents inside your project's rules: lanes, layer rules, protected paths and proof before finish, enforced by Claude Code hooks and in CI",
5
5
  "license": "MIT",
6
6
  "author": "Warren Langeveldt",
@@ -28,6 +28,7 @@
28
28
  "skills",
29
29
  "templates",
30
30
  ".claude-plugin",
31
+ "assets",
31
32
  "README.md",
32
33
  "LICENSE",
33
34
  "SECURITY.md"