ai-spector 0.3.6 → 0.3.7

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 (35) hide show
  1. package/dist/commands/prototype.d.ts.map +1 -1
  2. package/dist/commands/prototype.js +4 -1
  3. package/dist/commands/prototype.js.map +1 -1
  4. package/dist/graph/doc-extract.d.ts.map +1 -1
  5. package/dist/graph/doc-extract.js +115 -102
  6. package/dist/graph/doc-extract.js.map +1 -1
  7. package/dist/markdown/parse.d.ts +25 -0
  8. package/dist/markdown/parse.d.ts.map +1 -0
  9. package/dist/markdown/parse.js +100 -0
  10. package/dist/markdown/parse.js.map +1 -0
  11. package/dist/prototype/config.d.ts +2 -0
  12. package/dist/prototype/config.d.ts.map +1 -1
  13. package/dist/prototype/config.js +35 -6
  14. package/dist/prototype/config.js.map +1 -1
  15. package/dist/types.d.ts +1 -1
  16. package/dist/types.d.ts.map +1 -1
  17. package/dist/visualize/html.d.ts.map +1 -1
  18. package/dist/visualize/html.js +492 -282
  19. package/dist/visualize/html.js.map +1 -1
  20. package/package.json +7 -2
  21. package/scaffold/.ai-spector/.docflow/config/prototype.config.json +1 -2
  22. package/scaffold/cursor/WORKFLOW.md +2 -2
  23. package/scaffold/cursor/commands/_workflow.md +3 -3
  24. package/scaffold/cursor/mcp.json +1 -15
  25. package/scaffold/cursor/skills/ai-spector/references/cli-failures.md +3 -32
  26. package/scaffold/cursor/skills/ai-spector/references/generate-graph.md +49 -70
  27. package/scaffold/cursor/skills/ai-spector/references/generate-workflow.md +1 -1
  28. package/scaffold/cursor/skills/ai-spector/references/graph.md +0 -1
  29. package/scaffold/cursor/skills/ai-spector-generate-prototype/SKILL.md +6 -5
  30. package/scaffold/cursor/skills/ai-spector-generate-prototype/references/runbook.md +30 -10
  31. package/scaffold/cursor/skills/ai-spector-generate-srs/references/runbook.md +1 -1
  32. package/scaffold/cursor/skills/ai-spector-graph/references/analyze.md +18 -44
  33. package/scaffold/cursor/skills/ai-spector-graph/references/graph-commands.md +1 -4
  34. package/scaffold/cursor/skills/ai-spector-graph/references/index.md +6 -14
  35. package/scaffold/prototype/README.md +4 -2
