@jakkrichm/create-nexus-devflow 2.6.1 → 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.
Files changed (42) hide show
  1. package/README.md +3 -3
  2. package/dist/lib/branch-context.js +12 -4
  3. package/dist/lib/branch-context.js.map +1 -1
  4. package/dist/lib/current-work.js +15 -108
  5. package/dist/lib/current-work.js.map +1 -1
  6. package/dist/lib/discoveries.js +4 -15
  7. package/dist/lib/discoveries.js.map +1 -1
  8. package/dist/lib/doctor.js +30 -0
  9. package/dist/lib/doctor.js.map +1 -1
  10. package/dist/lib/history.js +1 -1
  11. package/dist/lib/history.js.map +1 -1
  12. package/dist/lib/project-config.d.ts +55 -0
  13. package/dist/lib/project-config.js +228 -0
  14. package/dist/lib/project-config.js.map +1 -0
  15. package/dist/lib/status.d.ts +7 -0
  16. package/dist/lib/status.js +25 -15
  17. package/dist/lib/status.js.map +1 -1
  18. package/package.json +1 -1
  19. package/template/.agents/skills/brainstorm/SKILL.md +1 -1
  20. package/template/.agents/skills/continuous/SKILL.md +118 -0
  21. package/template/.agents/skills/doctor/SKILL.md +8 -0
  22. package/template/.agents/skills/grill/SKILL.md +2 -2
  23. package/template/.agents/skills/idea/SKILL.md +2 -2
  24. package/template/.agents/skills/report-html/SKILL.md +13 -13
  25. package/template/.agents/skills/test/SKILL.md +4 -4
  26. package/template/.claude/skills/brainstorm/SKILL.md +1 -1
  27. package/template/.claude/skills/continuous/SKILL.md +118 -0
  28. package/template/.claude/skills/doctor/SKILL.md +8 -0
  29. package/template/.claude/skills/grill/SKILL.md +2 -2
  30. package/template/.claude/skills/idea/SKILL.md +2 -2
  31. package/template/.claude/skills/report-html/SKILL.md +13 -13
  32. package/template/.claude/skills/test/SKILL.md +4 -4
  33. package/template/AGENTS.md +12 -5
  34. package/template/devflow/build-plan.md +12 -1
  35. package/template/devflow/config.json +33 -0
  36. package/template/devflow/context/ai-interaction.md +1 -1
  37. package/template/devflow/context/coding-standards.md +2 -2
  38. package/template/devflow/decisions/README.md +1 -1
  39. package/template/devflow/history/features/README.md +1 -1
  40. package/template/devflow/history/fixes/README.md +1 -1
  41. package/template/devflow/history/rollbacks/README.md +1 -1
  42. package/template/devflow/reference/mockup.html +16 -31
@@ -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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"}
@@ -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;
@@ -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
  }
@@ -259,22 +281,10 @@ function selectNextAction(currentWork, findings, stageMarkdown) {
259
281
  }
260
282
  }
