@jakkrichm/create-nexus-devflow 2.6.2 → 2.7.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/README.md +3 -3
- package/dist/lib/doctor.js +30 -0
- package/dist/lib/doctor.js.map +1 -1
- package/dist/lib/project-config.d.ts +55 -0
- package/dist/lib/project-config.js +228 -0
- package/dist/lib/project-config.js.map +1 -0
- package/dist/lib/status.d.ts +7 -0
- package/dist/lib/status.js +23 -1
- package/dist/lib/status.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/continuous/SKILL.md +118 -0
- package/template/.agents/skills/doctor/SKILL.md +8 -0
- package/template/.claude/skills/continuous/SKILL.md +118 -0
- package/template/.claude/skills/doctor/SKILL.md +8 -0
- package/template/AGENTS.md +12 -5
- package/template/devflow/build-plan.md +9 -0
- package/template/devflow/config.json +33 -0
package/README.md
CHANGED
|
@@ -26,13 +26,13 @@ npx @jakkrichm/create-nexus-devflow@latest
|
|
|
26
26
|
|
|
27
27
|
The installer overlays the DevFlow workflow layer into your workspace:
|
|
28
28
|
- `AGENTS.md` & `CLAUDE.md` (Universal AI guidelines & cross-tool entry point)
|
|
29
|
-
- `.agents/skills/` (
|
|
30
|
-
- `.claude/skills/` (
|
|
29
|
+
- `.agents/skills/` (29 Core Skills for Google Antigravity, OpenAI Codex, Cursor, Copilot)
|
|
30
|
+
- `.claude/skills/` (29 Core Skills for Claude Code)
|
|
31
31
|
- `devflow/ideas.md` (Idea inbox with AI feasibility scoring)
|
|
32
32
|
- `devflow/context/` (Living spec & active delivery context)
|
|
33
33
|
- `devflow/history/` (Categorized delivery archives)
|
|
34
34
|
|
|
35
|
-
The
|
|
35
|
+
The 29 names come from the canonical bundled inventory. Local or Personal Skills
|
|
36
36
|
may coexist in a maintainer workspace, but the package builder excludes them
|
|
37
37
|
unless they are explicitly promoted into that inventory.
|
|
38
38
|
|
package/dist/lib/doctor.js
CHANGED
|
@@ -2,6 +2,7 @@ import fs from "node:fs/promises";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { isDevFlowProjectRoot } from "./project-root.js";
|
|
4
4
|
import { createStyle } from "./ui.js";
|
|
5
|
+
import { readProjectConfig } from "./project-config.js";
|
|
5
6
|
const DEFAULT_FINDINGS_STUB = `# Findings Ledger
|
|
6
7
|
|
|
7
8
|
> **Generated Ledger File.** Tracks quality findings, security vulnerabilities, regression risks, and architectural debt raised during review and QA passes.
|
|
@@ -419,6 +420,35 @@ export async function runDoctor(projectRoot, options = {}) {
|
|
|
419
420
|
fixed
|
|
420
421
|
});
|
|
421
422
|
}
|
|
423
|
+
// Check 9: Configuration (devflow/config.json)
|
|
424
|
+
const configResult = await readProjectConfig(projectRoot);
|
|
425
|
+
if (configResult.state === "project") {
|
|
426
|
+
checks.push({
|
|
427
|
+
id: "project_configuration",
|
|
428
|
+
name: "Project Configuration (devflow/config.json)",
|
|
429
|
+
status: "pass",
|
|
430
|
+
message: "Valid devflow/config.json configuration detected.",
|
|
431
|
+
fixable: false
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
else if (configResult.state === "defaults") {
|
|
435
|
+
checks.push({
|
|
436
|
+
id: "project_configuration",
|
|
437
|
+
name: "Project Configuration (devflow/config.json)",
|
|
438
|
+
status: "pass",
|
|
439
|
+
message: "Built-in defaults active (devflow/config.json not present).",
|
|
440
|
+
fixable: false
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
checks.push({
|
|
445
|
+
id: "project_configuration",
|
|
446
|
+
name: "Project Configuration (devflow/config.json)",
|
|
447
|
+
status: "warn",
|
|
448
|
+
message: configResult.warnings.map((w) => w.message).join(" "),
|
|
449
|
+
fixable: false
|
|
450
|
+
});
|
|
451
|
+
}
|
|
422
452
|
let passCount = 0;
|
|
423
453
|
let warnCount = 0;
|
|
424
454
|
let failCount = 0;
|
package/dist/lib/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../lib/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../lib/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
declare const PROJECT_CONFIG_PATH: string;
|
|
2
|
+
declare const PROJECT_CONFIG_SCHEMA_VERSION: 1;
|
|
3
|
+
type StepReviewPolicy = "every" | "feature";
|
|
4
|
+
type CheckpointCommitPolicy = "disabled" | "enabled";
|
|
5
|
+
type LogicTestPolicy = "required" | "when-configured";
|
|
6
|
+
type UiEvidencePolicy = "required" | "when-available";
|
|
7
|
+
type AuditGatePolicy = "always" | "manual" | "when-sensitive";
|
|
8
|
+
type CheckGatePolicy = "always" | "manual" | "when-behavioral";
|
|
9
|
+
type TryGuideGatePolicy = "always" | "manual" | "when-user-facing";
|
|
10
|
+
type ProjectConfigState = "defaults" | "invalid" | "project";
|
|
11
|
+
interface QualityGatePolicy {
|
|
12
|
+
audit: AuditGatePolicy;
|
|
13
|
+
check: CheckGatePolicy;
|
|
14
|
+
tryGuide: TryGuideGatePolicy;
|
|
15
|
+
}
|
|
16
|
+
interface ProjectConfig {
|
|
17
|
+
schemaVersion: typeof PROJECT_CONFIG_SCHEMA_VERSION;
|
|
18
|
+
workflow: {
|
|
19
|
+
stepReview: StepReviewPolicy;
|
|
20
|
+
checkpointCommits: CheckpointCommitPolicy;
|
|
21
|
+
};
|
|
22
|
+
git: {
|
|
23
|
+
featureBranchPrefix: string;
|
|
24
|
+
fixBranchPrefix: string;
|
|
25
|
+
rollbackBranchPrefix: string;
|
|
26
|
+
};
|
|
27
|
+
verification: {
|
|
28
|
+
logicTests: LogicTestPolicy;
|
|
29
|
+
uiEvidence: UiEvidencePolicy;
|
|
30
|
+
};
|
|
31
|
+
qualityGates: {
|
|
32
|
+
regular: QualityGatePolicy;
|
|
33
|
+
continuous: QualityGatePolicy;
|
|
34
|
+
};
|
|
35
|
+
continuous: {
|
|
36
|
+
maxFeatures: number | null;
|
|
37
|
+
maxRepairAttempts: number;
|
|
38
|
+
finalIntegrationAudit: boolean;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
interface ProjectConfigWarning {
|
|
42
|
+
code: "invalid_config";
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
interface ProjectConfigResult {
|
|
46
|
+
path: typeof PROJECT_CONFIG_PATH;
|
|
47
|
+
state: ProjectConfigState;
|
|
48
|
+
values: ProjectConfig;
|
|
49
|
+
warnings: ProjectConfigWarning[];
|
|
50
|
+
}
|
|
51
|
+
declare function createDefaultProjectConfig(): ProjectConfig;
|
|
52
|
+
declare function readProjectConfig(projectRoot: string): Promise<ProjectConfigResult>;
|
|
53
|
+
declare function parseProjectConfig(value: unknown): ProjectConfig;
|
|
54
|
+
export { PROJECT_CONFIG_PATH, PROJECT_CONFIG_SCHEMA_VERSION, createDefaultProjectConfig, parseProjectConfig, readProjectConfig };
|
|
55
|
+
export type { AuditGatePolicy, CheckpointCommitPolicy, CheckGatePolicy, LogicTestPolicy, ProjectConfig, ProjectConfigResult, ProjectConfigState, ProjectConfigWarning, QualityGatePolicy, StepReviewPolicy, TryGuideGatePolicy, UiEvidencePolicy };
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
const PROJECT_CONFIG_PATH = path.join("devflow", "config.json");
|
|
4
|
+
const PROJECT_CONFIG_SCHEMA_VERSION = 1;
|
|
5
|
+
function createDefaultProjectConfig() {
|
|
6
|
+
return {
|
|
7
|
+
schemaVersion: PROJECT_CONFIG_SCHEMA_VERSION,
|
|
8
|
+
workflow: {
|
|
9
|
+
stepReview: "every",
|
|
10
|
+
checkpointCommits: "enabled"
|
|
11
|
+
},
|
|
12
|
+
git: {
|
|
13
|
+
featureBranchPrefix: "feature/",
|
|
14
|
+
fixBranchPrefix: "fix/",
|
|
15
|
+
rollbackBranchPrefix: "rollback/"
|
|
16
|
+
},
|
|
17
|
+
verification: {
|
|
18
|
+
logicTests: "when-configured",
|
|
19
|
+
uiEvidence: "when-available"
|
|
20
|
+
},
|
|
21
|
+
qualityGates: {
|
|
22
|
+
regular: {
|
|
23
|
+
audit: "manual",
|
|
24
|
+
check: "manual",
|
|
25
|
+
tryGuide: "manual"
|
|
26
|
+
},
|
|
27
|
+
continuous: {
|
|
28
|
+
audit: "manual",
|
|
29
|
+
check: "manual",
|
|
30
|
+
tryGuide: "manual"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
continuous: {
|
|
34
|
+
maxFeatures: null,
|
|
35
|
+
maxRepairAttempts: 2,
|
|
36
|
+
finalIntegrationAudit: false
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function readProjectConfig(projectRoot) {
|
|
41
|
+
const configPath = path.join(projectRoot, PROJECT_CONFIG_PATH);
|
|
42
|
+
const defaults = createDefaultProjectConfig();
|
|
43
|
+
try {
|
|
44
|
+
const stats = await fs.lstat(configPath);
|
|
45
|
+
if (stats.isSymbolicLink()) {
|
|
46
|
+
return invalidResult("DevFlow config is a symbolic link and was not read.");
|
|
47
|
+
}
|
|
48
|
+
if (!stats.isFile()) {
|
|
49
|
+
return invalidResult("DevFlow config path is not a regular file.");
|
|
50
|
+
}
|
|
51
|
+
let parsed;
|
|
52
|
+
try {
|
|
53
|
+
parsed = JSON.parse(await fs.readFile(configPath, "utf8"));
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (error instanceof SyntaxError) {
|
|
57
|
+
return invalidResult(`Invalid DevFlow config JSON: ${PROJECT_CONFIG_PATH}`);
|
|
58
|
+
}
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
return {
|
|
63
|
+
path: PROJECT_CONFIG_PATH,
|
|
64
|
+
state: "project",
|
|
65
|
+
values: parseProjectConfig(parsed),
|
|
66
|
+
warnings: []
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return invalidResult(`Unsupported or invalid DevFlow config: ${PROJECT_CONFIG_PATH}. ${error instanceof Error ? error.message : String(error)}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
if (getErrorCode(error) === "ENOENT") {
|
|
75
|
+
return {
|
|
76
|
+
path: PROJECT_CONFIG_PATH,
|
|
77
|
+
state: "defaults",
|
|
78
|
+
values: defaults,
|
|
79
|
+
warnings: []
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return invalidResult(`Unable to read DevFlow config: ${error instanceof Error ? error.message : String(error)}`);
|
|
83
|
+
}
|
|
84
|
+
function invalidResult(message) {
|
|
85
|
+
return {
|
|
86
|
+
path: PROJECT_CONFIG_PATH,
|
|
87
|
+
state: "invalid",
|
|
88
|
+
values: defaults,
|
|
89
|
+
warnings: [{ code: "invalid_config", message }]
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function parseProjectConfig(value) {
|
|
94
|
+
const root = requireRecord(value, "config");
|
|
95
|
+
assertKnownKeys(root, [
|
|
96
|
+
"schemaVersion",
|
|
97
|
+
"workflow",
|
|
98
|
+
"git",
|
|
99
|
+
"verification",
|
|
100
|
+
"qualityGates",
|
|
101
|
+
"continuous"
|
|
102
|
+
], "config");
|
|
103
|
+
if (root.schemaVersion !== PROJECT_CONFIG_SCHEMA_VERSION) {
|
|
104
|
+
throw new Error(`schemaVersion must be ${PROJECT_CONFIG_SCHEMA_VERSION}.`);
|
|
105
|
+
}
|
|
106
|
+
const defaults = createDefaultProjectConfig();
|
|
107
|
+
const workflow = optionalRecord(root.workflow, "workflow");
|
|
108
|
+
const git = optionalRecord(root.git, "git");
|
|
109
|
+
const verification = optionalRecord(root.verification, "verification");
|
|
110
|
+
const qualityGates = optionalRecord(root.qualityGates, "qualityGates");
|
|
111
|
+
const regularGates = optionalRecord(qualityGates.regular, "qualityGates.regular");
|
|
112
|
+
const continuousGates = optionalRecord(qualityGates.continuous, "qualityGates.continuous");
|
|
113
|
+
const continuous = optionalRecord(root.continuous, "continuous");
|
|
114
|
+
assertKnownKeys(workflow, ["stepReview", "checkpointCommits"], "workflow");
|
|
115
|
+
assertKnownKeys(git, ["featureBranchPrefix", "fixBranchPrefix", "rollbackBranchPrefix"], "git");
|
|
116
|
+
assertKnownKeys(verification, ["logicTests", "uiEvidence"], "verification");
|
|
117
|
+
assertKnownKeys(qualityGates, ["regular", "continuous"], "qualityGates");
|
|
118
|
+
assertKnownKeys(regularGates, ["audit", "check", "tryGuide"], "qualityGates.regular");
|
|
119
|
+
assertKnownKeys(continuousGates, ["audit", "check", "tryGuide"], "qualityGates.continuous");
|
|
120
|
+
assertKnownKeys(continuous, ["maxFeatures", "maxRepairAttempts", "finalIntegrationAudit"], "continuous");
|
|
121
|
+
return {
|
|
122
|
+
schemaVersion: PROJECT_CONFIG_SCHEMA_VERSION,
|
|
123
|
+
workflow: {
|
|
124
|
+
stepReview: optionalEnum(workflow.stepReview, ["every", "feature"], defaults.workflow.stepReview, "workflow.stepReview"),
|
|
125
|
+
checkpointCommits: optionalEnum(workflow.checkpointCommits, ["disabled", "enabled"], defaults.workflow.checkpointCommits, "workflow.checkpointCommits")
|
|
126
|
+
},
|
|
127
|
+
git: {
|
|
128
|
+
featureBranchPrefix: optionalBranchPrefix(git.featureBranchPrefix, defaults.git.featureBranchPrefix, "git.featureBranchPrefix"),
|
|
129
|
+
fixBranchPrefix: optionalBranchPrefix(git.fixBranchPrefix, defaults.git.fixBranchPrefix, "git.fixBranchPrefix"),
|
|
130
|
+
rollbackBranchPrefix: optionalBranchPrefix(git.rollbackBranchPrefix, defaults.git.rollbackBranchPrefix, "git.rollbackBranchPrefix")
|
|
131
|
+
},
|
|
132
|
+
verification: {
|
|
133
|
+
logicTests: optionalEnum(verification.logicTests, ["required", "when-configured"], defaults.verification.logicTests, "verification.logicTests"),
|
|
134
|
+
uiEvidence: optionalEnum(verification.uiEvidence, ["required", "when-available"], defaults.verification.uiEvidence, "verification.uiEvidence")
|
|
135
|
+
},
|
|
136
|
+
qualityGates: {
|
|
137
|
+
regular: parseQualityGatePolicy(regularGates, defaults.qualityGates.regular, "qualityGates.regular"),
|
|
138
|
+
continuous: parseQualityGatePolicy(continuousGates, defaults.qualityGates.continuous, "qualityGates.continuous")
|
|
139
|
+
},
|
|
140
|
+
continuous: {
|
|
141
|
+
maxFeatures: optionalNullablePositiveInteger(continuous.maxFeatures, defaults.continuous.maxFeatures, "continuous.maxFeatures"),
|
|
142
|
+
maxRepairAttempts: optionalBoundedInteger(continuous.maxRepairAttempts, defaults.continuous.maxRepairAttempts, "continuous.maxRepairAttempts", 0, 10),
|
|
143
|
+
finalIntegrationAudit: optionalBoolean(continuous.finalIntegrationAudit, defaults.continuous.finalIntegrationAudit, "continuous.finalIntegrationAudit")
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function parseQualityGatePolicy(value, defaults, label) {
|
|
148
|
+
return {
|
|
149
|
+
audit: optionalEnum(value.audit, ["always", "manual", "when-sensitive"], defaults.audit, `${label}.audit`),
|
|
150
|
+
check: optionalEnum(value.check, ["always", "manual", "when-behavioral"], defaults.check, `${label}.check`),
|
|
151
|
+
tryGuide: optionalEnum(value.tryGuide, ["always", "manual", "when-user-facing"], defaults.tryGuide, `${label}.tryGuide`)
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function requireRecord(value, label) {
|
|
155
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
156
|
+
throw new Error(`${label} must be an object.`);
|
|
157
|
+
}
|
|
158
|
+
return value;
|
|
159
|
+
}
|
|
160
|
+
function optionalRecord(value, label) {
|
|
161
|
+
return value === undefined ? {} : requireRecord(value, label);
|
|
162
|
+
}
|
|
163
|
+
function assertKnownKeys(record, allowed, label) {
|
|
164
|
+
const unknown = Object.keys(record).filter((key) => !allowed.includes(key));
|
|
165
|
+
if (unknown.length > 0) {
|
|
166
|
+
throw new Error(`${label} contains unknown key${unknown.length === 1 ? "" : "s"}: ${unknown.join(", ")}.`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function optionalEnum(value, allowed, fallback, label) {
|
|
170
|
+
if (value === undefined) {
|
|
171
|
+
return fallback;
|
|
172
|
+
}
|
|
173
|
+
if (typeof value !== "string" || !allowed.includes(value)) {
|
|
174
|
+
throw new Error(`${label} must be one of: ${allowed.join(", ")}.`);
|
|
175
|
+
}
|
|
176
|
+
return value;
|
|
177
|
+
}
|
|
178
|
+
function optionalBranchPrefix(value, fallback, label) {
|
|
179
|
+
if (value === undefined) {
|
|
180
|
+
return fallback;
|
|
181
|
+
}
|
|
182
|
+
if (typeof value !== "string" || !/^[a-z][a-z0-9-]*\/$/.test(value)) {
|
|
183
|
+
throw new Error(`${label} must be a lowercase branch prefix ending in /, such as feature/.`);
|
|
184
|
+
}
|
|
185
|
+
return value;
|
|
186
|
+
}
|
|
187
|
+
function optionalNullablePositiveInteger(value, fallback, label) {
|
|
188
|
+
if (value === undefined) {
|
|
189
|
+
return fallback;
|
|
190
|
+
}
|
|
191
|
+
if (value === null) {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
if (!Number.isInteger(value) || value < 1) {
|
|
195
|
+
throw new Error(`${label} must be null or a positive integer.`);
|
|
196
|
+
}
|
|
197
|
+
return value;
|
|
198
|
+
}
|
|
199
|
+
function optionalBoundedInteger(value, fallback, label, minimum, maximum) {
|
|
200
|
+
if (value === undefined) {
|
|
201
|
+
return fallback;
|
|
202
|
+
}
|
|
203
|
+
if (!Number.isInteger(value) ||
|
|
204
|
+
value < minimum ||
|
|
205
|
+
value > maximum) {
|
|
206
|
+
throw new Error(`${label} must be an integer from ${minimum} through ${maximum}.`);
|
|
207
|
+
}
|
|
208
|
+
return value;
|
|
209
|
+
}
|
|
210
|
+
function optionalBoolean(value, fallback, label) {
|
|
211
|
+
if (value === undefined) {
|
|
212
|
+
return fallback;
|
|
213
|
+
}
|
|
214
|
+
if (typeof value !== "boolean") {
|
|
215
|
+
throw new Error(`${label} must be true or false.`);
|
|
216
|
+
}
|
|
217
|
+
return value;
|
|
218
|
+
}
|
|
219
|
+
function getErrorCode(error) {
|
|
220
|
+
return typeof error === "object" &&
|
|
221
|
+
error !== null &&
|
|
222
|
+
"code" in error &&
|
|
223
|
+
typeof error.code === "string"
|
|
224
|
+
? error.code
|
|
225
|
+
: undefined;
|
|
226
|
+
}
|
|
227
|
+
export { PROJECT_CONFIG_PATH, PROJECT_CONFIG_SCHEMA_VERSION, createDefaultProjectConfig, parseProjectConfig, readProjectConfig };
|
|
228
|
+
//# sourceMappingURL=project-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../lib/project-config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/status.d.ts
CHANGED
|
@@ -4,11 +4,17 @@ import type { Finding, FindingStatus } from "./findings.js";
|
|
|
4
4
|
import type { GitStatusSummary } from "./git-status.js";
|
|
5
5
|
import type { ProjectAdapter } from "./project-metadata.js";
|
|
6
6
|
import type { IdeasSummary } from "./ideas.js";
|
|
7
|
+
import type { ProjectConfig, ProjectConfigState } from "./project-config.js";
|
|
7
8
|
type CompletionState = "blocked" | "needs_verification" | "ready";
|
|
8
9
|
interface StatusWarning {
|
|
9
10
|
code: string;
|
|
10
11
|
message: string;
|
|
11
12
|
}
|
|
13
|
+
interface StatusConfiguration {
|
|
14
|
+
path: string;
|
|
15
|
+
state: ProjectConfigState;
|
|
16
|
+
values: ProjectConfig;
|
|
17
|
+
}
|
|
12
18
|
interface StatusCurrentWork {
|
|
13
19
|
state: CurrentWorkSummary["state"];
|
|
14
20
|
type: CurrentWorkType | null;
|
|
@@ -50,6 +56,7 @@ interface ProjectStatus {
|
|
|
50
56
|
version: string | null;
|
|
51
57
|
adapters: ProjectAdapter[];
|
|
52
58
|
};
|
|
59
|
+
configuration: StatusConfiguration;
|
|
53
60
|
currentWork: StatusCurrentWork;
|
|
54
61
|
activeRuns: ActiveRunSummary[];
|
|
55
62
|
findings: StatusFindings;
|
package/dist/lib/status.js
CHANGED
|
@@ -5,10 +5,12 @@ import { readFindings } from "./findings.js";
|
|
|
5
5
|
import { readGitStatus } from "./git-status.js";
|
|
6
6
|
import { readProjectMetadata } from "./project-metadata.js";
|
|
7
7
|
import { readIdeas } from "./ideas.js";
|
|
8
|
+
import { readProjectConfig } from "./project-config.js";
|
|
8
9
|
async function readProjectStatus(startPath = process.cwd()) {
|
|
9
10
|
const metadata = await readProjectMetadata(startPath);
|
|
10
|
-
const [contextPaths, currentWork, activeRuns, findings, git, ideas] = await Promise.all([
|
|
11
|
+
const [contextPaths, config, currentWork, activeRuns, findings, git, ideas] = await Promise.all([
|
|
11
12
|
resolveActiveContextPaths(metadata.project.root),
|
|
13
|
+
readProjectConfig(metadata.project.root),
|
|
12
14
|
readCurrentWork(metadata.project.root),
|
|
13
15
|
listActiveRunContexts(metadata.project.root),
|
|
14
16
|
readFindings(metadata.project.root),
|
|
@@ -22,6 +24,7 @@ async function readProjectStatus(startPath = process.cwd()) {
|
|
|
22
24
|
catch { }
|
|
23
25
|
const warnings = [
|
|
24
26
|
...metadata.warnings,
|
|
27
|
+
...config.warnings,
|
|
25
28
|
...currentWork.warnings,
|
|
26
29
|
...findings.warnings,
|
|
27
30
|
...findDrift(currentWork, git)
|
|
@@ -35,6 +38,11 @@ async function readProjectStatus(startPath = process.cwd()) {
|
|
|
35
38
|
: "ok",
|
|
36
39
|
project: metadata.project,
|
|
37
40
|
devflow: metadata.devflow,
|
|
41
|
+
configuration: {
|
|
42
|
+
path: config.path,
|
|
43
|
+
state: config.state,
|
|
44
|
+
values: config.values
|
|
45
|
+
},
|
|
38
46
|
currentWork: formatCurrentWork(currentWork),
|
|
39
47
|
activeRuns,
|
|
40
48
|
findings: formatFindings(findings),
|
|
@@ -57,6 +65,8 @@ function formatHumanStatus(status, options = {}) {
|
|
|
57
65
|
formatRow("Path", status.project.root, style),
|
|
58
66
|
formatRow("Version", status.devflow.version || "unknown", style),
|
|
59
67
|
formatRow("Adapters", adapters, style),
|
|
68
|
+
formatRow("Config", formatConfigValue(status.configuration.state), style),
|
|
69
|
+
formatRow("Quality gates", formatQualityGates(status.configuration.values.qualityGates.regular), style),
|
|
60
70
|
"",
|
|
61
71
|
formatSection("Progress", style),
|
|
62
72
|
formatRow("Work", formatWorkValue(status.currentWork, style), style)
|
|
@@ -85,6 +95,18 @@ function formatHumanStatus(status, options = {}) {
|
|
|
85
95
|
lines.push(` ${status.nextAction.reason}`);
|
|
86
96
|
return lines.join("\n");
|
|
87
97
|
}
|
|
98
|
+
function formatConfigValue(state) {
|
|
99
|
+
if (state === "project") {
|
|
100
|
+
return "project settings";
|
|
101
|
+
}
|
|
102
|
+
if (state === "invalid") {
|
|
103
|
+
return "invalid, using defaults";
|
|
104
|
+
}
|
|
105
|
+
return "built-in defaults";
|
|
106
|
+
}
|
|
107
|
+
function formatQualityGates(gates) {
|
|
108
|
+
return `audit ${gates.audit}, check ${gates.check}, try guide ${gates.tryGuide}`;
|
|
109
|
+
}
|
|
88
110
|
function shouldUseColor(isTTY = process.stdout.isTTY, environment = process.env) {
|
|
89
111
|
return isTTY === true && !Object.hasOwn(environment, "NO_COLOR");
|
|
90
112
|
}
|
package/dist/lib/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../lib/status.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../lib/status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: continuous
|
|
3
|
+
description: "[devflow] Autonomous multi-feature delivery loop in Nexus-DevFlow: completes planned features serially from devflow/build-plan.md without review pauses. Maintains safety boundaries, Single Living Spec (current-feature.md), branch isolation, TDD verification, quality gates, and local squash-merges into main. Use when running /continuous, $continuous, or executing Continuous Mode."
|
|
4
|
+
argument-hint: "[{resume, max-features, or start-feature}]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# continuous - Complete the Build Plan One Local Feature at a Time
|
|
8
|
+
|
|
9
|
+
Where this sits in the workflow:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
/status ──▶ [continuous] ──▶ Final Review Packet
|
|
13
|
+
(ready) (Serial Loop: (Local main only,
|
|
14
|
+
Spec ➔ TDD ➔ never pushed)
|
|
15
|
+
Gates ➔ Merge)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`/continuous` (หรือ `$continuous`) คือโหมดการทำงานแบบ Autonomous Multi-Feature Delivery Loop สำหรับจัดส่งฟีเจอร์ที่อยู่ใน `devflow/build-plan.md` ต่อเนื่องทีละฟีเจอร์ในเครื่อง Local โดยไม่ต้องหยุดรอ Manual Review Prompts ในแต่ละขั้นตอนย่อย แต่ยังคงรักษาความเข้มงวดของ **The 3-Pillars Model & Single Living Spec (`current-feature.md`)**, การทำ TDD, การตรวจ Quality Gates, การบันทึก Findings Ledger, และการ Squash-merge ลง Local Main Commit ทีละฟีเจอร์อย่างปลอดภัย 100%
|
|
19
|
+
|
|
20
|
+
### ขอบเขตสิทธิ์ที่ได้รับอนุญาตเฉพาะในเครื่อง Local:
|
|
21
|
+
- สร้างและสลับ Feature Branch ในเครื่อง Local
|
|
22
|
+
- บันทึก Checkpoint Commits ย่อยบน Branch
|
|
23
|
+
- บันทึก Feature Commit สุดท้าย
|
|
24
|
+
- Squash-merge ฟีเจอร์ที่เสร็จสมบูรณ์ลง Default Branch ของ Local
|
|
25
|
+
- ลบ Feature Branch เฉพาะใน Local หลังรวมโค้ดสำเร็จ
|
|
26
|
+
- วนลูปเริ่มทำฟีเจอร์ที่ยังไม่ได้เช็ค (`- [ ]`) รายการถัดไปใน `build-plan.md`
|
|
27
|
+
|
|
28
|
+
### ข้อจำกัดความปลอดภัยเด็ดขาด (Strict Safety Boundaries):
|
|
29
|
+
- **ห้าม** Push ขึ้น Remote Repository
|
|
30
|
+
- **ห้าม** Deploy หรือเผยแพร่ (Publish) สู่ภายนอก
|
|
31
|
+
- **ห้าม** ลบข้อมูลจริง, ทำลาย Database, หรือรัน Destructive Migration
|
|
32
|
+
- **ห้าม** กด Accept Finding หรือเพิกเฉยต่อ Failing Quality Gate แทนมนุษย์
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Input & Target Selection
|
|
37
|
+
|
|
38
|
+
- **ไม่ระบุ Argument (`/continuous`)**:
|
|
39
|
+
1. หากมีฟีเจอร์ค้างอยู่ใน `devflow/context/current-feature.md` ให้ทำต่อจากขั้นตอนย่อยแรกที่ยังไม่ได้เช็ค (`- [ ]`)
|
|
40
|
+
2. หากไม่มี ให้เลือกฟีเจอร์แรกที่ยังไม่ได้เช็ค (`- [ ]`) ใน `devflow/build-plan.md`
|
|
41
|
+
3. วนลูปทำต่อเนื่องตามลำดับใน `build-plan.md` จนกว่าจะหมด หรือครบตามจำนวน `continuous.maxFeatures` ใน `devflow/config.json`
|
|
42
|
+
- **ระบุ `resume` (`/continuous resume`)**: ทำงานต่อจากฟีเจอร์และขั้นตอนย่อยที่ค้างอยู่ทันที
|
|
43
|
+
- **ระบุชื่อหรือหมายเลขฟีเจอร์ (`/continuous 13`)**: เริ่มต้นจากฟีเจอร์ที่ระบุ แล้ววนลูปต่อไปยังฟีเจอร์ถัดไป
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 1: Preflight Safety Check (ตรวจสอบความพร้อมก่อนเริ่ม)
|
|
48
|
+
|
|
49
|
+
อ่านบริบทตั้งต้น:
|
|
50
|
+
- `AGENTS.md`
|
|
51
|
+
- `devflow/config.json` (หากไม่มี ให้ใช้ค่า Defaults อย่างปลอดภัย; หาก Invalid ให้หยุดและชี้ไปที่ `/doctor`)
|
|
52
|
+
- `devflow/project-plan.md` และ `devflow/build-plan.md`
|
|
53
|
+
- `devflow/context/project-overview.md`
|
|
54
|
+
- `devflow/context/current-feature.md` และ `devflow/context/current-stage.md`
|
|
55
|
+
- `devflow/context/findings.md`
|
|
56
|
+
- `devflow/context/coding-standards.md` และ `devflow/context/ai-interaction.md`
|
|
57
|
+
- สถานะ Git (`git status`, `git branch`, recent log)
|
|
58
|
+
|
|
59
|
+
### กฎการเริ่มงาน (Start Conditions):
|
|
60
|
+
1. สถานะ Git Working Tree สะอาด (Clean) บน Default Branch หรือมีเฉพาะ Diff ของฟีเจอร์ปัจจุบัน
|
|
61
|
+
2. `devflow/build-plan.md` มีฟีเจอร์ที่ยังไม่ได้ทำเหลืออยู่
|
|
62
|
+
3. ไม่มี Finding ระดับ P0 หรือ P1 ค้างในสถานะ `open` หรือ `fixed`
|
|
63
|
+
4. บันทึก Commit SHA ตั้งต้นของ Default Branch ไว้สำหรับสรุปผลในรายงานสุดท้าย
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Step 2: Serial Feature Lifecycle (วงจรการส่งมอบทีละฟีเจอร์)
|
|
68
|
+
|
|
69
|
+
ดำเนินงานวนลูปทีละ 1 ฟีเจอร์ตามลำดับ:
|
|
70
|
+
|
|
71
|
+
### 2.1 Select & Spec (เลือกและร่างสเปก)
|
|
72
|
+
- หาก Resuming: ใช้ Spec เดิมใน `current-feature.md`
|
|
73
|
+
- หากเป็นฟีเจอร์ใหม่: ถอดความต้องการจาก `build-plan.md` และสร้าง Single Living Spec ลงใน `devflow/context/current-feature.md` พร้อมวิเคราะห์ Red-team ก่อนเริ่มโค้ด
|
|
74
|
+
|
|
75
|
+
### 2.2 Create / Resume Feature Branch
|
|
76
|
+
- สร้าง Branch ตาม Prefix ใน Config (เช่น `feature/060-slug`) จาก Default Branch
|
|
77
|
+
|
|
78
|
+
### 2.3 Implement Small Steps with Strict TDD
|
|
79
|
+
- ดำเนินการสร้างฟังก์ชันทีละ Task ตาม Checklist ใน Spec:
|
|
80
|
+
1. `[TDD-Red]`: เขียน Unit Test ก่อน
|
|
81
|
+
2. `[TDD-Green]`: เขียนโค้ดขั้นต่ำให้ Test ผ่าน
|
|
82
|
+
3. `[TDD-Refactor]`: ปรับแต่งโค้ดให้สะอาดและรัน Verification ผ่าน
|
|
83
|
+
4. ทำเครื่องหมาย `- [x]` ใน Spec และบันทึก Checkpoint Commit บน Branch (หาก `workflow.checkpointCommits: "enabled"`)
|
|
84
|
+
|
|
85
|
+
### 2.4 Apply Continuous Quality Gates
|
|
86
|
+
ตรวจสอบตามการตั้งค่า `qualityGates.continuous` ใน `devflow/config.json`:
|
|
87
|
+
- **Audit**: `manual` (ข้ามอัตโนมัติ), `when-sensitive` (รันเมื่อแตะ Auth/Security/Database/Secrets), `always` (รันทุกฟีเจอร์)
|
|
88
|
+
- **Check**: `manual` (ข้ามอัตโนมัติ), `when-behavioral` (รันเมื่อมี Runtime Behavior เช่น UI/CLI/API), `always` (รันทุกฟีเจอร์)
|
|
89
|
+
- **Try Guide**: `manual` (ข้ามอัตโนมัติ), `when-user-facing` (สร้าง Try Guide เมื่อเป็น UI/CLI), `always` (สร้างทุกฟีเจอร์)
|
|
90
|
+
|
|
91
|
+
### 2.5 Repair Findings
|
|
92
|
+
- ซ่อมแซม Finding ระดับ P0/P1 ที่เกิดขึ้นจากฟีเจอร์นี้โดยอัตโนมัติ (ไม่เกิน `continuous.maxRepairAttempts` ครั้ง)
|
|
93
|
+
- หากไม่สามารถซ่อมแซมได้ หรือมี P0/P1 ค้างอยู่ ให้หยุดการทำงานทันที
|
|
94
|
+
|
|
95
|
+
### 2.6 Complete Locally Like a Human
|
|
96
|
+
- รัน Verification ขั้นสุดท้าย
|
|
97
|
+
- ย้ายและ Archive เอกสารไปที่ `devflow/history/features/{xxx-slug}.md`
|
|
98
|
+
- อัปเดตเช็คบ็อกซ์ใน `devflow/build-plan.md`
|
|
99
|
+
- รีเซ็ต `devflow/context/current-feature.md` กลับสู่ Stub
|
|
100
|
+
- Squash-merge Feature Branch เข้าสู่ Local Main และลบ Feature Branch ใน Local
|
|
101
|
+
- นับจำนวนฟีเจอร์ที่สำเร็จเพิ่มขึ้น 1
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Step 3: Optional Final Integration Audit
|
|
106
|
+
|
|
107
|
+
เมื่อครบกำหนดจำนวนฟีเจอร์หรือหมด `build-plan.md` หาก `continuous.finalIntegrationAudit: true` ให้รันการตรวจสอบความเข้ากันได้แบบบูรณาการ (Cross-Feature Contracts & Seams) จากจุดเริ่มต้นถึง HEAD ปัจจุบัน
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Step 4: Stop & Report (สรุปรายงานผลลัพธ์)
|
|
112
|
+
|
|
113
|
+
เมื่อการทำงานสิ้นสุด (ไม่ว่าจะสำเร็จครบถ้วน หรือหยุดเนื่องจากติดเงื่อนไขความปลอดภัย) ให้รายงานสรุปเป็นภาษาไทย:
|
|
114
|
+
- Commit เริ่มต้น และ Commit สุดท้ายของ Default Branch
|
|
115
|
+
- รายชื่อฟีเจอร์ที่จัดส่งสำเร็จในรอบนี้ พร้อม Commit Hash
|
|
116
|
+
- ผลการรัน Quality Gates และการซ่อมแซม Findings (ถ้ามี)
|
|
117
|
+
- ความคืบหน้าภาพรวมของ `build-plan.md` และฟีเจอร์ถัดไป
|
|
118
|
+
- ย้ำเตือนชัดเจนว่า **ไม่มีการ Push ใดๆ ขึ้น Remote Repository**
|
|
@@ -48,6 +48,14 @@ Gather these, then summarize. Do not dump file contents.
|
|
|
48
48
|
- If `.gitignore` marks DevFlow workflow files as local-only, still require
|
|
49
49
|
the files to exist on disk. Ignored but present is healthy; ignored and
|
|
50
50
|
missing means the local workflow needs to be restored.
|
|
51
|
+
- Read `devflow/config.json` when present. Missing is healthy and means
|
|
52
|
+
built-in defaults. When present, require a regular non-symbolic-link JSON
|
|
53
|
+
file with `schemaVersion: 1`. Reject unknown keys and unsupported values.
|
|
54
|
+
Report the effective workflow, git, verification, regular quality-gate,
|
|
55
|
+
Continuous quality-gate, and Continuous Mode settings. Confirm each audit,
|
|
56
|
+
check, and try-guide gate uses its supported values and defaults to `manual`.
|
|
57
|
+
An invalid config is a setup blocker for mutating workflow skills because
|
|
58
|
+
they must not guess which policy to follow.
|
|
51
59
|
2. **Tool adapters**
|
|
52
60
|
- Read `.nexus/nexus-devflow.json` when present and report its exact
|
|
53
61
|
logical adapters: Codex, Claude Code, GitHub Copilot, Antigravity, and OpenCode.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: continuous
|
|
3
|
+
description: "[devflow] Autonomous multi-feature delivery loop in Nexus-DevFlow: completes planned features serially from devflow/build-plan.md without review pauses. Maintains safety boundaries, Single Living Spec (current-feature.md), branch isolation, TDD verification, quality gates, and local squash-merges into main. Use when running /continuous, $continuous, or executing Continuous Mode."
|
|
4
|
+
argument-hint: "[{resume, max-features, or start-feature}]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# continuous - Complete the Build Plan One Local Feature at a Time
|
|
8
|
+
|
|
9
|
+
Where this sits in the workflow:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
/status ──▶ [continuous] ──▶ Final Review Packet
|
|
13
|
+
(ready) (Serial Loop: (Local main only,
|
|
14
|
+
Spec ➔ TDD ➔ never pushed)
|
|
15
|
+
Gates ➔ Merge)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`/continuous` (หรือ `$continuous`) คือโหมดการทำงานแบบ Autonomous Multi-Feature Delivery Loop สำหรับจัดส่งฟีเจอร์ที่อยู่ใน `devflow/build-plan.md` ต่อเนื่องทีละฟีเจอร์ในเครื่อง Local โดยไม่ต้องหยุดรอ Manual Review Prompts ในแต่ละขั้นตอนย่อย แต่ยังคงรักษาความเข้มงวดของ **The 3-Pillars Model & Single Living Spec (`current-feature.md`)**, การทำ TDD, การตรวจ Quality Gates, การบันทึก Findings Ledger, และการ Squash-merge ลง Local Main Commit ทีละฟีเจอร์อย่างปลอดภัย 100%
|
|
19
|
+
|
|
20
|
+
### ขอบเขตสิทธิ์ที่ได้รับอนุญาตเฉพาะในเครื่อง Local:
|
|
21
|
+
- สร้างและสลับ Feature Branch ในเครื่อง Local
|
|
22
|
+
- บันทึก Checkpoint Commits ย่อยบน Branch
|
|
23
|
+
- บันทึก Feature Commit สุดท้าย
|
|
24
|
+
- Squash-merge ฟีเจอร์ที่เสร็จสมบูรณ์ลง Default Branch ของ Local
|
|
25
|
+
- ลบ Feature Branch เฉพาะใน Local หลังรวมโค้ดสำเร็จ
|
|
26
|
+
- วนลูปเริ่มทำฟีเจอร์ที่ยังไม่ได้เช็ค (`- [ ]`) รายการถัดไปใน `build-plan.md`
|
|
27
|
+
|
|
28
|
+
### ข้อจำกัดความปลอดภัยเด็ดขาด (Strict Safety Boundaries):
|
|
29
|
+
- **ห้าม** Push ขึ้น Remote Repository
|
|
30
|
+
- **ห้าม** Deploy หรือเผยแพร่ (Publish) สู่ภายนอก
|
|
31
|
+
- **ห้าม** ลบข้อมูลจริง, ทำลาย Database, หรือรัน Destructive Migration
|
|
32
|
+
- **ห้าม** กด Accept Finding หรือเพิกเฉยต่อ Failing Quality Gate แทนมนุษย์
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Input & Target Selection
|
|
37
|
+
|
|
38
|
+
- **ไม่ระบุ Argument (`/continuous`)**:
|
|
39
|
+
1. หากมีฟีเจอร์ค้างอยู่ใน `devflow/context/current-feature.md` ให้ทำต่อจากขั้นตอนย่อยแรกที่ยังไม่ได้เช็ค (`- [ ]`)
|
|
40
|
+
2. หากไม่มี ให้เลือกฟีเจอร์แรกที่ยังไม่ได้เช็ค (`- [ ]`) ใน `devflow/build-plan.md`
|
|
41
|
+
3. วนลูปทำต่อเนื่องตามลำดับใน `build-plan.md` จนกว่าจะหมด หรือครบตามจำนวน `continuous.maxFeatures` ใน `devflow/config.json`
|
|
42
|
+
- **ระบุ `resume` (`/continuous resume`)**: ทำงานต่อจากฟีเจอร์และขั้นตอนย่อยที่ค้างอยู่ทันที
|
|
43
|
+
- **ระบุชื่อหรือหมายเลขฟีเจอร์ (`/continuous 13`)**: เริ่มต้นจากฟีเจอร์ที่ระบุ แล้ววนลูปต่อไปยังฟีเจอร์ถัดไป
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 1: Preflight Safety Check (ตรวจสอบความพร้อมก่อนเริ่ม)
|
|
48
|
+
|
|
49
|
+
อ่านบริบทตั้งต้น:
|
|
50
|
+
- `AGENTS.md`
|
|
51
|
+
- `devflow/config.json` (หากไม่มี ให้ใช้ค่า Defaults อย่างปลอดภัย; หาก Invalid ให้หยุดและชี้ไปที่ `/doctor`)
|
|
52
|
+
- `devflow/project-plan.md` และ `devflow/build-plan.md`
|
|
53
|
+
- `devflow/context/project-overview.md`
|
|
54
|
+
- `devflow/context/current-feature.md` และ `devflow/context/current-stage.md`
|
|
55
|
+
- `devflow/context/findings.md`
|
|
56
|
+
- `devflow/context/coding-standards.md` และ `devflow/context/ai-interaction.md`
|
|
57
|
+
- สถานะ Git (`git status`, `git branch`, recent log)
|
|
58
|
+
|
|
59
|
+
### กฎการเริ่มงาน (Start Conditions):
|
|
60
|
+
1. สถานะ Git Working Tree สะอาด (Clean) บน Default Branch หรือมีเฉพาะ Diff ของฟีเจอร์ปัจจุบัน
|
|
61
|
+
2. `devflow/build-plan.md` มีฟีเจอร์ที่ยังไม่ได้ทำเหลืออยู่
|
|
62
|
+
3. ไม่มี Finding ระดับ P0 หรือ P1 ค้างในสถานะ `open` หรือ `fixed`
|
|
63
|
+
4. บันทึก Commit SHA ตั้งต้นของ Default Branch ไว้สำหรับสรุปผลในรายงานสุดท้าย
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Step 2: Serial Feature Lifecycle (วงจรการส่งมอบทีละฟีเจอร์)
|
|
68
|
+
|
|
69
|
+
ดำเนินงานวนลูปทีละ 1 ฟีเจอร์ตามลำดับ:
|
|
70
|
+
|
|
71
|
+
### 2.1 Select & Spec (เลือกและร่างสเปก)
|
|
72
|
+
- หาก Resuming: ใช้ Spec เดิมใน `current-feature.md`
|
|
73
|
+
- หากเป็นฟีเจอร์ใหม่: ถอดความต้องการจาก `build-plan.md` และสร้าง Single Living Spec ลงใน `devflow/context/current-feature.md` พร้อมวิเคราะห์ Red-team ก่อนเริ่มโค้ด
|
|
74
|
+
|
|
75
|
+
### 2.2 Create / Resume Feature Branch
|
|
76
|
+
- สร้าง Branch ตาม Prefix ใน Config (เช่น `feature/060-slug`) จาก Default Branch
|
|
77
|
+
|
|
78
|
+
### 2.3 Implement Small Steps with Strict TDD
|
|
79
|
+
- ดำเนินการสร้างฟังก์ชันทีละ Task ตาม Checklist ใน Spec:
|
|
80
|
+
1. `[TDD-Red]`: เขียน Unit Test ก่อน
|
|
81
|
+
2. `[TDD-Green]`: เขียนโค้ดขั้นต่ำให้ Test ผ่าน
|
|
82
|
+
3. `[TDD-Refactor]`: ปรับแต่งโค้ดให้สะอาดและรัน Verification ผ่าน
|
|
83
|
+
4. ทำเครื่องหมาย `- [x]` ใน Spec และบันทึก Checkpoint Commit บน Branch (หาก `workflow.checkpointCommits: "enabled"`)
|
|
84
|
+
|
|
85
|
+
### 2.4 Apply Continuous Quality Gates
|
|
86
|
+
ตรวจสอบตามการตั้งค่า `qualityGates.continuous` ใน `devflow/config.json`:
|
|
87
|
+
- **Audit**: `manual` (ข้ามอัตโนมัติ), `when-sensitive` (รันเมื่อแตะ Auth/Security/Database/Secrets), `always` (รันทุกฟีเจอร์)
|
|
88
|
+
- **Check**: `manual` (ข้ามอัตโนมัติ), `when-behavioral` (รันเมื่อมี Runtime Behavior เช่น UI/CLI/API), `always` (รันทุกฟีเจอร์)
|
|
89
|
+
- **Try Guide**: `manual` (ข้ามอัตโนมัติ), `when-user-facing` (สร้าง Try Guide เมื่อเป็น UI/CLI), `always` (สร้างทุกฟีเจอร์)
|
|
90
|
+
|
|
91
|
+
### 2.5 Repair Findings
|
|
92
|
+
- ซ่อมแซม Finding ระดับ P0/P1 ที่เกิดขึ้นจากฟีเจอร์นี้โดยอัตโนมัติ (ไม่เกิน `continuous.maxRepairAttempts` ครั้ง)
|
|
93
|
+
- หากไม่สามารถซ่อมแซมได้ หรือมี P0/P1 ค้างอยู่ ให้หยุดการทำงานทันที
|
|
94
|
+
|
|
95
|
+
### 2.6 Complete Locally Like a Human
|
|
96
|
+
- รัน Verification ขั้นสุดท้าย
|
|
97
|
+
- ย้ายและ Archive เอกสารไปที่ `devflow/history/features/{xxx-slug}.md`
|
|
98
|
+
- อัปเดตเช็คบ็อกซ์ใน `devflow/build-plan.md`
|
|
99
|
+
- รีเซ็ต `devflow/context/current-feature.md` กลับสู่ Stub
|
|
100
|
+
- Squash-merge Feature Branch เข้าสู่ Local Main และลบ Feature Branch ใน Local
|
|
101
|
+
- นับจำนวนฟีเจอร์ที่สำเร็จเพิ่มขึ้น 1
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Step 3: Optional Final Integration Audit
|
|
106
|
+
|
|
107
|
+
เมื่อครบกำหนดจำนวนฟีเจอร์หรือหมด `build-plan.md` หาก `continuous.finalIntegrationAudit: true` ให้รันการตรวจสอบความเข้ากันได้แบบบูรณาการ (Cross-Feature Contracts & Seams) จากจุดเริ่มต้นถึง HEAD ปัจจุบัน
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Step 4: Stop & Report (สรุปรายงานผลลัพธ์)
|
|
112
|
+
|
|
113
|
+
เมื่อการทำงานสิ้นสุด (ไม่ว่าจะสำเร็จครบถ้วน หรือหยุดเนื่องจากติดเงื่อนไขความปลอดภัย) ให้รายงานสรุปเป็นภาษาไทย:
|
|
114
|
+
- Commit เริ่มต้น และ Commit สุดท้ายของ Default Branch
|
|
115
|
+
- รายชื่อฟีเจอร์ที่จัดส่งสำเร็จในรอบนี้ พร้อม Commit Hash
|
|
116
|
+
- ผลการรัน Quality Gates และการซ่อมแซม Findings (ถ้ามี)
|
|
117
|
+
- ความคืบหน้าภาพรวมของ `build-plan.md` และฟีเจอร์ถัดไป
|
|
118
|
+
- ย้ำเตือนชัดเจนว่า **ไม่มีการ Push ใดๆ ขึ้น Remote Repository**
|
|
@@ -48,6 +48,14 @@ Gather these, then summarize. Do not dump file contents.
|
|
|
48
48
|
- If `.gitignore` marks DevFlow workflow files as local-only, still require
|
|
49
49
|
the files to exist on disk. Ignored but present is healthy; ignored and
|
|
50
50
|
missing means the local workflow needs to be restored.
|
|
51
|
+
- Read `devflow/config.json` when present. Missing is healthy and means
|
|
52
|
+
built-in defaults. When present, require a regular non-symbolic-link JSON
|
|
53
|
+
file with `schemaVersion: 1`. Reject unknown keys and unsupported values.
|
|
54
|
+
Report the effective workflow, git, verification, regular quality-gate,
|
|
55
|
+
Continuous quality-gate, and Continuous Mode settings. Confirm each audit,
|
|
56
|
+
check, and try-guide gate uses its supported values and defaults to `manual`.
|
|
57
|
+
An invalid config is a setup blocker for mutating workflow skills because
|
|
58
|
+
they must not guess which policy to follow.
|
|
51
59
|
2. **Tool adapters**
|
|
52
60
|
- Read `.nexus/nexus-devflow.json` when present and report its exact
|
|
53
61
|
logical adapters: Codex, Claude Code, GitHub Copilot, Antigravity, and OpenCode.
|
package/template/AGENTS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Nexus-DevFlow 2.
|
|
1
|
+
# Nexus-DevFlow 2.7.0 (The 3-Pillars & Single Living Spec Model)
|
|
2
2
|
|
|
3
3
|
Instructions for AI coding agents working in this project. This is the cross-tool entry point: Codex, Google Antigravity, Cursor, GitHub Copilot, Gemini CLI, Aider, Zed, Windsurf, and others read `AGENTS.md`. Claude Code reads `CLAUDE.md`, which imports this file (`@AGENTS.md`), so there is a single source of truth.
|
|
4
4
|
|
|
@@ -13,6 +13,7 @@ To start a new project, scaffold the application first in an empty folder, then
|
|
|
13
13
|
|
|
14
14
|
## Read these for full context
|
|
15
15
|
|
|
16
|
+
- `devflow/config.json` - deterministic project workflow settings
|
|
16
17
|
- `devflow/context/project-overview.md` - the project's source of truth
|
|
17
18
|
- `devflow/context/coding-standards.md` - engineering conventions & rules to follow
|
|
18
19
|
- `devflow/context/ai-interaction.md` - how to interact with the user on this project
|
|
@@ -20,6 +21,12 @@ To start a new project, scaffold the application first in an empty folder, then
|
|
|
20
21
|
- `devflow/context/findings.md` - quality, security, and verification ledger
|
|
21
22
|
- `devflow/context/glossary.md` - domain terms & architecture definitions
|
|
22
23
|
|
|
24
|
+
## Project configuration
|
|
25
|
+
|
|
26
|
+
`devflow/config.json` is the user-owned, machine-readable workflow policy for this project. Workflow skills read the relevant settings before acting. A missing file means built-in defaults. An invalid file falls back to defaults for read-only status reporting, but mutating workflow commands stop and point to `/doctor` instead of guessing.
|
|
27
|
+
|
|
28
|
+
`qualityGates.regular` controls automatic audit, check, and try-guide behavior for the normal workflow and Autopilot. `qualityGates.continuous` controls the same per-feature gates for Continuous Mode. Every gate defaults to `manual`.
|
|
29
|
+
|
|
23
30
|
## Tool-Specific Adapters & Execution Rules
|
|
24
31
|
|
|
25
32
|
The workflow and skills are exposed through tool-specific adapters:
|
|
@@ -32,10 +39,10 @@ Unused adapter families can be removed. Codex, Antigravity, GitHub Copilot, and
|
|
|
32
39
|
|
|
33
40
|
### Universal Invocation & Agent Directives:
|
|
34
41
|
|
|
35
|
-
1. **Canonical Command Names & AI Provider Invocation**: Each workflow stage and companion tool has exactly **one Canonical Name** (e.g. `feature`, `fix`, `implement`, `check`, `complete`, `discovery`, `idea`, `grill`, `brainstorm`, `devflow`, `doctor`, `overview`, `debug`, `onboard`, `adopt`, `try`, `rollback`, `ci`, `test`, `tests`, `autopilot`, `prototype`, `report-html`, `brief`, `audit`, `release`). The way you invoke commands depends on your AI Provider / Tool:
|
|
36
|
-
- **Canonical Name (Plain text)**: Directly invoke or prompt the command by its standard name (e.g., `feature`, `implement`, `devflow`, `discovery`).
|
|
37
|
-
- **Slash Prefix (`/`)**: For tools supporting slash commands (Claude Code, Google Antigravity, Gemini CLI), e.g., `/feature`, `/fix`, `/implement`, `/devflow`, `/discovery`.
|
|
38
|
-
- **Dollar Prefix (`$`)**: For OpenAI Codex CLI or skill-invocation tools, e.g., `$feature`, `$fix`, `$devflow`, `$discovery`.
|
|
42
|
+
1. **Canonical Command Names & AI Provider Invocation**: Each workflow stage and companion tool has exactly **one Canonical Name** (e.g. `feature`, `fix`, `implement`, `check`, `complete`, `continuous`, `discovery`, `idea`, `grill`, `brainstorm`, `devflow`, `doctor`, `overview`, `debug`, `onboard`, `adopt`, `try`, `rollback`, `ci`, `test`, `tests`, `autopilot`, `prototype`, `report-html`, `brief`, `audit`, `release`, `convert-any-to-md`). The way you invoke commands depends on your AI Provider / Tool:
|
|
43
|
+
- **Canonical Name (Plain text)**: Directly invoke or prompt the command by its standard name (e.g., `feature`, `implement`, `continuous`, `devflow`, `discovery`).
|
|
44
|
+
- **Slash Prefix (`/`)**: For tools supporting slash commands (Claude Code, Google Antigravity, Gemini CLI), e.g., `/feature`, `/fix`, `/implement`, `/continuous`, `/devflow`, `/discovery`.
|
|
45
|
+
- **Dollar Prefix (`$`)**: For OpenAI Codex CLI or skill-invocation tools, e.g., `$feature`, `$fix`, `$continuous`, `$devflow`, `$discovery`.
|
|
39
46
|
2. **OpenAI Codex & Non-Native CLI Tools**: In environments without automatic background skill discovery (such as OpenAI Codex CLI, Aider, or generic terminals), **you MUST use your file reading tool to inspect `.agents/skills/<skill>/SKILL.md` before executing the stage** to strictly follow its schema, artifact contract, and quality gates.
|
|
40
47
|
3. **Google Antigravity & Claude Code**: Native skill engines automatically discover and surface `.agents/skills/` and `.claude/skills/`.
|
|
41
48
|
4. **State-Aware Inspection**: When unsure what to do next, invoke `devflow` to automatically inspect `devflow/context/current-stage.md` and active context in `devflow/context/`.
|
|
@@ -99,3 +99,12 @@
|
|
|
99
99
|
- [x] **12. Purge Legacy Deep-Track & Numbered Stage Artifacts (`DISC-20260826-002`)** `[Size: M]`
|
|
100
100
|
- *Dependencies*: Feature 10, Feature 11
|
|
101
101
|
- *Scope*: ล้างโค้ดตกค้างของ Deep-Track (สเตจ 00-70 เช่น `40-execute`, `50-verify`, `60-report`, `70-deliver`, `10-define`, `20-spec`, `30-plan`) ออกจาก package engine (`status.ts`, `current-work.ts`, `history.ts`), agent skills (`.agents/`, `.claude/`), automation scripts & tests ใน `scripts/`, และเอกสาร/mockup ให้เป็นปัจจุบันสมบูรณ์
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 🔄 Phase 13: Upstream AI Blueprint v0.14.0 Synchronization & Deterministic Config Engine
|
|
106
|
+
|
|
107
|
+
- [x] **13. Sync Upstream v0.14.0 (Deterministic Config & Continuous Mode)** `[Size: M]`
|
|
108
|
+
- *Dependencies*: Feature 12, DISC-20260826-003
|
|
109
|
+
- *Scope*: นำระบบ Deterministic Project Configuration (`devflow/config.json`) และสคิล Autonomous Multi-Feature Loop (`/continuous`) เข้าสู่ Nexus-DevFlow พร้อมอัปเกรด `project-config.ts`, `doctor`, `status`, `dashboard` และอัปเดต upstream baseline tracking สู่ v0.14.0
|
|
110
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"workflow": {
|
|
4
|
+
"stepReview": "every",
|
|
5
|
+
"checkpointCommits": "enabled"
|
|
6
|
+
},
|
|
7
|
+
"git": {
|
|
8
|
+
"featureBranchPrefix": "feature/",
|
|
9
|
+
"fixBranchPrefix": "fix/",
|
|
10
|
+
"rollbackBranchPrefix": "rollback/"
|
|
11
|
+
},
|
|
12
|
+
"verification": {
|
|
13
|
+
"logicTests": "when-configured",
|
|
14
|
+
"uiEvidence": "when-available"
|
|
15
|
+
},
|
|
16
|
+
"qualityGates": {
|
|
17
|
+
"regular": {
|
|
18
|
+
"audit": "manual",
|
|
19
|
+
"check": "manual",
|
|
20
|
+
"tryGuide": "manual"
|
|
21
|
+
},
|
|
22
|
+
"continuous": {
|
|
23
|
+
"audit": "manual",
|
|
24
|
+
"check": "manual",
|
|
25
|
+
"tryGuide": "manual"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"continuous": {
|
|
29
|
+
"maxFeatures": null,
|
|
30
|
+
"maxRepairAttempts": 2,
|
|
31
|
+
"finalIntegrationAudit": false
|
|
32
|
+
}
|
|
33
|
+
}
|