pipeline-sdk 0.1.0 → 0.1.1
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
CHANGED
|
@@ -8,7 +8,7 @@ YAML-driven pipeline orchestration for AI agents.
|
|
|
8
8
|
|
|
9
9
|
## Why?
|
|
10
10
|
|
|
11
|
-
AI coding agents (Claude Code, Cursor,
|
|
11
|
+
AI coding agents (Claude Code, Cursor, Windsurf, and others) execute multi-step workflows -- write code, run tests, deploy -- but lack a structured way to enforce stage gates, track evidence, or coordinate handoffs. pipeline-sdk gives your agent a state machine: define stages in YAML, gate transitions on passing tests, and keep a cryptographic audit trail of what happened.
|
|
12
12
|
|
|
13
13
|
## What is this?
|
|
14
14
|
|
|
@@ -82,7 +82,7 @@ The YAML file defines stages and transitions. The state machine enforces the rul
|
|
|
82
82
|
|----------|-------------|
|
|
83
83
|
| `sdlc-full` | Complete software development lifecycle with review and deploy gates |
|
|
84
84
|
| `static-site` | Web portfolio pipeline with accessibility gates |
|
|
85
|
-
| `
|
|
85
|
+
| `dual-model` | Dual-model development pipeline with consensus-based quality gates |
|
|
86
86
|
| `infra-gitops` | Infrastructure deployment with approval gates and rollback |
|
|
87
87
|
|
|
88
88
|
## MCP Integration
|
|
@@ -131,7 +131,7 @@ console.log(result.valid, result.recordCount);
|
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
133
|
bun install
|
|
134
|
-
bun test #
|
|
134
|
+
bun test # Run test suite
|
|
135
135
|
bun run lint # Biome
|
|
136
136
|
bun run typecheck # TypeScript
|
|
137
137
|
bun run build # Compile to binary
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pipeline-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "YAML-driven pipeline orchestration SDK with CLI, daemon, MCP server, and adapter system",
|
|
5
5
|
"module": "index.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
"files": [
|
|
30
30
|
"src/",
|
|
31
31
|
"schemas/",
|
|
32
|
-
"templates/",
|
|
33
32
|
"README.md",
|
|
34
33
|
"LICENSE"
|
|
35
34
|
],
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
#
|
|
1
|
+
# dual-model.yaml — Dual-Model Development Pipeline
|
|
2
|
+
# Two AI models with consensus-based quality gates across 6 stages.
|
|
3
|
+
#
|
|
4
|
+
# NOTE: Custom gate scripts (e.g. ./tools/gates/*.sh) are user-provided.
|
|
5
|
+
# These paths are examples — replace them with your own review scripts
|
|
6
|
+
# or remove the custom gates to use only built-in gates.
|
|
4
7
|
|
|
5
8
|
pipeline:
|
|
6
|
-
id:
|
|
9
|
+
id: dual-model
|
|
7
10
|
version: 1
|
|
8
11
|
description: "Dual-model autonomous development pipeline (BRAINSTORM → PLAN → IMPLEMENT → TEST → REVIEW → SHIP)"
|
|
9
12
|
initial: brainstorm
|
|
10
13
|
|
|
11
14
|
stages:
|
|
12
15
|
brainstorm:
|
|
13
|
-
description: "
|
|
16
|
+
description: "Structured requirements analysis with iterative clarification"
|
|
14
17
|
agent:
|
|
15
|
-
instructions: "
|
|
18
|
+
instructions: "Analyze and clarify requirements. Identify ambiguities, missing edge cases, and acceptance criteria. Produce approved spec at docs/spec.md."
|
|
16
19
|
tools: [Read, Grep, Glob, Write, WebSearch]
|
|
17
20
|
on:
|
|
18
21
|
SPEC_APPROVED: { target: plan }
|
|
@@ -30,7 +33,7 @@ pipeline:
|
|
|
30
33
|
SPEC_CHANGES: { target: brainstorm }
|
|
31
34
|
|
|
32
35
|
implement:
|
|
33
|
-
description: "
|
|
36
|
+
description: "Iterative TDD cycles (red-green-refactor) per task with Gate 1 (test quality) and Gate 2 (implementation review)"
|
|
34
37
|
agent:
|
|
35
38
|
instructions: "Execute TDD plan. RED → GREEN → Gate 1 review → REFACTOR. After all tasks: Gate 2 full review."
|
|
36
39
|
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
@@ -53,12 +56,12 @@ pipeline:
|
|
|
53
56
|
MAX_RETRIES: { target: escalate-implement }
|
|
54
57
|
|
|
55
58
|
test:
|
|
56
|
-
description: "E2E testing + smoke testing with Gate 3 (coverage) and Gate 4 (
|
|
59
|
+
description: "E2E testing + smoke testing with Gate 3 (coverage) and Gate 4 (coverage gaps)"
|
|
57
60
|
agent:
|
|
58
61
|
instructions: "Create E2E tests covering spec requirements. Run smoke tests. Gates review coverage and gaps."
|
|
59
62
|
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
60
63
|
gates:
|
|
61
|
-
exit: [e2e-tests-pass, coverage-review,
|
|
64
|
+
exit: [e2e-tests-pass, coverage-review, coverage-gap-review]
|
|
62
65
|
max_retries: 6
|
|
63
66
|
on:
|
|
64
67
|
STAGE_COMPLETE: { target: review }
|
|
@@ -76,12 +79,12 @@ pipeline:
|
|
|
76
79
|
MAX_RETRIES: { target: escalate-test }
|
|
77
80
|
|
|
78
81
|
review:
|
|
79
|
-
description: "Gate 5:
|
|
82
|
+
description: "Gate 5: Security and performance review (dual-model consensus)"
|
|
80
83
|
agent:
|
|
81
|
-
instructions: "
|
|
84
|
+
instructions: "Review code for security vulnerabilities, race conditions, and performance issues. Fix all findings."
|
|
82
85
|
tools: [Read, Edit, Bash, Grep]
|
|
83
86
|
gates:
|
|
84
|
-
exit: [
|
|
87
|
+
exit: [security-performance-review]
|
|
85
88
|
max_retries: 6
|
|
86
89
|
on:
|
|
87
90
|
STAGE_COMPLETE: { target: ship }
|
|
@@ -89,10 +92,10 @@ pipeline:
|
|
|
89
92
|
TEST_CHANGES: { target: test }
|
|
90
93
|
|
|
91
94
|
fix-review:
|
|
92
|
-
description: "Fix
|
|
95
|
+
description: "Fix security and performance review findings from Gate 5"
|
|
93
96
|
max_retries: 3
|
|
94
97
|
agent:
|
|
95
|
-
instructions: "Fix
|
|
98
|
+
instructions: "Fix review findings. Verify fixes via tests. Do not introduce regressions."
|
|
96
99
|
tools: [Read, Edit, Bash, Grep]
|
|
97
100
|
on:
|
|
98
101
|
FIX_COMPLETE: { target: review }
|
|
@@ -159,7 +162,7 @@ pipeline:
|
|
|
159
162
|
gates:
|
|
160
163
|
plan-document-exists:
|
|
161
164
|
type: custom
|
|
162
|
-
script: "test -f docs/
|
|
165
|
+
script: "test -f docs/spec.md"
|
|
163
166
|
expect: { status: pass }
|
|
164
167
|
lint-pass:
|
|
165
168
|
type: builtin
|
|
@@ -179,16 +182,16 @@ pipeline:
|
|
|
179
182
|
script: "./tools/gates/tdd-quality-review.sh"
|
|
180
183
|
protocol: json-stdout
|
|
181
184
|
inputs:
|
|
182
|
-
mode: dual-
|
|
183
|
-
phase_a:
|
|
184
|
-
phase_b:
|
|
185
|
+
mode: dual-model
|
|
186
|
+
phase_a: model-a
|
|
187
|
+
phase_b: model-b
|
|
185
188
|
|
|
186
189
|
impl-review:
|
|
187
190
|
type: custom
|
|
188
191
|
script: "./tools/gates/impl-review.sh"
|
|
189
192
|
protocol: json-stdout
|
|
190
193
|
inputs:
|
|
191
|
-
mode: dual-
|
|
194
|
+
mode: dual-model
|
|
192
195
|
focus: architecture
|
|
193
196
|
|
|
194
197
|
coverage-review:
|
|
@@ -196,29 +199,29 @@ pipeline:
|
|
|
196
199
|
script: "./tools/gates/coverage-review.sh"
|
|
197
200
|
protocol: json-stdout
|
|
198
201
|
inputs:
|
|
199
|
-
mode: dual-
|
|
202
|
+
mode: dual-model
|
|
200
203
|
focus: test_coverage
|
|
201
204
|
|
|
202
|
-
|
|
205
|
+
coverage-gap-review:
|
|
203
206
|
type: custom
|
|
204
|
-
script: "./tools/gates/
|
|
207
|
+
script: "./tools/gates/coverage-gap-review.sh"
|
|
205
208
|
protocol: json-stdout
|
|
206
209
|
inputs:
|
|
207
|
-
mode: dual-
|
|
208
|
-
focus:
|
|
210
|
+
mode: dual-model
|
|
211
|
+
focus: coverage_analysis
|
|
209
212
|
|
|
210
|
-
|
|
213
|
+
security-performance-review:
|
|
211
214
|
type: custom
|
|
212
|
-
script: "./tools/gates/
|
|
215
|
+
script: "./tools/gates/security-performance-review.sh"
|
|
213
216
|
protocol: json-stdout
|
|
214
217
|
inputs:
|
|
215
|
-
mode: dual-
|
|
216
|
-
focus:
|
|
218
|
+
mode: dual-model
|
|
219
|
+
focus: security_and_performance
|
|
217
220
|
|
|
218
221
|
final-quality-gate:
|
|
219
222
|
type: custom
|
|
220
223
|
script: "./tools/gates/final-quality-gate.sh"
|
|
221
224
|
protocol: json-stdout
|
|
222
225
|
inputs:
|
|
223
|
-
mode: dual-
|
|
226
|
+
mode: dual-model
|
|
224
227
|
focus: final_quality
|