ridgeline 0.7.4 → 0.7.11

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 (111) hide show
  1. package/README.md +2 -0
  2. package/dist/agents/core/designer.md +18 -0
  3. package/dist/agents/core/planner.md +36 -0
  4. package/dist/agents/core/refiner.md +4 -0
  5. package/dist/agents/core/researcher.md +4 -0
  6. package/dist/agents/core/retrospective.md +64 -0
  7. package/dist/agents/core/specifier.md +4 -0
  8. package/dist/catalog/build-catalog.d.ts +21 -0
  9. package/dist/catalog/build-catalog.js +305 -0
  10. package/dist/catalog/build-catalog.js.map +1 -0
  11. package/dist/catalog/classify.d.ts +16 -0
  12. package/dist/catalog/classify.js +189 -0
  13. package/dist/catalog/classify.js.map +1 -0
  14. package/dist/catalog/extract-metadata.d.ts +41 -0
  15. package/dist/catalog/extract-metadata.js +175 -0
  16. package/dist/catalog/extract-metadata.js.map +1 -0
  17. package/dist/catalog/pack-sprites.d.ts +8 -0
  18. package/dist/catalog/pack-sprites.js +106 -0
  19. package/dist/catalog/pack-sprites.js.map +1 -0
  20. package/dist/catalog/parse-conventions.d.ts +25 -0
  21. package/dist/catalog/parse-conventions.js +86 -0
  22. package/dist/catalog/parse-conventions.js.map +1 -0
  23. package/dist/catalog/resolve-asset-dir.d.ts +15 -0
  24. package/dist/catalog/resolve-asset-dir.js +96 -0
  25. package/dist/catalog/resolve-asset-dir.js.map +1 -0
  26. package/dist/catalog/types.d.ts +74 -0
  27. package/dist/catalog/types.js +3 -0
  28. package/dist/catalog/types.js.map +1 -0
  29. package/dist/catalog/vision-describe.d.ts +12 -0
  30. package/dist/catalog/vision-describe.js +158 -0
  31. package/dist/catalog/vision-describe.js.map +1 -0
  32. package/dist/cli.js +54 -1
  33. package/dist/cli.js.map +1 -1
  34. package/dist/commands/build.d.ts +2 -2
  35. package/dist/commands/build.js +156 -30
  36. package/dist/commands/build.js.map +1 -1
  37. package/dist/commands/catalog.d.ts +6 -0
  38. package/dist/commands/catalog.js +141 -0
  39. package/dist/commands/catalog.js.map +1 -0
  40. package/dist/commands/design.js +73 -0
  41. package/dist/commands/design.js.map +1 -1
  42. package/dist/commands/retrospective.d.ts +7 -0
  43. package/dist/commands/retrospective.js +119 -0
  44. package/dist/commands/retrospective.js.map +1 -0
  45. package/dist/config.js +1 -0
  46. package/dist/config.js.map +1 -1
  47. package/dist/engine/discovery/agent.registry.d.ts +3 -0
  48. package/dist/engine/discovery/agent.registry.js +15 -2
  49. package/dist/engine/discovery/agent.registry.js.map +1 -1
  50. package/dist/engine/pipeline/build.exec.d.ts +1 -1
  51. package/dist/engine/pipeline/build.exec.js +24 -27
  52. package/dist/engine/pipeline/build.exec.js.map +1 -1
  53. package/dist/engine/pipeline/ensemble.exec.d.ts +16 -0
  54. package/dist/engine/pipeline/ensemble.exec.js +128 -31
  55. package/dist/engine/pipeline/ensemble.exec.js.map +1 -1
  56. package/dist/engine/pipeline/phase.graph.d.ts +31 -0
  57. package/dist/engine/pipeline/phase.graph.js +102 -0
  58. package/dist/engine/pipeline/phase.graph.js.map +1 -0
  59. package/dist/engine/pipeline/phase.sequence.d.ts +3 -1
  60. package/dist/engine/pipeline/phase.sequence.js +50 -21
  61. package/dist/engine/pipeline/phase.sequence.js.map +1 -1
  62. package/dist/engine/pipeline/pipeline.shared.d.ts +12 -5
  63. package/dist/engine/pipeline/pipeline.shared.js +50 -26
  64. package/dist/engine/pipeline/pipeline.shared.js.map +1 -1
  65. package/dist/engine/pipeline/plan.exec.d.ts +4 -1
  66. package/dist/engine/pipeline/plan.exec.js +15 -12
  67. package/dist/engine/pipeline/plan.exec.js.map +1 -1
  68. package/dist/engine/pipeline/prompt.document.d.ts +28 -0
  69. package/dist/engine/pipeline/prompt.document.js +50 -0
  70. package/dist/engine/pipeline/prompt.document.js.map +1 -0
  71. package/dist/engine/pipeline/refine.exec.js +16 -14
  72. package/dist/engine/pipeline/refine.exec.js.map +1 -1
  73. package/dist/engine/pipeline/research.exec.d.ts +0 -2
  74. package/dist/engine/pipeline/research.exec.js +32 -58
  75. package/dist/engine/pipeline/research.exec.js.map +1 -1
  76. package/dist/engine/pipeline/review.exec.d.ts +1 -1
  77. package/dist/engine/pipeline/review.exec.js +23 -31
  78. package/dist/engine/pipeline/review.exec.js.map +1 -1
  79. package/dist/engine/pipeline/specify.exec.js +16 -24
  80. package/dist/engine/pipeline/specify.exec.js.map +1 -1
  81. package/dist/engine/pipeline/worktree.parallel.d.ts +22 -0
  82. package/dist/engine/pipeline/worktree.parallel.js +122 -0
  83. package/dist/engine/pipeline/worktree.parallel.js.map +1 -0
  84. package/dist/flavours/web-game/core/builder.md +5 -2
  85. package/dist/flavours/web-game/core/designer.md +157 -0
  86. package/dist/git.js +11 -4
  87. package/dist/git.js.map +1 -1
  88. package/dist/stores/budget.js +21 -17
  89. package/dist/stores/budget.js.map +1 -1
  90. package/dist/stores/handoff.d.ts +4 -0
  91. package/dist/stores/handoff.js +28 -1
  92. package/dist/stores/handoff.js.map +1 -1
  93. package/dist/stores/phases.d.ts +8 -0
  94. package/dist/stores/phases.js +23 -2
  95. package/dist/stores/phases.js.map +1 -1
  96. package/dist/stores/settings.d.ts +1 -0
  97. package/dist/stores/settings.js.map +1 -1
  98. package/dist/stores/state.d.ts +6 -1
  99. package/dist/stores/state.js +101 -19
  100. package/dist/stores/state.js.map +1 -1
  101. package/dist/types.d.ts +3 -0
  102. package/dist/ui/logger.d.ts +11 -0
  103. package/dist/ui/logger.js +71 -0
  104. package/dist/ui/logger.js.map +1 -0
  105. package/dist/ui/output.d.ts +1 -0
  106. package/dist/ui/output.js +11 -1
  107. package/dist/ui/output.js.map +1 -1
  108. package/dist/utils/file-lock.d.ts +5 -0
  109. package/dist/utils/file-lock.js +95 -0
  110. package/dist/utils/file-lock.js.map +1 -0
  111. package/package.json +6 -3
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Resolve the asset directory in priority order:
3
+ * 1. Explicit --asset-dir flag
4
+ * 2. .ridgeline/builds/<name>/assets/
5
+ * 3. .ridgeline/assets/
6
+ * 4. settings.json assetDir
7
+ *
8
+ * Throws if no directory is found.
9
+ */
10
+ export declare const resolveAssetDir: (buildName: string | null, explicitDir?: string) => string;
11
+ /**
12
+ * Safe version that returns null instead of throwing.
13
+ * Used by design phase to check if assets exist before auto-cataloging.
14
+ */
15
+ export declare const resolveAssetDirSafe: (buildName: string | null, explicitDir?: string) => string | null;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.resolveAssetDirSafe = exports.resolveAssetDir = void 0;
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
+ const settings_1 = require("../stores/settings");
40
+ /**
41
+ * Resolve the asset directory in priority order:
42
+ * 1. Explicit --asset-dir flag
43
+ * 2. .ridgeline/builds/<name>/assets/
44
+ * 3. .ridgeline/assets/
45
+ * 4. settings.json assetDir
46
+ *
47
+ * Throws if no directory is found.
48
+ */
49
+ const resolveAssetDir = (buildName, explicitDir) => {
50
+ const cwd = process.cwd();
51
+ const ridgelineDir = path.join(cwd, ".ridgeline");
52
+ const checked = [];
53
+ // 1. Explicit --asset-dir
54
+ if (explicitDir) {
55
+ const resolved = path.resolve(cwd, explicitDir);
56
+ if (fs.existsSync(resolved) && fs.statSync(resolved).isDirectory())
57
+ return resolved;
58
+ throw new Error(`Asset directory not found: ${resolved}`);
59
+ }
60
+ // 2. Build-scoped assets
61
+ if (buildName) {
62
+ const buildAssets = path.join(ridgelineDir, "builds", buildName, "assets");
63
+ checked.push(buildAssets);
64
+ if (fs.existsSync(buildAssets) && fs.statSync(buildAssets).isDirectory())
65
+ return buildAssets;
66
+ }
67
+ // 3. Project-scoped assets
68
+ const projectAssets = path.join(ridgelineDir, "assets");
69
+ checked.push(projectAssets);
70
+ if (fs.existsSync(projectAssets) && fs.statSync(projectAssets).isDirectory())
71
+ return projectAssets;
72
+ // 4. settings.json assetDir
73
+ const settings = (0, settings_1.loadSettings)(ridgelineDir);
74
+ if (settings.assetDir) {
75
+ const settingsDir = path.resolve(cwd, settings.assetDir);
76
+ checked.push(settingsDir);
77
+ if (fs.existsSync(settingsDir) && fs.statSync(settingsDir).isDirectory())
78
+ return settingsDir;
79
+ }
80
+ throw new Error(`No asset directory found. Checked:\n${checked.map((p) => ` - ${p}`).join("\n")}\n\nUse --asset-dir to specify the path explicitly.`);
81
+ };
82
+ exports.resolveAssetDir = resolveAssetDir;
83
+ /**
84
+ * Safe version that returns null instead of throwing.
85
+ * Used by design phase to check if assets exist before auto-cataloging.
86
+ */
87
+ const resolveAssetDirSafe = (buildName, explicitDir) => {
88
+ try {
89
+ return (0, exports.resolveAssetDir)(buildName, explicitDir);
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ };
95
+ exports.resolveAssetDirSafe = resolveAssetDirSafe;
96
+ //# sourceMappingURL=resolve-asset-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-asset-dir.js","sourceRoot":"","sources":["../../src/catalog/resolve-asset-dir.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AACjC,iDAAiD;AAEjD;;;;;;;;GAQG;AACI,MAAM,eAAe,GAAG,CAAC,SAAwB,EAAE,WAAoB,EAAU,EAAE;IACxF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IACjD,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,0BAA0B;IAC1B,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,QAAQ,CAAA;QACnF,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC1E,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACzB,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,WAAW,CAAA;IAC9F,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IACvD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,aAAa,CAAA;IAElG,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAA,uBAAY,EAAC,YAAY,CAAC,CAAA;IAC3C,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACzB,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,WAAW,CAAA;IAC9F,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qDAAqD,CACtI,CAAA;AACH,CAAC,CAAA;AAnCY,QAAA,eAAe,mBAmC3B;AAED;;;GAGG;AACI,MAAM,mBAAmB,GAAG,CAAC,SAAwB,EAAE,WAAoB,EAAiB,EAAE;IACnG,IAAI,CAAC;QACH,OAAO,IAAA,uBAAe,EAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AANY,QAAA,mBAAmB,uBAM/B"}
@@ -0,0 +1,74 @@
1
+ /** Media type detected from file extension. */
2
+ export type MediaType = "image" | "audio" | "video" | "text";
3
+ /** Region within a layout mockup image. */
4
+ export type LayoutRegion = {
5
+ area: string;
6
+ content: string;
7
+ assets_referenced?: string[];
8
+ };
9
+ /** Single asset entry in the catalog. */
10
+ export type AssetEntry = {
11
+ file: string;
12
+ hash: string;
13
+ mediaType: MediaType;
14
+ category: string;
15
+ name: string;
16
+ subject: string;
17
+ state: string | null;
18
+ fileSizeBytes: number;
19
+ extension: string;
20
+ width?: number;
21
+ height?: number;
22
+ format?: string;
23
+ hasAlpha?: boolean;
24
+ channels?: number;
25
+ dominantColour?: string;
26
+ palette?: string[];
27
+ isSpritesheet?: boolean;
28
+ frameCount?: number;
29
+ frameSize?: {
30
+ w: number;
31
+ h: number;
32
+ } | null;
33
+ frameDirection?: "horizontal" | "vertical" | null;
34
+ suggestedAnchor?: string;
35
+ suggestedZLayer?: string;
36
+ isTileable?: boolean;
37
+ isClassified?: boolean;
38
+ classificationConfidence?: "high" | "medium" | "low";
39
+ description?: string;
40
+ facing?: string;
41
+ pose?: string;
42
+ styleTags?: string[];
43
+ animationType?: "loop" | "once" | "ping-pong" | null;
44
+ layoutRegions?: LayoutRegion[];
45
+ isReferenceOnly?: boolean;
46
+ mood?: string;
47
+ };
48
+ /** Aggregate visual identity derived from all cataloged assets. */
49
+ export type VisualIdentity = {
50
+ detectedStyle: string | null;
51
+ detectedPalette: string[];
52
+ detectedResolution: string | null;
53
+ detectedScaling: string | null;
54
+ };
55
+ /** Top-level asset catalog structure written to asset-catalog.json. */
56
+ export type AssetCatalog = {
57
+ generatedAt: string;
58
+ assetDir: string;
59
+ isDescribed: boolean;
60
+ visualIdentity: VisualIdentity;
61
+ warnings: string[];
62
+ assets: AssetEntry[];
63
+ };
64
+ /** Options for the catalog command. */
65
+ export type CatalogOptions = {
66
+ assetDir?: string;
67
+ isDescribe: boolean;
68
+ isForce: boolean;
69
+ isPack: boolean;
70
+ isBatch: boolean;
71
+ isClassify: boolean;
72
+ model: string;
73
+ timeout: number;
74
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { AssetCatalog } from "./types";
2
+ type VisionOptions = {
3
+ model: string;
4
+ isBatch: boolean;
5
+ timeoutMs: number;
6
+ };
7
+ /**
8
+ * Run vision enrichment on the specified assets within a catalog.
9
+ * Modifies the catalog entries in place.
10
+ */
11
+ export declare const describeAssets: (catalog: AssetCatalog, assetDir: string, filesToDescribe: string[], opts: VisionOptions) => Promise<void>;
12
+ export {};
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.describeAssets = void 0;
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
+ const node_child_process_1 = require("node:child_process");
40
+ const VISION_PROMPT_TEMPLATE = `You are cataloging game assets. Describe this image in structured JSON.
41
+
42
+ File: {filename}
43
+ Category (from directory): {category}
44
+ Dimensions: {width}x{height}
45
+ Has transparency: {hasAlpha}
46
+
47
+ Respond with ONLY valid JSON:
48
+ {
49
+ "description": "brief visual description of what this image shows",
50
+ "subject": "primary subject (e.g. 'knight character', 'stone floor tile', 'health potion')",
51
+ "facing": "direction the subject faces, if applicable (left/right/up/down/front/camera/n-a)",
52
+ "pose": "pose or state (idle/walking/attacking/dead/n-a)",
53
+ "is_spritesheet": true/false,
54
+ "frame_count": number or null,
55
+ "frame_direction": "horizontal" or "vertical" or null,
56
+ "is_tileable": true/false,
57
+ "suggested_anchor": "center" or "bottom-center" or "top-left" etc,
58
+ "suggested_z_layer": "background" or "ground" or "entity" or "foreground" or "ui" or "overlay",
59
+ "palette_colours": ["#hex1", "#hex2", ...] (up to 6 dominant colours),
60
+ "style_tags": ["pixel-art", "32x32", "top-down", etc],
61
+ "animation_type": "loop" or "once" or "ping-pong" or null
62
+ }`;
63
+ const LAYOUT_VISION_PROMPT_TEMPLATE = `You are cataloging game UI layout mockups. Analyze this image and describe the spatial arrangement of UI elements.
64
+
65
+ File: {filename}
66
+ Dimensions: {width}x{height}
67
+
68
+ Respond with ONLY valid JSON:
69
+ {
70
+ "description": "overall description of this layout mockup",
71
+ "is_reference_only": true,
72
+ "layout_regions": [
73
+ { "area": "top-left/top-right/center/bottom-center/etc", "content": "what UI element is here", "assets_referenced": ["optional/file/paths.png"] }
74
+ ],
75
+ "style_tags": ["pixel-art", "dark-theme", etc]
76
+ }`;
77
+ /** Build the vision prompt for a single asset. */
78
+ const buildPrompt = (entry) => {
79
+ const template = entry.category === "layouts" ? LAYOUT_VISION_PROMPT_TEMPLATE : VISION_PROMPT_TEMPLATE;
80
+ return template
81
+ .replace("{filename}", entry.file)
82
+ .replace("{category}", entry.category)
83
+ .replace("{width}", String(entry.width))
84
+ .replace("{height}", String(entry.height))
85
+ .replace("{hasAlpha}", String(entry.hasAlpha));
86
+ };
87
+ /** Invoke claude -p with an image file for vision description. */
88
+ const invokeVision = (imagePath, prompt, model, timeoutMs) => {
89
+ try {
90
+ const result = (0, node_child_process_1.execFileSync)("claude", [
91
+ "-p",
92
+ "--model", model,
93
+ "--output-format", "json",
94
+ prompt,
95
+ "--file", imagePath,
96
+ ], {
97
+ timeout: timeoutMs,
98
+ encoding: "utf-8",
99
+ stdio: ["pipe", "pipe", "pipe"],
100
+ });
101
+ // claude -p --output-format json wraps the result
102
+ const parsed = JSON.parse(result);
103
+ const text = parsed.result ?? parsed;
104
+ return typeof text === "string" ? JSON.parse(text) : text;
105
+ }
106
+ catch (err) {
107
+ const msg = err instanceof Error ? err.message : String(err);
108
+ process.stderr.write(`\x1b[33mVision failed for ${imagePath}: ${msg}\x1b[0m\n`);
109
+ return null;
110
+ }
111
+ };
112
+ /** Merge vision description fields into an existing asset entry. */
113
+ const mergeVision = (entry, vision) => {
114
+ if (vision.description)
115
+ entry.description = vision.description;
116
+ if (vision.facing)
117
+ entry.facing = vision.facing;
118
+ if (vision.pose)
119
+ entry.pose = vision.pose;
120
+ if (vision.styleTags)
121
+ entry.styleTags = vision.styleTags;
122
+ if (vision.animationType !== undefined)
123
+ entry.animationType = vision.animationType;
124
+ if (vision.layoutRegions)
125
+ entry.layoutRegions = vision.layoutRegions;
126
+ if (vision.isReferenceOnly)
127
+ entry.isReferenceOnly = vision.isReferenceOnly;
128
+ // Vision can override spritesheet detection if it disagrees
129
+ if (vision.isSpritesheet !== undefined && vision.isSpritesheet !== entry.isSpritesheet) {
130
+ entry.isSpritesheet = vision.isSpritesheet;
131
+ if (vision.frameCount)
132
+ entry.frameCount = vision.frameCount;
133
+ if (vision.frameDirection) {
134
+ entry.frameDirection = vision.frameDirection;
135
+ }
136
+ }
137
+ };
138
+ /**
139
+ * Run vision enrichment on the specified assets within a catalog.
140
+ * Modifies the catalog entries in place.
141
+ */
142
+ const describeAssets = async (catalog, assetDir, filesToDescribe, opts) => {
143
+ const fileSet = new Set(filesToDescribe);
144
+ const entriesToDescribe = catalog.assets.filter((a) => fileSet.has(a.file));
145
+ for (const entry of entriesToDescribe) {
146
+ const absPath = path.join(assetDir, entry.file);
147
+ if (!fs.existsSync(absPath))
148
+ continue;
149
+ const prompt = buildPrompt(entry);
150
+ process.stderr.write(`\x1b[90m Describing ${entry.file}...\x1b[0m\n`);
151
+ const vision = invokeVision(absPath, prompt, opts.model, opts.timeoutMs);
152
+ if (vision) {
153
+ mergeVision(entry, vision);
154
+ }
155
+ }
156
+ };
157
+ exports.describeAssets = describeAssets;
158
+ //# sourceMappingURL=vision-describe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vision-describe.js","sourceRoot":"","sources":["../../src/catalog/vision-describe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AACjC,2DAAiD;AA2BjD,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;EAsB7B,CAAA;AAEF,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;EAapC,CAAA;AAEF,kDAAkD;AAClD,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAU,EAAE;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,sBAAsB,CAAA;IAEtG,OAAO,QAAQ;SACZ,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC;SACjC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC;SACrC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACvC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACzC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,kEAAkE;AAClE,MAAM,YAAY,GAAG,CACnB,SAAiB,EACjB,MAAc,EACd,KAAa,EACb,SAAiB,EACS,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,iCAAY,EAAC,QAAQ,EAAE;YACpC,IAAI;YACJ,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,MAAM;YACzB,MAAM;YACN,QAAQ,EAAE,SAAS;SACpB,EAAE;YACD,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAA;QAEF,kDAAkD;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAA;QACpC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,SAAS,KAAK,GAAG,WAAW,CAAC,CAAA;QAC/E,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,oEAAoE;AACpE,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,MAAyB,EAAQ,EAAE;IACzE,IAAI,MAAM,CAAC,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IAC9D,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC/C,IAAI,MAAM,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACzC,IAAI,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACxD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;IAClF,IAAI,MAAM,CAAC,aAAa;QAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;IACpE,IAAI,MAAM,CAAC,eAAe;QAAE,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;IAE1E,4DAA4D;IAC5D,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;QACvF,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QAC1C,IAAI,MAAM,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QAC3D,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,cAA2C,CAAA;QAC3E,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACI,MAAM,cAAc,GAAG,KAAK,EACjC,OAAqB,EACrB,QAAgB,EAChB,eAAyB,EACzB,IAAmB,EACJ,EAAE;IACjB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAA;IACxC,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAE3E,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAQ;QAErC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,cAAc,CAAC,CAAA;QAEtE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACxE,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AArBY,QAAA,cAAc,kBAqB1B"}
package/dist/cli.js CHANGED
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
5
  const config_1 = require("./config");
6
+ const logger_1 = require("./ui/logger");
6
7
  const prompt_1 = require("./ui/prompt");
7
8
  const shape_1 = require("./commands/shape");
8
9
  const design_1 = require("./commands/design");
@@ -12,8 +13,10 @@ const dry_run_1 = require("./commands/dry-run");
12
13
  const build_1 = require("./commands/build");
13
14
  const create_1 = require("./commands/create");
14
15
  const rewind_1 = require("./commands/rewind");
16
+ const retrospective_1 = require("./commands/retrospective");
15
17
  const research_1 = require("./commands/research");
16
18
  const refine_1 = require("./commands/refine");
19
+ const catalog_1 = require("./commands/catalog");
17
20
  const claude_exec_1 = require("./engine/claude/claude.exec");
18
21
  // Kill all Claude subprocesses on Ctrl+C before exiting
19
22
  process.on("SIGINT", () => {
@@ -55,6 +58,8 @@ const parseBaseOpts = (opts) => ({
55
58
  });
56
59
  const withConfig = (fn) => async (buildName, opts) => {
57
60
  try {
61
+ if (opts.structuredLog === false)
62
+ (0, logger_1.disableLogger)();
58
63
  const config = (0, config_1.resolveConfig)(await requireBuildName(buildName), opts);
59
64
  await fn(config);
60
65
  }
@@ -202,12 +207,41 @@ program
202
207
  handleCommandError(err);
203
208
  }
204
209
  });
210
+ program
211
+ .command("catalog [build-name]")
212
+ .description("Catalog media assets into asset-catalog.json")
213
+ .option("--asset-dir <path>", "Path to asset directory")
214
+ .option("--describe", "Add vision-based descriptions for all assets")
215
+ .option("--classify", "AI-classify uncategorized files into categories")
216
+ .option("--force", "Re-process all assets ignoring content hash")
217
+ .option("--pack", "Generate sprite atlases after cataloging")
218
+ .option("--batch", "Batch multiple images per vision call")
219
+ .option("--model <name>", "Model for vision and classification", "opus")
220
+ .option("--timeout <minutes>", "Max duration per AI call in minutes", "5")
221
+ .action(async (buildName, opts) => {
222
+ try {
223
+ await (0, catalog_1.runCatalog)(await requireBuildName(buildName), {
224
+ assetDir: opts.assetDir,
225
+ isDescribe: opts.describe === true,
226
+ isClassify: opts.classify === true,
227
+ isForce: opts.force === true,
228
+ isPack: opts.pack === true,
229
+ isBatch: opts.batch === true,
230
+ model: opts.model ?? "opus",
231
+ timeout: parseInt(String(opts.timeout ?? "5"), 10),
232
+ });
233
+ }
234
+ catch (err) {
235
+ handleCommandError(err);
236
+ }
237
+ });
205
238
  const addPlanOptions = (cmd) => cmd
206
239
  .option("--model <name>", "Model for planner", "opus")
207
240
  .option("--timeout <minutes>", "Max duration for planning", "120")
208
241
  .option("--constraints <path>", "Path to constraints.md")
209
242
  .option("--taste <path>", "Path to taste.md")
210
- .option("--flavour <name-or-path>", "Agent flavour: built-in name or path to custom agents");
243
+ .option("--flavour <name-or-path>", "Agent flavour: built-in name or path to custom agents")
244
+ .option("--deep-ensemble", "Enable two-round cross-specialist annotation before synthesis");
211
245
  addPlanOptions(program
212
246
  .command("plan [build-name]")
213
247
  .description("Generate phase specs from spec.md and constraints.md"))
@@ -230,6 +264,7 @@ program
230
264
  .option("--context <text>", "Extra context appended to builder and planner prompts")
231
265
  .option("--unsafe", "Disable sandbox auto-detection")
232
266
  .option("--flavour <name-or-path>", "Agent flavour: built-in name or path to custom agents")
267
+ .option("--no-structured-log", "Disable structured logging to log.jsonl")
233
268
  .action(withConfig(build_1.runBuild));
234
269
  program
235
270
  .command("rewind <build-name>")
@@ -243,6 +278,24 @@ program
243
278
  handleCommandError(err);
244
279
  }
245
280
  });
