Skip to content

Commit a78b8dd

Browse files
committed
marketing
1 parent 079c951 commit a78b8dd

4 files changed

Lines changed: 500 additions & 0 deletions

File tree

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,21 @@ Your specification-driven development framework construction toolkit, with multi
2222
- legacy conversions (drift ledgers, incremental specification)
2323
- build your own methodology without reinventing wheels
2424

25+
But more than anything else, it's for streamlined development which lets you
26+
focus on focus your attention on what's important.
27+
28+
[workflow](./assets/process.svg)
29+
30+
The machinery required is more complex than more naive approaches (research ->
31+
specify -> plan -> execute) - but it's a very conscious tradeoff.
32+
33+
Spec-driver is not a framework for development from disposable specifications.
34+
It's a framework which drives trustworthy specifications out of implementation.
35+
A machine, if you will, for converting change into truth.
36+
37+
Because: when machines can code, what remains is system design. This is a
38+
system designed to take care of the rest.
39+
2540
![cli](https://raw.githubusercontent.com/davidlee/spec-driver/refs/heads/main/assets/related.png)
2641

2742
![tui](https://raw.githubusercontent.com/davidlee/spec-driver/refs/heads/main/assets/tui.png)

assets/process-more.d2

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
classes: {
2+
important: {
3+
style: {
4+
fill: "#ff00ff"
5+
font-color: "#ffffff"
6+
}
7+
}
8+
9+
process: {
10+
shape: parallelogram
11+
style: {
12+
fill: "#cceeff"
13+
font: mono
14+
font-size: 16
15+
}
16+
}
17+
18+
artifact: {
19+
shape: page
20+
style: {
21+
fill: "#ffffcc"
22+
}
23+
}
24+
25+
critpath: {
26+
style: {
27+
stroke-width: 4
28+
}
29+
}
30+
31+
creates: {
32+
style: {
33+
# stroke-dash: 2
34+
# stroke: "#555555"
35+
}
36+
}
37+
38+
relates: {
39+
style: {
40+
stroke-dash: 4
41+
stroke: "#7799cc"
42+
}
43+
}
44+
45+
generates: {
46+
style: {
47+
stroke-dash: 3
48+
stroke-width: 1
49+
stroke: "#999999"
50+
}
51+
}
52+
}
53+
54+
capture.class: process
55+
prioritize.class: process
56+
scope.class: process
57+
design: {
58+
class: process
59+
style: {
60+
fill: "#ff00ff"
61+
font-color: "#ffffff"
62+
}
63+
}
64+
plan.class: process
65+
execute.class: process
66+
verify.class: process
67+
68+
legend: {
69+
legend: {
70+
label: "important bits"
71+
class: important
72+
style: {
73+
fill: "#ff00ff"
74+
font-color: "#ffffff"
75+
}
76+
}
77+
}
78+
# legend -> design
79+
80+
delta: {
81+
class: artifact
82+
83+
design_revision: {
84+
class: important
85+
shape: page
86+
label: "design revision"
87+
}
88+
89+
implementation_plan: {
90+
class: artifact
91+
label: "implementation plan"
92+
# phase_sheet_1: {
93+
# label: "phase sheets"
94+
# class: artifact
95+
# style.multiple: true
96+
# }
97+
}
98+
99+
# design_revision -> implementation_plan: {
100+
# class: relates
101+
# label: informs
102+
# }
103+
}
104+
105+
research: {
106+
label: "normative truth"
107+
product_spec: {
108+
class: artifact
109+
label: "product spec"
110+
style.fill: "#eeefff"
111+
requirements: {
112+
style.multiple: true
113+
class: artifact
114+
}
115+
}
116+
117+
tech_spec: {
118+
class: artifact
119+
label: "tech spec"
120+
style.fill: "#feefef"
121+
requirements: {
122+
style.multiple: true
123+
class: artifact
124+
}
125+
126+
contracts: {
127+
class: artifact
128+
label: "generated contracts"
129+
style: {
130+
fill: "#eeeeee"
131+
multiple: true
132+
}
133+
}
134+
}
135+
136+
revision: {
137+
class: artifact
138+
style.multiple: true
139+
label: revisions
140+
}
141+
142+
revision -> product_spec: update
143+
revision -> tech_spec: update
144+
}
145+
146+
research -> delta: {class: relates; label: informs}
147+
148+
backlog: {
149+
issue.class: artifact
150+
improvement.class: artifact
151+
problem.class: artifact
152+
risk.class: artifact
153+
}
154+
155+
audit: {
156+
class: artifact
157+
}
158+
159+
# drift_ledger: {
160+
# label: "drift ledger"
161+
# class: artifact
162+
# }
163+
164+
capture -> prioritize -> scope -> design -> plan -> execute -> verify: {class: critpath}
165+
166+
capture -> backlog: {class: creates}
167+
prioritize -> backlog: {class: relates}
168+
scope -> delta: {class: creates}
169+
design -> delta.design_revision: {class: creates}
170+
plan -> delta.implementation_plan: {class: creates}
171+
execute -> code
172+
verify -> audit
173+
174+
code
175+
176+
code -> research.tech_spec.contracts: {
177+
class: generates
178+
}
179+
# delta.implementation_plan -> execute: {class: relates}
180+
181+
backlog -> delta: {class: relates}
182+
audit -> research.revision: {class: creates}
183+
184+
# audit
185+
186+
delta -> audit: {class: relates}
187+
code -> audit: {class: relates}
188+
# research -> audit: {class: relates}
189+
# research.tech_spec.contracts -> audit: {class: relates}

assets/process.d2

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
classes: {
2+
important: {
3+
style: {
4+
fill: "#ff00ff"
5+
font-color: "#ffffff"
6+
}
7+
}
8+
9+
process: {
10+
shape: parallelogram
11+
style: {
12+
fill: "#cceeff"
13+
font: mono
14+
font-size: 16
15+
}
16+
}
17+
18+
artifact: {
19+
shape: page
20+
style: {
21+
fill: "#ffffcc"
22+
}
23+
}
24+
25+
critpath: {
26+
style: {
27+
stroke-width: 4
28+
}
29+
}
30+
31+
creates: {
32+
style: {
33+
# stroke-dash: 2
34+
# stroke: "#555555"
35+
}
36+
}
37+
38+
relates: {
39+
style: {
40+
stroke-dash: 4
41+
stroke: "#7799cc"
42+
}
43+
}
44+
45+
generates: {
46+
style: {
47+
stroke-dash: 3
48+
stroke-width: 1
49+
stroke: "#555555"
50+
}
51+
}
52+
}
53+
54+
capture.class: process
55+
scope.class: process
56+
design: {
57+
class: process
58+
style: {
59+
fill: "#ff00ff"
60+
font-color: "#ffffff"
61+
}
62+
}
63+
plan.class: process
64+
execute.class: process
65+
verify.class: process
66+
67+
legend: {
68+
legend: {
69+
label: "important bits"
70+
class: important
71+
style: {
72+
fill: "#ff00ff"
73+
font-color: "#ffffff"
74+
}
75+
}
76+
}
77+
78+
delta: {
79+
class: artifact
80+
81+
design_revision: {
82+
class: important
83+
shape: page
84+
label: "design revision"
85+
}
86+
87+
implementation_plan: {
88+
class: artifact
89+
label: "implementation plan"
90+
}
91+
}
92+
93+
research: {
94+
label: "normative truth"
95+
product_spec: {
96+
class: artifact
97+
label: "product spec"
98+
style.fill: "#eeefff"
99+
requirements: {
100+
style.multiple: true
101+
class: artifact
102+
}
103+
}
104+
105+
tech_spec: {
106+
class: artifact
107+
label: "tech spec"
108+
style.fill: "#feefef"
109+
requirements: {
110+
style.multiple: true
111+
class: artifact
112+
}
113+
114+
contracts: {
115+
class: artifact
116+
label: "generated contracts"
117+
style: {
118+
fill: "#eeeeee"
119+
multiple: true
120+
}
121+
}
122+
}
123+
}
124+
125+
research -> delta: {class: relates; label: informs}
126+
127+
backlog: {
128+
issue.class: artifact
129+
improvement.class: artifact
130+
problem.class: artifact
131+
risk.class: artifact
132+
}
133+
134+
capture -> scope -> design -> plan -> execute -> verify: {class: critpath}
135+
136+
capture -> backlog: {class: creates}
137+
backlog -> scope: {class: relates}
138+
scope -> delta: {class: creates}
139+
design -> delta.design_revision: {class: creates}
140+
plan -> delta.implementation_plan: {class: creates}
141+
execute -> code
142+
# verify -> audit
143+
144+
code: {shape: hexagon}
145+
146+
code -> research.tech_spec.contracts: {
147+
class: generates
148+
}
149+
150+
delta -> verify: {class: relates}
151+
code -> verify: {class: relates}
152+
verify -> research: update

0 commit comments

Comments
 (0)