@@ -0,0 +1,100 @@
1
+ import { unified } from "unified";
2
+ import remarkParse from "remark-parse";
3
+ import remarkGfm from "remark-gfm";
4
+ import { visit } from "unist-util-visit";
5
+ const processor = unified().use(remarkParse).use(remarkGfm);
6
+ export function parseMarkdown(content) {
7
+ return processor.parse(content);
8
+ }
9
+ export function textContent(node) {
10
+ if ("value" in node)
11
+ return node.value;
12
+ if ("children" in node) {
13
+ return node.children.map(textContent).join("");
14
+ }
15
+ return "";
16
+ }
17
+ /**
18
+ * From a paragraph, extract the value following a bold label.
19
+ * `**Label:** value` → `"value"`
20
+ * Stops at a hard break node, the next bold label, or a soft-break newline in text.
21
+ */
22
+ export function extractBoldFieldInParagraph(para, labelPattern) {
23
+ const { children } = para;
24
+ for (let i = 0; i < children.length; i++) {
25
+ const child = children[i];
26
+ if (child.type !== "strong")
27
+ continue;
28
+ const label = textContent(child).replace(/:$/, "").trim();
29
+ if (!labelPattern.test(label))
30
+ continue;
31
+ let value = "";
32
+ for (let j = i + 1; j < children.length; j++) {
33
+ const next = children[j];
34
+ if (next.type === "break" || next.type === "strong")
35
+ break;
36
+ const t = textContent(next);
37
+ const nl = t.indexOf("\n");
38
+ if (nl !== -1) {
39
+ value += t.slice(0, nl);
40
+ break;
41
+ }
42
+ value += t;
43
+ }
44
+ const trimmed = value.trim();
45
+ if (trimmed)
46
+ return trimmed;
47
+ }
48
+ return undefined;
49
+ }
50
+ /**
51
+ * Search all paragraphs recursively (including inside list items) for a bold label.
52
+ * Returns the first match found in document order.
53
+ */
54
+ export function extractBoldFieldDeep(root, labelPattern) {
55
+ let found;
56
+ visit(root, "paragraph", (para) => {
57
+ if (found !== undefined)
58
+ return;
59
+ const val = extractBoldFieldInParagraph(para, labelPattern);
60
+ if (val !== undefined)
61
+ found = val;
62
+ });
63
+ return found;
64
+ }
65
+ /**
66
+ * Find the blockquote that immediately follows a top-level paragraph
67
+ * containing a bold label matching the pattern. Returns the text content.
68
+ */
69
+ export function extractBlockquoteAfterBoldField(root, labelPattern) {
70
+ const { children } = root;
71
+ for (let i = 0; i < children.length; i++) {
72
+ const node = children[i];
73
+ if (node.type !== "paragraph")
74
+ continue;
75
+ const para = node;
76
+ const hasLabel = para.children.some((c) => c.type === "strong" &&
77
+ labelPattern.test(textContent(c).replace(/:$/, "").trim()));
78
+ if (!hasLabel)
79
+ continue;
80
+ const next = children[i + 1];
81
+ if (next?.type === "blockquote") {
82
+ return textContent(next).trim() || undefined;
83
+ }
84
+ }
85
+ return undefined;
86
+ }
87
+ /**
88
+ * Return the text of the first top-level heading whose content matches the pattern.
89
+ */
90
+ export function findHeadingText(root, pattern) {
91
+ for (const node of root.children) {
92
+ if (node.type !== "heading")
93
+ continue;
94
+ const text = textContent(node);
95
+ if (pattern.test(text))
96
+ return text;
97
+ }
98
+ return null;
99
+ }
100
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,6 @@ export declare function loadPrototypeConfig(root?: string): Promise<{
4
4
  config: PrototypeConfig;
5
5
  }>;
6
6
  export declare function readPrototypeThemeName(projectRoot: string, config: PrototypeConfig): Promise<string | undefined>;
7
+ /** Persist explicit theme choice for future prototype runs (no re-prompt). */
8
+ export declare function persistPrototypeDefaultTheme(projectRoot: string, theme: string): Promise<void>;
7
9
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/prototype/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAalD,wBAAsB,mBAAmB,CACvC,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CAc3D;AAED,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/prototype/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAalD,wBAAsB,mBAAmB,CACvC,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CAc3D;AAED,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B;AAED,8EAA8E;AAC9E,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -1,6 +1,6 @@
1
1
  import { join } from "node:path";
2
2
  import { bundledPrototypeConfigPath, findProjectRoot } from "../config/load.js";