261
283
  if (currentWork.state === "active") {
262
- if (currentWork.type === "stage") {
263
- const runSuffix = currentWork.runId ? ` ${currentWork.runId}` : "";
264
- if (currentWork.nextStep) {
265
- return {
266
- command: `/40-execute${runSuffix}`,
267
- reason: `Resume active stage task with ${currentWork.nextStep.title}.`
268
- };
269
- }
270
- return {
271
- command: `/50-verify${runSuffix}`,
272
- reason: "Active stage tasks completed; run verification."
273
- };
274
- }
275
284
  if (currentWork.nextStep) {
285
+ const runSuffix = currentWork.runId ? ` ${currentWork.runId}` : "";
276
286
  return {
277
- command: "/implement",
287
+ command: `/implement${runSuffix}`,
278
288
  reason: `Resume active work with ${currentWork.nextStep.title}.`
279
289
  };
280
290
  }
@@ -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":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGlC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAM7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAqFxD,KAAK,UAAU,iBAAiB,CAC9B,YAAoB,OAAO,CAAC,GAAG,EAAE;IAEjC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9F,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACnC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;IAEH,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,MAAM,QAAQ,GAAoB;QAChC,GAAG,QAAQ,CAAC,QAAQ;QACpB,GAAG,MAAM,CAAC,QAAQ;QAClB,GAAG,WAAW,CAAC,QAAQ;QACvB,GAAG,QAAQ,CAAC,QAAQ;QACpB,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC;KAC/B,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE1E,OAAO;QACL,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACzD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,aAAa,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB;QACD,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC;QAC3C,UAAU;QACV,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;QAClC,KAAK;QACL,GAAG;QACH,UAAU;QACV,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqB,EACrB,UAA8B,EAAE;IAEhC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,eAAe,CAAC;IAEpB,MAAM,KAAK,GAAG;QACZ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvF,EAAE;QACF,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC;QAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;QAC7C,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,KAAK,CAAC;QAChE,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC;QACtC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QACzE,SAAS,CAAC,eAAe,EAAE,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QACvG,EAAE;QACF,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC;QAChC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC;KACrE,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CACR,SAAS,CACP,OAAO,EACP,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,WAAW,EACtE,KAAK,CACN,CACF,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CACR,SAAS,CACP,YAAY,EACZ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,YAAY,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAC1F,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EACzE,SAAS,CAAC,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAC/E,EAAE,EACF,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAC5B,CAAC;IACF,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEzC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB;IAClD,OAAO,SAAS,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,KAAK,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,cAAc,CACrB,QAA6B,OAAO,CAAC,MAAM,CAAC,KAAK,EACjD,cAAiC,OAAO,CAAC,GAAG;IAE5C,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,KAAgB;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa,EAAE,KAAgB;IAC/D,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,IAAuB,EAAE,KAAgB;IAChE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;QACzB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE;QAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;IAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAwB,EACxB,KAAgB;IAEhB,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/D,CAAC;IACF,MAAM,cAAc,GAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAW;SAChE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACjD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAA4B,EAC5B,KAAgB;IAEhB,IAAI,UAAU,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CACrB,KAAe,EACf,GAAqB,EACrB,KAAgB;IAEhB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK;QAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC,MAAM,CACV,GAAG,GAAG,CAAC,YAAY,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAC3E,CAAC;IACN,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ;QACzB,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU;QACxE,CAAC,CAAC,gBAAgB,CAAC;IACrB,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QACvE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzB,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE,KAAK,CAAC,EACnD,SAAS,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,EAC7C,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAC1C,CAAC;IAEF,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CACpD,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAChC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;QACvC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;QACjC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;QAClC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;QAChC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,WAA+B;IACxD,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE;YACvC,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAyB;IAC/C,MAAM,aAAa,GAAG,CACpB,OAAgB,EACuC,EAAE,CAAC,CAAC;QAC3D,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,KAAK;aACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAClB,OAAO,CAAC,MAAM,KAAK,YAAY;YAC/B,OAAO,CAAC,MAAM,KAAK,MAAM;YACzB,OAAO,CAAC,MAAM,KAAK,OAAO,CAC3B;aACA,GAAG,CAAC,aAAa,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,WAA+B,EAC/B,QAAyB,EACzB,GAAqB,EACrB,aAAsB;IAEtB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,WAAW,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CACX,qBAAqB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CACxB,aAAa;QACb,CAAC,0DAA0D,CAAC,IAAI,CAAC,aAAa,CAAC;YAC9E,oCAAoC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAC3D,CAAC;IAEF,IACE,UAAU;QACV,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtD,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnD,CAAC;QACD,OAAO;YACL,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,CAAC,wCAAwC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,WAA+B,EAC/B,QAAyB,EACzB,aAAsB;IAEtB,IAAI,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACtC,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,sDAAsD;SAC/D,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,CAC9C,2DAA2D,CAC5D,CAAC;QACF,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAClC,2DAA2D,CAC5D,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAEf,IACE,eAAe;YACf,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/C,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAClD,CAAC;YACD,MAAM,kBAAkB,GACtB,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC;gBACvC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,kBAAkB;gBAC/B,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,4BAA4B,QAAQ,IAAI,eAAe,GAAG,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE,eAAe;gBACxB,MAAM;aACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO;gBACL,OAAO,EAAE,aAAa,SAAS,EAAE;gBACjC,MAAM,EAAE,2BAA2B,WAAW,CAAC,QAAQ,CAAC,KAAK,GAAG;aACjE,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACxC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACvC,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,2BAA2B,WAAW,CAAC,EAAE,GAAG;aACrD,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACzC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CACxC,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,2BAA2B,YAAY,CAAC,EAAE,GAAG;aACtD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,yDAAyD;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACxC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACvC,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,QAAQ,WAAW,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,kDAAkD;SAC3D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,6DAA6D;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,WAA+B,EAC/B,GAAqB;IAErB,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,UAAU,WAAW,CAAC,IAAI,IAAI,MAAM,oCAAoC;SAClF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,8EAA8E;SACxF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakkrichm/create-nexus-devflow",
3
- "version": "2.6.1",
3
+ "version": "2.7.0",
4
4
  "description": "Installer package for Nexus-DevFlow agentic workflow layer.",
5
5
  "license": "MIT",
6
6
  "author": "Jakkrich",
@@ -58,5 +58,5 @@ Construct a structured evaluation table:
58
58
 
59
59
  ## Next Workflow Recommendation
60
60
 
61
- - **Primary**: `discovery {discovery_id}` (if resuming discovery) or `10-define` / `feature` (if ready to specify)
61
+ - **Primary**: `discovery {discovery_id}` (if resuming discovery) or `feature` (if ready to specify)
62
62
  - **Inbox**: `idea` to record into `devflow/ideas.md`
@@ -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.
@@ -89,5 +89,5 @@ Allocate the next sequential ID (`ADR-001`, `ADR-002`, ...) and create `devflow/
89
89
  When all design branches are resolved:
90
90
  1. Summarize settled domain terms and created ADRs.
91
91
  2. Provide explicit next command recommendations:
92
- - **Fast-Track (Standard Features/Fixes)**: Run `/feature {topic}` or `/fix {topic}` to immediately start the living spec.
93
- - **Deep-Track (Large Architectural Epics)**: Run `10-define` or `/discovery` with the discovery context.
92
+ - **Living Spec (Standard Delivery)**: Run `/feature {topic}` or `/fix {topic}` to immediately start the living spec.
93
+ - **Pre-Flight Discovery**: Run `/discovery {topic}` to conduct comprehensive discovery exploration before specification.
@@ -44,7 +44,7 @@ Insert the new idea block directly under `## 📌 Pending Ideas` in `devflow/ide
44
44
  - **Quick Seed (กันลืม)**:
45
45
  1. {ประเด็นสำคัญที่ 1}
46
46
  2. {ประเด็นสำคัญที่ 2}
47
- - **สถานะ**: `Pending` (หยิบไปทำได้ด้วย `/spec IDEA-001` หรือ `/00-explore IDEA-001`)
47
+ - **สถานะ**: `Pending` (หยิบไปทำได้ด้วย `/feature IDEA-001` หรือ `/discovery IDEA-001`)
48
48
  ```
49
49
 
50
50
  *(หากมีข้อความ `*(ยังไม่มีไอเดียค้างอยู่...)*` ให้ลบออกเมื่อมีไอเดียแรก)*
@@ -54,4 +54,4 @@ Report to the user:
54
54
  - Allocated Idea ID: `[IDEA-xxx]`
55
55
  - Summary of Feasibility & Value analysis
56
56
  - Seed points saved
57
- - Instructions for promotion: "เมื่อพร้อมลงมือทำ สามารถพิมพ์ `/spec IDEA-xxx` หรือ `/00-explore IDEA-xxx` ได้ทันที"
57
+ - Instructions for promotion: "เมื่อพร้อมลงมือทำ สามารถพิมพ์ `/feature IDEA-xxx` หรือ `/discovery IDEA-xxx` ได้ทันที"