281
+ program
282
+ .command("retrospective [build-name]")
283
+ .description("Analyze a completed build and extract learnings for future builds")
284
+ .option("--model <name>", "Model for retrospective agent", "opus")
285
+ .option("--timeout <minutes>", "Max duration in minutes", "10")
286
+ .option("--flavour <name-or-path>", "Agent flavour: built-in name or path to custom agents")
287
+ .action(async (buildName, opts) => {
288
+ try {
289
+ await (0, retrospective_1.runRetrospective)(await requireBuildName(buildName), {
290
+ model: opts.model ?? "opus",
291
+ timeout: parseInt(String(opts.timeout ?? "10"), 10),
292
+ flavour: opts.flavour ?? undefined,
293
+ });
294
+ }
295
+ catch (err) {
296
+ handleCommandError(err);
297
+ }
298
+ });
246
299
  program
247
300
  .command("clean")
248
301
  .description("Clean up build artifacts")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { RidgelineConfig } from "../types";
2
- export declare const ensurePhases: (config: RidgelineConfig) => Promise<import("../types").PhaseInfo[]>;
1
+ import { RidgelineConfig, PhaseInfo } from "../types";
2
+ export declare const ensurePhases: (config: RidgelineConfig) => Promise<PhaseInfo[]>;
3
3
  export declare const runBuild: (config: RidgelineConfig) => Promise<void>;