3
- import { pathExists, readJson } from "../util/fs.js";
3
+ import { pathExists, readJson, writeJson } from "../util/fs.js";
4
4
  const DEFAULT_CONFIG = {
5
5
  version: 1,
6
6
  listScreenDoc: "docs/basic-design/list-screens.md",
@@ -25,11 +25,40 @@ export async function loadPrototypeConfig(root) {
25
25
  return { projectRoot, config };
26
26
  }
27
27
  export async function readPrototypeThemeName(projectRoot, config) {
28
- const manifestPath = join(projectRoot, config.prototypeDir, "manifest.json");
29
- if (!(await pathExists(manifestPath))) {
30
- return undefined;
28
+ const prototypeRoot = join(projectRoot, config.prototypeDir);
29
+ const themeJsonPath = join(prototypeRoot, "theme.json");
30
+ if (await pathExists(themeJsonPath)) {
31
+ const themeJson = await readJson(themeJsonPath);
32
+ const fromThemeJson = themeJson.themeName?.trim();
33
+ if (fromThemeJson) {
34
+ return fromThemeJson;
35
+ }
31
36
  }
32
- const manifest = await readJson(manifestPath);
33
- return manifest.themeName?.trim() || undefined;
37
+ const manifestPath = join(prototypeRoot, "manifest.json");
38
+ if (await pathExists(manifestPath)) {
39
+ const manifest = await readJson(manifestPath);
40
+ const fromManifest = manifest.themeName?.trim();
41
+ if (fromManifest) {
42
+ return fromManifest;
43
+ }
44
+ }
45
+ return undefined;
46
+ }
47
+ /** Persist explicit theme choice for future prototype runs (no re-prompt). */
48
+ export async function persistPrototypeDefaultTheme(projectRoot, theme) {
49
+ const name = theme.trim();
50
+ if (!name) {
51
+ return;
52
+ }
53
+ const projectConfig = join(projectRoot, ".ai-spector/.docflow/config/prototype.config.json");
54
+ let raw = {};
55
+ if (await pathExists(projectConfig)) {
56
+ raw = await readJson(projectConfig);
57
+ }
58
+ else if (await pathExists(bundledPrototypeConfigPath())) {
59
+ raw = await readJson(bundledPrototypeConfigPath());
60
+ }
61
+ const next = { ...DEFAULT_CONFIG, ...raw, defaultTheme: name };
62
+ await writeJson(projectConfig, next);
34
63
  }
35
64
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/prototype/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,cAAc,GAAoB;IACtC,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,mCAAmC;IAClD,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,4BAA4B;IAC7C,YAAY,EAAE,WAAW;IACzB,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,QAAQ;CACvB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAa;IAEb,MAAM,WAAW,GAAG,IAAI,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,CACxB,WAAW,EACX,mDAAmD,CACpD,CAAC;IACF,IAAI,GAAG,GAA6B,EAAE,CAAC;IACvC,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,GAAG,GAAG,MAAM,QAAQ,CAA2B,aAAa,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,MAAM,UAAU,CAAC,0BAA0B,EAAE,CAAC,EAAE,CAAC;QAC1D,GAAG,GAAG,MAAM,QAAQ,CAA2B,0BAA0B,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAoB,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC;IAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,MAAuB;IAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAyB,YAAY,CAAC,CAAC;IACtE,OAAO,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/prototype/config.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type NodeType = "bundle" | "sourceFile" | "document" | "section" | "table" | "diagram" | "actor" | "useCase" | "feature" | "requirement" | "dataEntity";
2
2
  export type BundleRole = "source" | "business" | "spec";
3
- export type EdgeType = "partOf" | "contains" | "follows" | "references" | "listedIn" | "definedIn" | "describedIn" | "satisfies" | "dependsOn" | "requires" | "tracesTo" | "derivedFrom" | "rendersTo" | "relatesTo";
3
+ export type EdgeType = "partOf" | "contains" | "follows" | "references" | "listedIn" | "definedIn" | "describedIn" | "satisfies" | "dependsOn" | "tracesTo" | "derivedFrom" | "rendersTo" | "relatesTo";
4
4
  export interface GraphNode {
5
5
  id: string;
6
6
  type: NodeType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,GACT,aAAa,GACb,YAAY,CAAC;AAEjB,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,UAAU,GACV,SAAS,GACT,YAAY,GACZ,UAAU,GACV,WAAW,GACX,aAAa,GACb,WAAW,GACX,WAAW,GACX,UAAU,GACV,UAAU,GACV,aAAa,GACb,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,GACT,aAAa,GACb,YAAY,CAAC;AAEjB,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,UAAU,GACV,SAAS,GACT,YAAY,GACZ,UAAU,GACV,WAAW,GACX,aAAa,GACb,WAAW,GACX,WAAW,GACX,UAAU,GACV,aAAa,GACb,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/visualize/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;CAChC;AAMD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAshBxE"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/visualize/html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;CAChC;AAMD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAwuBxE"}