@rsaglobaltech/specgate 0.21.0 → 0.22.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/CHANGELOG.md +93 -0
- package/dist/packages/core/src/domain/BriefCards.js +320 -0
- package/dist/packages/core/src/domain/BriefCards.js.map +1 -0
- package/dist/packages/core/src/domain/DraftChecklist.js +5 -1
- package/dist/packages/core/src/domain/DraftChecklist.js.map +1 -1
- package/dist/packages/core/src/domain/QuotedText.js +5 -0
- package/dist/packages/core/src/domain/QuotedText.js.map +1 -1
- package/dist/packages/core/src/domain/TicketText.js +337 -0
- package/dist/packages/core/src/domain/TicketText.js.map +1 -0
- package/dist/packages/core/src/infrastructure/ChangeWorkspace.js +7 -3
- package/dist/packages/core/src/infrastructure/ChangeWorkspace.js.map +1 -1
- package/dist/packages/core/src/infrastructure/IdsAcrossBranches.js +48 -0
- package/dist/packages/core/src/infrastructure/IdsAcrossBranches.js.map +1 -0
- package/dist/scripts/agents/commands.js +3 -1
- package/dist/scripts/agents/commands.js.map +1 -1
- package/dist/scripts/agents/contract-file.js +44 -0
- package/dist/scripts/agents/contract-file.js.map +1 -1
- package/dist/scripts/alm/cli.js +14 -3
- package/dist/scripts/alm/cli.js.map +1 -1
- package/dist/scripts/alm/port.js +1 -1
- package/dist/scripts/alm/port.js.map +1 -1
- package/dist/scripts/alm/providers/http-client.js +46 -3
- package/dist/scripts/alm/providers/http-client.js.map +1 -1
- package/dist/scripts/alm/providers/jira.js +108 -32
- package/dist/scripts/alm/providers/jira.js.map +1 -1
- package/dist/scripts/cli/commands/alm/PrCommand.js +198 -0
- package/dist/scripts/cli/commands/alm/PrCommand.js.map +1 -0
- package/dist/scripts/cli/commands/change/ChangeCommand.js +32 -6
- package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/change/TicketCommand.js +657 -0
- package/dist/scripts/cli/commands/change/TicketCommand.js.map +1 -0
- package/dist/scripts/cli/commands/harness/RunCommand.js +4 -2
- package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/AdoptCommand.js +58 -0
- package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/UpdateCommand.js +4 -0
- package/dist/scripts/cli/commands/project/UpdateCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/CheckCommand.js +12 -0
- package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DraftCommand.js +240 -27
- package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/ExploreCommand.js +13 -13
- package/dist/scripts/cli/commands/spec/ExploreCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StatusCommand.js +18 -6
- package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
- package/dist/scripts/docs/journey-storyboard.js +33 -27
- package/dist/scripts/docs/journey-storyboard.js.map +1 -1
- package/dist/scripts/docs/nav.js +5 -0
- package/dist/scripts/docs/nav.js.map +1 -1
- package/dist/scripts/docs/record-journey.js +93 -30
- package/dist/scripts/docs/record-journey.js.map +1 -1
- package/dist/scripts/draft/brief-check.js +34 -0
- package/dist/scripts/draft/brief-check.js.map +1 -0
- package/dist/scripts/draft/brief-setup.js +182 -17
- package/dist/scripts/draft/brief-setup.js.map +1 -1
- package/dist/scripts/draft/drafting-guide.js +43 -1
- package/dist/scripts/draft/drafting-guide.js.map +1 -1
- package/dist/scripts/draft/ticket-guide.js +129 -0
- package/dist/scripts/draft/ticket-guide.js.map +1 -0
- package/dist/scripts/lib/ticket-keys.js +140 -0
- package/dist/scripts/lib/ticket-keys.js.map +1 -0
- package/dist/scripts/propose.js +8 -2
- package/dist/scripts/propose.js.map +1 -1
- package/dist/scripts/vcs/github-pr.js +88 -0
- package/dist/scripts/vcs/github-pr.js.map +1 -0
- package/package.json +1 -1
- package/templates/base/AGENTS.md.tpl +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey-storyboard.js","sourceRoot":"","sources":["../../../scripts/docs/journey-storyboard.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"journey-storyboard.js","sourceRoot":"","sources":["../../../scripts/docs/journey-storyboard.ts"],"names":[],"mappings":"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"}
|
package/dist/scripts/docs/nav.js
CHANGED
|
@@ -223,6 +223,11 @@ exports.NAV = [
|
|
|
223
223
|
label: "From a client brief",
|
|
224
224
|
blurb: "A brief to a reviewed draft: assumptions, open questions and the draft checklist.",
|
|
225
225
|
},
|
|
226
|
+
{
|
|
227
|
+
slug: "from-a-ticket",
|
|
228
|
+
label: "From a Jira ticket",
|
|
229
|
+
blurb: "A story with acceptance criteria to a change checked against it, a branch and a pull request.",
|
|
230
|
+
},
|
|
226
231
|
{
|
|
227
232
|
slug: "new-project",
|
|
228
233
|
label: "A new project, step by step",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../../../scripts/docs/nav.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;
|
|
1
|
+
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../../../scripts/docs/nav.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
51
51
|
};
|
|
52
52
|
})();
|
|
53
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.LINGO_BRIEF = void 0;
|
|
54
|
+
exports.LINGO_EXAMPLE = exports.LINGO_BRIEF = void 0;
|
|
55
55
|
exports.renderBlock = renderBlock;
|
|
56
56
|
exports.recordJourney = recordJourney;
|
|
57
57
|
exports.pagePath = pagePath;
|
|
@@ -78,8 +78,8 @@ students.
|
|
|
78
78
|
|
|
79
79
|
The teacher creates courses by level and publishes lessons with their
|
|
80
80
|
material. Students follow their course on the web or on their phone, do the
|
|
81
|
-
exercises of each lesson and see their progress. The teacher sees
|
|
82
|
-
student's progress and corrects written exercises.
|
|
81
|
+
exercises of each lesson and see their progress quickly. The teacher sees
|
|
82
|
+
each student's progress and corrects written exercises.
|
|
83
83
|
|
|
84
84
|
We don't know yet whether students pay per course or per month.
|
|
85
85
|
`;
|
|
@@ -95,6 +95,69 @@ modules: [courses, lessons, exercises, progress]
|
|
|
95
95
|
---
|
|
96
96
|
|
|
97
97
|
`;
|
|
98
|
+
/** The front matter once the person has reviewed it: the check settled, a non-goal added. */
|
|
99
|
+
const LINGO_REVIEWED = `---
|
|
100
|
+
product: Lingo — online lessons for a language school
|
|
101
|
+
surfaces: [web, mobile]
|
|
102
|
+
actors:
|
|
103
|
+
- { name: Teacher, surfaces: [web] }
|
|
104
|
+
- { name: Student, surfaces: [web, mobile] }
|
|
105
|
+
modules: [courses, lessons, exercises, progress]
|
|
106
|
+
non_goals: [video calls]
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
`;
|
|
110
|
+
/** The module sections the stand-in proposes from the notes: one rule still vague. */
|
|
111
|
+
const lingoCards = (progressRule) => `
|
|
112
|
+
## Module: courses
|
|
113
|
+
|
|
114
|
+
Rules
|
|
115
|
+
- A teacher creates a course with one level, from "A1" to "C2".
|
|
116
|
+
- A student follows one course.
|
|
117
|
+
|
|
118
|
+
Examples
|
|
119
|
+
- The one where the teacher creates "Spanish A2".
|
|
120
|
+
- The one where Ana follows "Spanish A2".
|
|
121
|
+
|
|
122
|
+
Questions
|
|
123
|
+
- Can a student follow two courses at once?
|
|
124
|
+
- Do students pay per course or per month?
|
|
125
|
+
|
|
126
|
+
## Module: lessons
|
|
127
|
+
|
|
128
|
+
Rules
|
|
129
|
+
- A teacher publishes a lesson in a course, with its material.
|
|
130
|
+
- When a lesson is published, the students of its course see it.
|
|
131
|
+
|
|
132
|
+
Examples
|
|
133
|
+
- The one where the teacher publishes "Greetings" in "Spanish A2" with a PDF.
|
|
134
|
+
- The one where Ana opens "Spanish A2" on her phone and sees "Greetings".
|
|
135
|
+
|
|
136
|
+
## Module: exercises
|
|
137
|
+
|
|
138
|
+
Rules
|
|
139
|
+
- A lesson has exercises, done on the web or on the phone.
|
|
140
|
+
- The teacher corrects written exercises.
|
|
141
|
+
|
|
142
|
+
Examples
|
|
143
|
+
- The one where Ana answers the 3 exercises of "Greetings".
|
|
144
|
+
- The one where the teacher corrects Ana's written answer.
|
|
145
|
+
|
|
146
|
+
Questions
|
|
147
|
+
- Are the other exercises corrected automatically?
|
|
148
|
+
|
|
149
|
+
## Module: progress
|
|
150
|
+
|
|
151
|
+
Rules
|
|
152
|
+
- ${progressRule}
|
|
153
|
+
- The teacher sees each student's progress.
|
|
154
|
+
|
|
155
|
+
Examples
|
|
156
|
+
- The one where Ana has done 2 of the 3 exercises of "Greetings" and sees 2 of 3.
|
|
157
|
+
- The one where the teacher sees Ana at 2 of 3.
|
|
158
|
+
`;
|
|
159
|
+
/** The whole Lingo brief, reviewed: what the page shows as its example. */
|
|
160
|
+
exports.LINGO_EXAMPLE = LINGO_REVIEWED + exports.LINGO_BRIEF + lingoCards("A student's progress opens in under 2 seconds.");
|
|
98
161
|
function lingoProject(scratch, name, env) {
|
|
99
162
|
const project = path.join(scratch, name);
|
|
100
163
|
(0, record_terminal_1.write)(path.join(project, "package.json"), `${JSON.stringify({ name, version: "1.0.0", scripts: { test: "node --test" } }, null, 2)}\n`);
|
|
@@ -103,46 +166,46 @@ function lingoProject(scratch, name, env) {
|
|
|
103
166
|
commit(project, env, "npm init, specgate init");
|
|
104
167
|
return project;
|
|
105
168
|
}
|
|
169
|
+
/** A stand-in for `claude -p` on PATH: it ignores the prompt and runs `script`. */
|
|
170
|
+
function standIn(scratch, script) {
|
|
171
|
+
fs.writeFileSync(path.join(scratch, "bin", "claude"), ["#!/usr/bin/env bash", "cat > /dev/null", ...script, ""].join("\n"), { mode: 0o755 });
|
|
172
|
+
}
|
|
106
173
|
const BRIEF_HOOKS = {
|
|
107
|
-
"brief-
|
|
108
|
-
lingoProject(path.dirname(project), "lingo", env);
|
|
174
|
+
"brief-new": (project, env) => {
|
|
109
175
|
lingoProject(path.dirname(project), "lingo-new", env);
|
|
110
176
|
},
|
|
111
|
-
// You: your notes, saved as they are.
|
|
112
|
-
|
|
113
|
-
|
|
177
|
+
// You: your notes, saved as they are. The stand-in does what BRIEF-SETUP.md
|
|
178
|
+
// asks — a front matter on top, the notes untouched.
|
|
179
|
+
"brief-agent": (project, env) => {
|
|
180
|
+
const scratch = path.dirname(project);
|
|
181
|
+
const lingo = lingoProject(scratch, "lingo", env);
|
|
114
182
|
(0, record_terminal_1.write)(path.join(lingo, "docs", "brief.md"), exports.LINGO_BRIEF);
|
|
115
183
|
commit(lingo, env, "the brief");
|
|
116
|
-
},
|
|
117
|
-
// A stand-in for `claude -p` on PATH: it reads the prompt and does what
|
|
118
|
-
// BRIEF-SETUP.md asks — a front matter on top, the notes untouched.
|
|
119
|
-
"brief-agent": (project) => {
|
|
120
|
-
const scratch = path.dirname(project);
|
|
121
184
|
const fmFile = path.join(scratch, "tmp", "lingo-front-matter.md");
|
|
122
185
|
(0, record_terminal_1.write)(fmFile, LINGO_FRONT_MATTER);
|
|
123
|
-
|
|
124
|
-
fs.writeFileSync(claude, [
|
|
125
|
-
"#!/usr/bin/env bash",
|
|
126
|
-
"cat > /dev/null",
|
|
186
|
+
standIn(scratch, [
|
|
127
187
|
`cat "${fmFile}" docs/brief.md > docs/brief.md.new && mv docs/brief.md.new docs/brief.md`,
|
|
128
188
|
'echo "Added a front matter to docs/brief.md: 2 actors, 4 modules; one line marked to check."',
|
|
129
|
-
|
|
130
|
-
].join("\n"), { mode: 0o755 });
|
|
189
|
+
]);
|
|
131
190
|
},
|
|
132
|
-
// You, reviewing
|
|
133
|
-
"brief-
|
|
134
|
-
const
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
(0, record_terminal_1.write)(
|
|
191
|
+
// You, reviewing the fields; then the stand-in does what BRIEF-CARDS.md asks.
|
|
192
|
+
"brief-cards-agent": (project, env) => {
|
|
193
|
+
const scratch = path.dirname(project);
|
|
194
|
+
const lingo = path.join(scratch, "lingo");
|
|
195
|
+
(0, record_terminal_1.write)(path.join(lingo, "docs", "brief.md"), LINGO_REVIEWED + exports.LINGO_BRIEF);
|
|
196
|
+
commit(lingo, env, "the front matter, reviewed");
|
|
197
|
+
const cardsFile = path.join(scratch, "tmp", "lingo-cards.md");
|
|
198
|
+
(0, record_terminal_1.write)(cardsFile, lingoCards("A student sees their progress quickly."));
|
|
199
|
+
standIn(scratch, [
|
|
200
|
+
`cat "${cardsFile}" >> docs/brief.md`,
|
|
201
|
+
'echo "Added 4 module sections from your notes; 3 questions the notes leave open."',
|
|
202
|
+
]);
|
|
140
203
|
},
|
|
141
|
-
// You:
|
|
204
|
+
// You: the vague rule made testable — the brief as the page shows it.
|
|
142
205
|
"brief-ready": (project) => {
|
|
143
|
-
|
|
144
|
-
(0, record_terminal_1.write)(brief, LINGO_FRONT_MATTER + exports.LINGO_BRIEF);
|
|
206
|
+
(0, record_terminal_1.write)(path.join(path.dirname(project), "lingo", "docs", "brief.md"), exports.LINGO_EXAMPLE);
|
|
145
207
|
},
|
|
208
|
+
"brief-draft": (project, env) => commit(path.join(path.dirname(project), "lingo"), env, "the brief"),
|
|
146
209
|
};
|
|
147
210
|
// ── From scratch: court bookings ────────────────────────────────────────────
|
|
148
211
|
const SCRATCH_SETUP = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-journey.js","sourceRoot":"","sources":["../../../scripts/docs/record-journey.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record-journey.js","sourceRoot":"","sources":["../../../scripts/docs/record-journey.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The brief rules, B1 to B11, as diagnostics (ADR-0038).
|
|
4
|
+
*
|
|
5
|
+
* B1 is the front matter's shapes and fields (`brief-setup.ts`); B2 to B11
|
|
6
|
+
* read the body's module cards (`BriefCards`). `propose --from-brief --check`
|
|
7
|
+
* prints them, the overview stops on their errors, and a draft is not opened
|
|
8
|
+
* over one.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.checkBrief = checkBrief;
|
|
12
|
+
exports.briefReady = briefReady;
|
|
13
|
+
const Diagnostic_1 = require("../../packages/core/src/domain/Diagnostic");
|
|
14
|
+
const BriefCards_1 = require("../../packages/core/src/domain/BriefCards");
|
|
15
|
+
const brief_setup_1 = require("./brief-setup");
|
|
16
|
+
/** Every finding on a brief, front matter first; `file` is the brief's path. */
|
|
17
|
+
function checkBrief(text, file) {
|
|
18
|
+
const head = (0, brief_setup_1.frontMatter)(text) === null
|
|
19
|
+
? [
|
|
20
|
+
(0, Diagnostic_1.error)("brief_no_front_matter", "The brief has no front matter.", {
|
|
21
|
+
fix: "Run `specgate propose --from-brief` — it shows the four fields to add at the top.",
|
|
22
|
+
}),
|
|
23
|
+
]
|
|
24
|
+
: (0, brief_setup_1.checkFrontMatter)(text).map((p) => (0, Diagnostic_1.error)(p.code, p.message, { fix: p.fix }));
|
|
25
|
+
const rank = { error: 0, warning: 1, info: 2 };
|
|
26
|
+
return [...head, ...(0, BriefCards_1.checkBriefBody)(text)]
|
|
27
|
+
.map((d) => ({ ...d, file }))
|
|
28
|
+
.sort((a, b) => rank[a.severity] - rank[b.severity]);
|
|
29
|
+
}
|
|
30
|
+
/** Whether a draft may be opened from this brief: no error among its findings. */
|
|
31
|
+
function briefReady(findings) {
|
|
32
|
+
return !(0, Diagnostic_1.hasErrors)(findings);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=brief-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-check.js","sourceRoot":"","sources":["../../../scripts/draft/brief-check.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAQH,gCAaC;AAGD,gCAEC;AAvBD,0EAA6E;AAC7E,0EAA2E;AAC3E,+CAA8D;AAE9D,gFAAgF;AAChF,SAAgB,UAAU,CAAC,IAAY,EAAE,IAAY;IACnD,MAAM,IAAI,GACR,IAAA,yBAAW,EAAC,IAAI,CAAC,KAAK,IAAI;QACxB,CAAC,CAAC;YACE,IAAA,kBAAK,EAAC,uBAAuB,EAAE,gCAAgC,EAAE;gBAC/D,GAAG,EAAE,mFAAmF;aACzF,CAAC;SACH;QACH,CAAC,CAAC,IAAA,8BAAgB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAK,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/C,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAA,2BAAc,EAAC,IAAI,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,kFAAkF;AAClF,SAAgB,UAAU,CAAC,QAA+B;IACxD,OAAO,CAAC,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* front matter this module accepts is one the checklist can read.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.BRIEF_SETUP_PASTE = exports.BRIEF_SETUP_FILE = exports.BRIEF_TEMPLATE = exports.FRONT_MATTER_EXAMPLE = exports.SURFACES = void 0;
|
|
18
|
+
exports.BRIEF_CARDS_PASTE = exports.BRIEF_CARDS_FILE = exports.BRIEF_SETUP_PASTE = exports.BRIEF_SETUP_FILE = exports.BRIEF_TEMPLATE = exports.FRONT_MATTER_EXAMPLE = exports.SURFACES = void 0;
|
|
19
19
|
exports.frontMatter = frontMatter;
|
|
20
20
|
exports.briefBody = briefBody;
|
|
21
21
|
exports.checkFrontMatter = checkFrontMatter;
|
|
@@ -23,6 +23,9 @@ exports.frontMatterExplanation = frontMatterExplanation;
|
|
|
23
23
|
exports.noBriefExplanation = noBriefExplanation;
|
|
24
24
|
exports.briefSetupGuide = briefSetupGuide;
|
|
25
25
|
exports.briefSetupPrompt = briefSetupPrompt;
|
|
26
|
+
exports.briefCardsGuide = briefCardsGuide;
|
|
27
|
+
exports.briefCardsPrompt = briefCardsPrompt;
|
|
28
|
+
exports.keepsEveryLine = keepsEveryLine;
|
|
26
29
|
const DraftChecklist_1 = require("../../packages/core/src/domain/DraftChecklist");
|
|
27
30
|
/** The places D3 knows how to check: an HTTP call, or a screen. */
|
|
28
31
|
exports.SURFACES = ["api", "web", "mobile", "desktop"];
|
|
@@ -54,6 +57,76 @@ function list(value) {
|
|
|
54
57
|
.filter(Boolean)
|
|
55
58
|
: [];
|
|
56
59
|
}
|
|
60
|
+
/** The items under `name:` written as a YAML block list (` - web`). */
|
|
61
|
+
function blockItems(fm, name) {
|
|
62
|
+
const m = new RegExp(`^${name}:[ \\t]*\\n((?:[ \\t]+-[^\\n]*\\n?)+)`, "m").exec(uncomment(fm));
|
|
63
|
+
return m
|
|
64
|
+
? m[1]
|
|
65
|
+
.split("\n")
|
|
66
|
+
.map((l) => l.replace(/^\s*-\s*/, "").trim())
|
|
67
|
+
.filter(Boolean)
|
|
68
|
+
: [];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* B1 — a field Specgate cannot read because of how it is written, not
|
|
72
|
+
* because it is missing. `actors: [Admin]` was reported as "There is no
|
|
73
|
+
* `actors:` list" and `surfaces: web` passed silently (ADR-0038).
|
|
74
|
+
*/
|
|
75
|
+
function wrongShapes(fm) {
|
|
76
|
+
const out = [];
|
|
77
|
+
const asList = (items) => `[${items.join(", ")}]`;
|
|
78
|
+
const surfacesValue = field(fm, "surfaces") ?? "";
|
|
79
|
+
const productSurfaces = surfacesValue.startsWith("[")
|
|
80
|
+
? list(surfacesValue)
|
|
81
|
+
: surfacesValue
|
|
82
|
+
? surfacesValue.split(/[,\s]+/).filter(Boolean)
|
|
83
|
+
: blockItems(fm, "surfaces");
|
|
84
|
+
const oneSurface = productSurfaces.find((x) => !placeholder(x)) || "web";
|
|
85
|
+
for (const name of ["surfaces", "modules", "non_goals"]) {
|
|
86
|
+
const value = field(fm, name);
|
|
87
|
+
if (value === null)
|
|
88
|
+
continue;
|
|
89
|
+
// `modules:` may be a YAML block list; the checklist reads both.
|
|
90
|
+
if (name === "modules" && value === "")
|
|
91
|
+
continue;
|
|
92
|
+
const items = value === ""
|
|
93
|
+
? blockItems(fm, name)
|
|
94
|
+
: value.startsWith("[")
|
|
95
|
+
? null
|
|
96
|
+
: value
|
|
97
|
+
.split(",")
|
|
98
|
+
.map((x) => x.trim())
|
|
99
|
+
.filter(Boolean);
|
|
100
|
+
if (items === null || items.length === 0)
|
|
101
|
+
continue;
|
|
102
|
+
out.push({
|
|
103
|
+
code: "brief_wrong_shape",
|
|
104
|
+
field: name,
|
|
105
|
+
message: `\`${name}:\` is written as ${value === "" ? "a list of lines" : `"${value}"`}, not as a [...] list.`,
|
|
106
|
+
fix: `Write it as ${name}: ${asList(items)}`,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
// Actors as bare names: `actors: [Admin]`, or ` - Admin`.
|
|
110
|
+
const actorsValue = field(fm, "actors");
|
|
111
|
+
if (actorsValue !== null) {
|
|
112
|
+
const bare = actorsValue.startsWith("[") && !actorsValue.includes("{")
|
|
113
|
+
? list(actorsValue)
|
|
114
|
+
: actorsValue === ""
|
|
115
|
+
? blockItems(fm, "actors").filter((x) => !x.startsWith("{"))
|
|
116
|
+
: actorsValue.startsWith("[") || actorsValue.startsWith("{")
|
|
117
|
+
? []
|
|
118
|
+
: [actorsValue];
|
|
119
|
+
for (const a of bare.filter((x) => !placeholder(x))) {
|
|
120
|
+
out.push({
|
|
121
|
+
code: "brief_wrong_shape",
|
|
122
|
+
field: "actors",
|
|
123
|
+
message: `The actor "${a}" is a bare name: Specgate cannot tell where ${a} uses the product.`,
|
|
124
|
+
fix: `Write it as - { name: ${a}, surfaces: [${oneSurface}] }, one line under actors:, with every place ${a} uses.`,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return out;
|
|
129
|
+
}
|
|
57
130
|
const placeholder = (v) => /<[^>]+>/.test(v);
|
|
58
131
|
const kebab = (s) => s
|
|
59
132
|
.toLowerCase()
|
|
@@ -83,6 +156,9 @@ function checkFrontMatter(brief) {
|
|
|
83
156
|
fix: "Replace it with your product in a few words.",
|
|
84
157
|
});
|
|
85
158
|
}
|
|
159
|
+
const shapes = wrongShapes(fm);
|
|
160
|
+
out.push(...shapes);
|
|
161
|
+
const misshapen = new Set(shapes.map((p) => p.field));
|
|
86
162
|
const surfaces = list(field(fm, "surfaces"));
|
|
87
163
|
const unfilled = surfaces.filter(placeholder);
|
|
88
164
|
if (unfilled.length > 0) {
|
|
@@ -104,7 +180,7 @@ function checkFrontMatter(brief) {
|
|
|
104
180
|
// Every `name:` is an actor; the checklist only reads `{ name: X, surfaces: [..] }`.
|
|
105
181
|
const named = [...text.matchAll(/\bname:\s*([^,}\n]+)/g)].map((m) => m[1].trim());
|
|
106
182
|
const actors = (0, DraftChecklist_1.actorSurfaces)(brief);
|
|
107
|
-
if (named.length === 0) {
|
|
183
|
+
if (named.length === 0 && !misshapen.has("actors")) {
|
|
108
184
|
out.push({
|
|
109
185
|
code: "brief_no_actors",
|
|
110
186
|
message: "There is no `actors:` list.",
|
|
@@ -154,7 +230,7 @@ function checkFrontMatter(brief) {
|
|
|
154
230
|
}
|
|
155
231
|
}
|
|
156
232
|
const modules = (0, DraftChecklist_1.briefModules)(brief);
|
|
157
|
-
if (modules.length === 0) {
|
|
233
|
+
if (modules.length === 0 && !misshapen.has("modules")) {
|
|
158
234
|
out.push({
|
|
159
235
|
code: "brief_no_modules",
|
|
160
236
|
message: "There is no `modules:` list, or it is empty.",
|
|
@@ -256,7 +332,7 @@ function noBriefExplanation(brief) {
|
|
|
256
332
|
"",
|
|
257
333
|
].join("\n");
|
|
258
334
|
}
|
|
259
|
-
/** `docs/brief.md` from `specgate draft --new-brief
|
|
335
|
+
/** `docs/brief.md` from `specgate draft --new-brief`: the fields, then a card per module (ADR-0038). */
|
|
260
336
|
exports.BRIEF_TEMPLATE = `---
|
|
261
337
|
# The product, in a few words.
|
|
262
338
|
# Example: Lingo — online lessons for a language school
|
|
@@ -275,33 +351,46 @@ actors:
|
|
|
275
351
|
# small enough to review in one sitting. Lowercase words with dashes.
|
|
276
352
|
# Example: [courses, lessons, exercises, progress]
|
|
277
353
|
modules: [<first-module>, <second-module>]
|
|
354
|
+
# Optional: what the product will not do, at least for now.
|
|
355
|
+
# non_goals: [payments, video calls]
|
|
278
356
|
---
|
|
279
357
|
|
|
280
358
|
# <your product>
|
|
281
359
|
|
|
282
|
-
##
|
|
360
|
+
## Why
|
|
283
361
|
|
|
284
|
-
<!--
|
|
362
|
+
<!-- The problem in two sentences, and one or two successes you can measure:
|
|
363
|
+
"a student finds today's lesson in under 10 seconds", never "fast". -->
|
|
285
364
|
|
|
286
|
-
##
|
|
365
|
+
## Glossary
|
|
287
366
|
|
|
288
|
-
<!--
|
|
367
|
+
<!-- The words of this business, one line each. Example:
|
|
368
|
+
- level: A1 to C2 of the CEFR -->
|
|
289
369
|
|
|
290
|
-
##
|
|
370
|
+
## Module: <first-module>
|
|
291
371
|
|
|
292
|
-
<!--
|
|
372
|
+
<!-- One section per module, in the order of modules:. Example:
|
|
373
|
+
Rules
|
|
374
|
+
- A course holds at most 12 students.
|
|
375
|
+
- When a course is full, joining it is refused with "This course is full".
|
|
376
|
+
Examples
|
|
377
|
+
- The one where Ana joins "Spanish A2", which has 11 students.
|
|
378
|
+
- The one where Ana tries to join "Spanish A2", which has 12.
|
|
379
|
+
Questions
|
|
380
|
+
- Can a student be in two courses at once? -->
|
|
293
381
|
|
|
294
|
-
|
|
382
|
+
Rules
|
|
383
|
+
- <one sentence: what must hold>
|
|
295
384
|
|
|
296
|
-
|
|
385
|
+
Examples
|
|
386
|
+
- <the one where …>
|
|
297
387
|
|
|
298
|
-
|
|
388
|
+
Questions
|
|
389
|
+
- <what you do not know yet>
|
|
299
390
|
|
|
300
|
-
|
|
391
|
+
## Notes
|
|
301
392
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
<!-- What the product will not do, at least for now. -->
|
|
393
|
+
<!-- Anything else, as it is: the client's email, meeting notes. -->
|
|
305
394
|
`;
|
|
306
395
|
/** Where the guide for an agent proposing the front matter is written. */
|
|
307
396
|
exports.BRIEF_SETUP_FILE = "docs/specs/BRIEF-SETUP.md";
|
|
@@ -365,4 +454,80 @@ function briefSetupPrompt(guide) {
|
|
|
365
454
|
guide,
|
|
366
455
|
].join("\n");
|
|
367
456
|
}
|
|
457
|
+
/** Where the guide for an agent proposing the module sections is written. */
|
|
458
|
+
exports.BRIEF_CARDS_FILE = "docs/specs/BRIEF-CARDS.md";
|
|
459
|
+
/** The line to paste into any agent to have it propose the module sections. */
|
|
460
|
+
exports.BRIEF_CARDS_PASTE = `Propose the module sections of docs/brief.md: follow ${exports.BRIEF_CARDS_FILE}`;
|
|
461
|
+
/** The guide an agent follows to propose a section per module (ADR-0038). */
|
|
462
|
+
function briefCardsGuide(brief, modules) {
|
|
463
|
+
return [
|
|
464
|
+
"# Propose the brief's module sections",
|
|
465
|
+
"",
|
|
466
|
+
`Read \`${brief}\` and add, at its end, one section per module of its front`,
|
|
467
|
+
`matter — ${modules.map((m) => `\`${m}\``).join(", ")} — in that order. A person reviews what you write.`,
|
|
468
|
+
"",
|
|
469
|
+
"## The rules",
|
|
470
|
+
"",
|
|
471
|
+
"- **Keep every line that is there.** Add sections below the text; never",
|
|
472
|
+
" change, move or delete a line of it. If one line is lost, your work is undone.",
|
|
473
|
+
"- **Only what the brief states.** Every rule, example and question comes from",
|
|
474
|
+
" the brief's own text. A value the brief does not give is a question, never a",
|
|
475
|
+
" guess.",
|
|
476
|
+
`- Write only \`${brief}\`. Anything else you write is undone.`,
|
|
477
|
+
"",
|
|
478
|
+
"## Each section",
|
|
479
|
+
"",
|
|
480
|
+
"```markdown",
|
|
481
|
+
"## Module: courses",
|
|
482
|
+
"",
|
|
483
|
+
"Rules",
|
|
484
|
+
"- A course holds at most 12 students.",
|
|
485
|
+
'- When a course is full, joining it is refused with "This course is full".',
|
|
486
|
+
"",
|
|
487
|
+
"Examples",
|
|
488
|
+
'- The one where Ana joins "Spanish A2", which has 11 students.',
|
|
489
|
+
'- The one where Ana tries to join "Spanish A2", which has 12.',
|
|
490
|
+
"",
|
|
491
|
+
"Questions",
|
|
492
|
+
"- Can a student be in two courses at once?",
|
|
493
|
+
"```",
|
|
494
|
+
"",
|
|
495
|
+
"- **Rules**: one sentence each, what must hold. Open with the condition when",
|
|
496
|
+
' there is one: "When …, …", "If …, then …". Numbers with their unit; labels',
|
|
497
|
+
" and messages in double quotes, exactly as the brief writes them.",
|
|
498
|
+
'- **Examples**: at least one per rule, "The one where …", with the rule\'s own',
|
|
499
|
+
" values.",
|
|
500
|
+
"- **Questions**: what the brief leaves open about this module, at most three.",
|
|
501
|
+
"",
|
|
502
|
+
"## Then",
|
|
503
|
+
"",
|
|
504
|
+
"Stop and show the sections to the person: they review them before anything",
|
|
505
|
+
"is drafted.",
|
|
506
|
+
"",
|
|
507
|
+
].join("\n");
|
|
508
|
+
}
|
|
509
|
+
function briefCardsPrompt(guide) {
|
|
510
|
+
return [
|
|
511
|
+
`Propose the module sections of docs/brief.md, following the guide below (also saved as ${exports.BRIEF_CARDS_FILE}).`,
|
|
512
|
+
"Specgate checks the brief itself as soon as you finish: do not run it, and do not ask for permission to.",
|
|
513
|
+
"",
|
|
514
|
+
"---",
|
|
515
|
+
"",
|
|
516
|
+
guide,
|
|
517
|
+
].join("\n");
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Whether every non-blank line of `before` is still in `after`, in order.
|
|
521
|
+
* An agent adding sections may add lines anywhere; it may not lose one.
|
|
522
|
+
*/
|
|
523
|
+
function keepsEveryLine(before, after) {
|
|
524
|
+
const want = before.split(/\r?\n/).filter((l) => l.trim() !== "");
|
|
525
|
+
const have = after.split(/\r?\n/);
|
|
526
|
+
let at = 0;
|
|
527
|
+
for (const line of have) {
|
|
528
|
+
if (at < want.length && line === want[at])
|
|
529
|
+
at += 1;
|
|
530
|
+
}
|
|
531
|
+
return at === want.length;
|
|
532
|
+
}
|
|
368
533
|
//# sourceMappingURL=brief-setup.js.map
|