jumbo-cli 2.1.0 → 2.3.1
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 +4 -6
- package/assets/skills/refine-jumbo-goals/SKILL.md +1 -1
- package/dist/application/context/project/init/IAgentFileProtocol.d.ts +33 -9
- package/dist/application/context/project/init/IAgentFileProtocol.d.ts.map +1 -1
- package/dist/application/context/project/init/IAgentFileProtocol.js +2 -1
- package/dist/application/context/project/init/IAgentFileProtocol.js.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.d.ts +3 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js +4 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js.map +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js.map +1 -1
- package/dist/application/context/sessions/start/IBrownfieldStatusReader.d.ts +17 -0
- package/dist/application/context/sessions/start/IBrownfieldStatusReader.d.ts.map +1 -0
- package/dist/application/{SolutionContextView.js → context/sessions/start/IBrownfieldStatusReader.js} +1 -1
- package/dist/application/context/sessions/start/IBrownfieldStatusReader.js.map +1 -0
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts +3 -3
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts.map +1 -1
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js +3 -3
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js.map +1 -1
- package/dist/application/evolve/EvolveController.d.ts.map +1 -1
- package/dist/application/evolve/EvolveController.js +3 -0
- package/dist/application/evolve/EvolveController.js.map +1 -1
- package/dist/application/host/IApplicationContainer.d.ts +2 -4
- package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
- package/dist/domain/project/AgentFileReferenceContent.d.ts +11 -10
- package/dist/domain/project/AgentFileReferenceContent.d.ts.map +1 -1
- package/dist/domain/project/AgentFileReferenceContent.js +17 -31
- package/dist/domain/project/AgentFileReferenceContent.js.map +1 -1
- package/dist/domain/project/AgentsMdContent.d.ts +4 -3
- package/dist/domain/project/AgentsMdContent.d.ts.map +1 -1
- package/dist/domain/project/AgentsMdContent.js +6 -74
- package/dist/domain/project/AgentsMdContent.js.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.d.ts +11 -6
- package/dist/domain/project/CopilotInstructionsContent.d.ts.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.js +35 -48
- package/dist/domain/project/CopilotInstructionsContent.js.map +1 -1
- package/dist/domain/project/JumboMdContent.d.ts +45 -0
- package/dist/domain/project/JumboMdContent.d.ts.map +1 -0
- package/dist/domain/project/JumboMdContent.js +157 -0
- package/dist/domain/project/JumboMdContent.js.map +1 -0
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts +10 -2
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js +60 -10
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts +3 -3
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +13 -14
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts +2 -2
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js +16 -8
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts +3 -3
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js +13 -14
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
- package/dist/infrastructure/context/sessions/start/SqliteBrownfieldStatusReader.d.ts +16 -0
- package/dist/infrastructure/context/sessions/start/SqliteBrownfieldStatusReader.d.ts.map +1 -0
- package/dist/infrastructure/context/sessions/start/SqliteBrownfieldStatusReader.js +32 -0
- package/dist/infrastructure/context/sessions/start/SqliteBrownfieldStatusReader.js.map +1 -0
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +8 -12
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.d.ts +9 -5
- package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.js +69 -70
- package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts +33 -0
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js +178 -0
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionGoalsOutputBuilder.d.ts +41 -0
- package/dist/presentation/cli/commands/sessions/start/SessionGoalsOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionGoalsOutputBuilder.js +111 -0
- package/dist/presentation/cli/commands/sessions/start/SessionGoalsOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts +26 -0
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js +72 -0
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts +6 -28
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js +27 -223
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/session.start.d.ts +1 -1
- package/dist/presentation/cli/commands/sessions/start/session.start.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/session.start.js +6 -22
- package/dist/presentation/cli/commands/sessions/start/session.start.js.map +1 -1
- package/package.json +1 -1
- package/dist/application/ISolutionContextReader.d.ts +0 -17
- package/dist/application/ISolutionContextReader.d.ts.map +0 -1
- package/dist/application/ISolutionContextReader.js +0 -3
- package/dist/application/ISolutionContextReader.js.map +0 -1
- package/dist/application/SolutionContextView.d.ts +0 -26
- package/dist/application/SolutionContextView.d.ts.map +0 -1
- package/dist/application/SolutionContextView.js.map +0 -1
- package/dist/application/UnprimedBrownfieldQualifier.d.ts +0 -29
- package/dist/application/UnprimedBrownfieldQualifier.d.ts.map +0 -1
- package/dist/application/UnprimedBrownfieldQualifier.js +0 -47
- package/dist/application/UnprimedBrownfieldQualifier.js.map +0 -1
- package/dist/infrastructure/SqliteSolutionContextReader.d.ts +0 -20
- package/dist/infrastructure/SqliteSolutionContextReader.d.ts.map +0 -1
- package/dist/infrastructure/SqliteSolutionContextReader.js +0 -138
- package/dist/infrastructure/SqliteSolutionContextReader.js.map +0 -1
|
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
exports.AgentFileProtocol = void 0;
|
|
21
21
|
const path_1 = __importDefault(require("path"));
|
|
22
22
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
23
|
+
const JumboMdContent_js_1 = require("../../../../domain/project/JumboMdContent.js");
|
|
23
24
|
const AgentsMdContent_js_1 = require("../../../../domain/project/AgentsMdContent.js");
|
|
24
25
|
const ClaudeConfigurer_js_1 = require("./ClaudeConfigurer.js");
|
|
25
26
|
const GeminiConfigurer_js_1 = require("./GeminiConfigurer.js");
|
|
@@ -43,32 +44,52 @@ class AgentFileProtocol {
|
|
|
43
44
|
];
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
|
-
* Ensure
|
|
47
|
+
* Ensure JUMBO.md exists with full Jumbo instructions
|
|
48
|
+
*/
|
|
49
|
+
async ensureJumboMd(projectRoot) {
|
|
50
|
+
const jumboMdPath = path_1.default.join(projectRoot, "JUMBO.md");
|
|
51
|
+
try {
|
|
52
|
+
const exists = await fs_extra_1.default.pathExists(jumboMdPath);
|
|
53
|
+
if (!exists) {
|
|
54
|
+
await fs_extra_1.default.writeFile(jumboMdPath, JumboMdContent_js_1.JumboMdContent.getFullContent(), "utf-8");
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const content = await fs_extra_1.default.readFile(jumboMdPath, "utf-8");
|
|
58
|
+
const replaced = JumboMdContent_js_1.JumboMdContent.replaceJumboSection(content);
|
|
59
|
+
if (replaced !== null) {
|
|
60
|
+
await fs_extra_1.default.writeFile(jumboMdPath, replaced, "utf-8");
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const updatedContent = content + "\n\n" + JumboMdContent_js_1.JumboMdContent.getJumboSection();
|
|
64
|
+
await fs_extra_1.default.writeFile(jumboMdPath, updatedContent, "utf-8");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.warn(`Warning: Failed to update JUMBO.md: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Ensure AGENTS.md exists with thin reference to JUMBO.md
|
|
47
73
|
*/
|
|
48
74
|
async ensureAgentsMd(projectRoot) {
|
|
49
75
|
const agentsMdPath = path_1.default.join(projectRoot, "AGENTS.md");
|
|
50
76
|
try {
|
|
51
77
|
const exists = await fs_extra_1.default.pathExists(agentsMdPath);
|
|
52
78
|
if (!exists) {
|
|
53
|
-
// File doesn't exist - create with full content
|
|
54
79
|
await fs_extra_1.default.writeFile(agentsMdPath, AgentsMdContent_js_1.AgentsMdContent.getFullContent(), "utf-8");
|
|
55
80
|
return;
|
|
56
81
|
}
|
|
57
|
-
// File exists - try to replace existing Jumbo section (current or legacy markers)
|
|
58
82
|
const content = await fs_extra_1.default.readFile(agentsMdPath, "utf-8");
|
|
59
83
|
const replaced = AgentsMdContent_js_1.AgentsMdContent.replaceJumboSection(content);
|
|
60
84
|
if (replaced !== null) {
|
|
61
|
-
// Jumbo section found (current or legacy) - replace with current version
|
|
62
85
|
await fs_extra_1.default.writeFile(agentsMdPath, replaced, "utf-8");
|
|
63
86
|
}
|
|
64
87
|
else {
|
|
65
|
-
// No Jumbo section found - append it
|
|
66
88
|
const updatedContent = content + "\n\n" + AgentsMdContent_js_1.AgentsMdContent.getJumboSection();
|
|
67
89
|
await fs_extra_1.default.writeFile(agentsMdPath, updatedContent, "utf-8");
|
|
68
90
|
}
|
|
69
91
|
}
|
|
70
92
|
catch (error) {
|
|
71
|
-
// Graceful degradation - log but don't throw
|
|
72
93
|
console.warn(`Warning: Failed to update AGENTS.md: ${error instanceof Error ? error.message : String(error)}`);
|
|
73
94
|
}
|
|
74
95
|
}
|
|
@@ -82,25 +103,47 @@ class AgentFileProtocol {
|
|
|
82
103
|
await this.installSkillsFromTemplates(projectRoot);
|
|
83
104
|
}
|
|
84
105
|
/**
|
|
85
|
-
* Repair
|
|
106
|
+
* Repair JUMBO.md by replacing the Jumbo section with the current version
|
|
107
|
+
*/
|
|
108
|
+
async repairJumboMd(projectRoot) {
|
|
109
|
+
const jumboMdPath = path_1.default.join(projectRoot, "JUMBO.md");
|
|
110
|
+
try {
|
|
111
|
+
const exists = await fs_extra_1.default.pathExists(jumboMdPath);
|
|
112
|
+
if (!exists) {
|
|
113
|
+
await fs_extra_1.default.writeFile(jumboMdPath, JumboMdContent_js_1.JumboMdContent.getFullContent(), "utf-8");
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const content = await fs_extra_1.default.readFile(jumboMdPath, "utf-8");
|
|
117
|
+
const replaced = JumboMdContent_js_1.JumboMdContent.replaceJumboSection(content);
|
|
118
|
+
if (replaced !== null) {
|
|
119
|
+
await fs_extra_1.default.writeFile(jumboMdPath, replaced, "utf-8");
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const updatedContent = content + "\n\n" + JumboMdContent_js_1.JumboMdContent.getJumboSection();
|
|
123
|
+
await fs_extra_1.default.writeFile(jumboMdPath, updatedContent, "utf-8");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
console.warn(`Warning: Failed to repair JUMBO.md: ${error instanceof Error ? error.message : String(error)}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Repair AGENTS.md by replacing the Jumbo section with the current thin reference
|
|
86
132
|
*/
|
|
87
133
|
async repairAgentsMd(projectRoot) {
|
|
88
134
|
const agentsMdPath = path_1.default.join(projectRoot, "AGENTS.md");
|
|
89
135
|
try {
|
|
90
136
|
const exists = await fs_extra_1.default.pathExists(agentsMdPath);
|
|
91
137
|
if (!exists) {
|
|
92
|
-
// File doesn't exist - create with full content (same as ensure)
|
|
93
138
|
await fs_extra_1.default.writeFile(agentsMdPath, AgentsMdContent_js_1.AgentsMdContent.getFullContent(), "utf-8");
|
|
94
139
|
return;
|
|
95
140
|
}
|
|
96
141
|
const content = await fs_extra_1.default.readFile(agentsMdPath, "utf-8");
|
|
97
142
|
const replaced = AgentsMdContent_js_1.AgentsMdContent.replaceJumboSection(content);
|
|
98
143
|
if (replaced !== null) {
|
|
99
|
-
// Jumbo section found - replace with current version
|
|
100
144
|
await fs_extra_1.default.writeFile(agentsMdPath, replaced, "utf-8");
|
|
101
145
|
}
|
|
102
146
|
else {
|
|
103
|
-
// Jumbo section not found - append (same as ensure)
|
|
104
147
|
const updatedContent = content + "\n\n" + AgentsMdContent_js_1.AgentsMdContent.getJumboSection();
|
|
105
148
|
await fs_extra_1.default.writeFile(agentsMdPath, updatedContent, "utf-8");
|
|
106
149
|
}
|
|
@@ -128,6 +171,13 @@ class AgentFileProtocol {
|
|
|
128
171
|
*/
|
|
129
172
|
async getPlannedFileChanges(projectRoot) {
|
|
130
173
|
const changes = [];
|
|
174
|
+
// JUMBO.md change
|
|
175
|
+
const jumboMdPath = path_1.default.join(projectRoot, "JUMBO.md");
|
|
176
|
+
changes.push({
|
|
177
|
+
path: "JUMBO.md",
|
|
178
|
+
action: (await fs_extra_1.default.pathExists(jumboMdPath)) ? "modify" : "create",
|
|
179
|
+
description: "Add Jumbo instructions",
|
|
180
|
+
});
|
|
131
181
|
// AGENTS.md change
|
|
132
182
|
const agentsMdPath = path_1.default.join(projectRoot, "AGENTS.md");
|
|
133
183
|
changes.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentFileProtocol.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/AgentFileProtocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;AAEH,gDAAwB;AACxB,wDAA0B;AAG1B,sFAAgF;AAEhF,+DAAyD;AACzD,+DAAyD;AACzD,iEAA2D;AAC3D,yEAAmE;AAOnE,MAAM,4BAA4B,GAAG,cAAI,CAAC,OAAO,CAC/C,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,CACT,CAAC;AAEF,MAAM,6BAA6B,GAAiC;IAClE,EAAE,UAAU,EAAE,QAAQ,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IACrF,EAAE,UAAU,EAAE,QAAQ,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IACrF,EAAE,UAAU,EAAE,QAAQ,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IACrF,EAAE,UAAU,EAAE,MAAM,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;CAClF,CAAC;AAEF,MAAa,iBAAiB;IAQ5B,YAA6B,qBAA6B,4BAA4B;QAAzD,uBAAkB,GAAlB,kBAAkB,CAAuC;QAPrE,gBAAW,GAAkB;YAC5C,IAAI,sCAAgB,EAAE;YACtB,IAAI,sCAAgB,EAAE;YACtB,IAAI,wCAAiB,EAAE;YACvB,IAAI,gDAAqB,EAAE;SAC5B,CAAC;IAEuF,CAAC;IAE1F;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,
|
|
1
|
+
{"version":3,"file":"AgentFileProtocol.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/AgentFileProtocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Infrastructure: Claude Code Configurer
|
|
3
3
|
*
|
|
4
4
|
* Encapsulates all knowledge about Claude Code configuration:
|
|
5
|
-
* - CLAUDE.md with reference to
|
|
5
|
+
* - CLAUDE.md with thin reference to JUMBO.md
|
|
6
6
|
* - .claude/settings.json with SessionStart hooks
|
|
7
7
|
*
|
|
8
8
|
* Use this as a reference when creating new agent Configurers.
|
|
@@ -20,7 +20,7 @@ export declare class ClaudeConfigurer implements IConfigurer {
|
|
|
20
20
|
*/
|
|
21
21
|
configure(projectRoot: string): Promise<void>;
|
|
22
22
|
/**
|
|
23
|
-
* Ensure CLAUDE.md exists with reference to
|
|
23
|
+
* Ensure CLAUDE.md exists with thin reference to JUMBO.md
|
|
24
24
|
*/
|
|
25
25
|
private ensureClaudeMd;
|
|
26
26
|
/**
|
|
@@ -32,7 +32,7 @@ export declare class ClaudeConfigurer implements IConfigurer {
|
|
|
32
32
|
*/
|
|
33
33
|
repair(projectRoot: string): Promise<void>;
|
|
34
34
|
/**
|
|
35
|
-
* Repair CLAUDE.md by replacing the reference
|
|
35
|
+
* Repair CLAUDE.md by replacing the reference with the current thin reference
|
|
36
36
|
*/
|
|
37
37
|
private repairClaudeMd;
|
|
38
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;
|
|
1
|
+
{"version":3,"file":"ClaudeConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;IA6B5B;;OAEG;YACW,oBAAoB;IAoDlC;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;YACW,cAAc;IA8B5B;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAmB/E"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Infrastructure: Claude Code Configurer
|
|
4
4
|
*
|
|
5
5
|
* Encapsulates all knowledge about Claude Code configuration:
|
|
6
|
-
* - CLAUDE.md with reference to
|
|
6
|
+
* - CLAUDE.md with thin reference to JUMBO.md
|
|
7
7
|
* - .claude/settings.json with SessionStart hooks
|
|
8
8
|
*
|
|
9
9
|
* Use this as a reference when creating new agent Configurers.
|
|
@@ -31,23 +31,22 @@ class ClaudeConfigurer {
|
|
|
31
31
|
await this.ensureClaudeSettings(projectRoot);
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Ensure CLAUDE.md exists with reference to
|
|
34
|
+
* Ensure CLAUDE.md exists with thin reference to JUMBO.md
|
|
35
35
|
*/
|
|
36
36
|
async ensureClaudeMd(projectRoot) {
|
|
37
37
|
const claudeMdPath = path_1.default.join(projectRoot, "CLAUDE.md");
|
|
38
|
-
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference();
|
|
38
|
+
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference("CLAUDE.md");
|
|
39
39
|
try {
|
|
40
40
|
const exists = await fs_extra_1.default.pathExists(claudeMdPath);
|
|
41
41
|
if (!exists) {
|
|
42
|
-
|
|
43
|
-
await fs_extra_1.default.writeFile(claudeMdPath, reference.trim() + "\n", "utf-8");
|
|
42
|
+
await fs_extra_1.default.writeFile(claudeMdPath, reference, "utf-8");
|
|
44
43
|
return;
|
|
45
44
|
}
|
|
46
45
|
// File exists - check if reference is present
|
|
47
46
|
const content = await fs_extra_1.default.readFile(claudeMdPath, "utf-8");
|
|
48
|
-
if (!content.includes("
|
|
47
|
+
if (!content.includes("JUMBO.md")) {
|
|
49
48
|
// Reference missing - append it
|
|
50
|
-
const updatedContent = content.trimEnd() + "\n" + reference;
|
|
49
|
+
const updatedContent = content.trimEnd() + "\n\n" + reference;
|
|
51
50
|
await fs_extra_1.default.writeFile(claudeMdPath, updatedContent, "utf-8");
|
|
52
51
|
}
|
|
53
52
|
// else: Reference already present - no-op
|
|
@@ -117,26 +116,26 @@ class ClaudeConfigurer {
|
|
|
117
116
|
await this.ensureClaudeSettings(projectRoot);
|
|
118
117
|
}
|
|
119
118
|
/**
|
|
120
|
-
* Repair CLAUDE.md by replacing the reference
|
|
119
|
+
* Repair CLAUDE.md by replacing the reference with the current thin reference
|
|
121
120
|
*/
|
|
122
121
|
async repairClaudeMd(projectRoot) {
|
|
123
122
|
const claudeMdPath = path_1.default.join(projectRoot, "CLAUDE.md");
|
|
124
|
-
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference();
|
|
123
|
+
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference("CLAUDE.md");
|
|
125
124
|
try {
|
|
126
125
|
const exists = await fs_extra_1.default.pathExists(claudeMdPath);
|
|
127
126
|
if (!exists) {
|
|
128
|
-
await fs_extra_1.default.writeFile(claudeMdPath, reference
|
|
127
|
+
await fs_extra_1.default.writeFile(claudeMdPath, reference, "utf-8");
|
|
129
128
|
return;
|
|
130
129
|
}
|
|
131
130
|
const content = await fs_extra_1.default.readFile(claudeMdPath, "utf-8");
|
|
132
|
-
const replaced = AgentFileReferenceContent_js_1.AgentFileReferenceContent.replaceAgentFileReference(content);
|
|
131
|
+
const replaced = AgentFileReferenceContent_js_1.AgentFileReferenceContent.replaceAgentFileReference(content, "CLAUDE.md");
|
|
133
132
|
if (replaced !== null) {
|
|
134
|
-
//
|
|
133
|
+
// Legacy reference block found - replace entire file with new thin reference
|
|
135
134
|
await fs_extra_1.default.writeFile(claudeMdPath, replaced, "utf-8");
|
|
136
135
|
}
|
|
137
|
-
else if (!content.includes("
|
|
136
|
+
else if (!content.includes("JUMBO.md")) {
|
|
138
137
|
// No reference at all - append
|
|
139
|
-
const updatedContent = content.trimEnd() + "\n" + reference;
|
|
138
|
+
const updatedContent = content.trimEnd() + "\n\n" + reference;
|
|
140
139
|
await fs_extra_1.default.writeFile(claudeMdPath, updatedContent, "utf-8");
|
|
141
140
|
}
|
|
142
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;AAEH,gDAAwB;AACxB,wDAA0B;AAC1B,0GAAoG;AACpG,+EAAyE;AAIzE,MAAa,gBAAgB;IAC3B;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,WAAmB;QAC9C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,wDAAyB,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ClaudeConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Infrastructure: GitHub Copilot Configurer
|
|
3
3
|
*
|
|
4
4
|
* Encapsulates all knowledge about GitHub Copilot configuration:
|
|
5
|
-
* - .github/copilot-instructions.md with
|
|
5
|
+
* - .github/copilot-instructions.md with thin reference to JUMBO.md
|
|
6
6
|
*
|
|
7
7
|
* Note: Copilot does not support SessionStart hooks, so configuration
|
|
8
8
|
* is limited to static instruction files.
|
|
@@ -27,7 +27,7 @@ export declare class CopilotConfigurer implements IConfigurer {
|
|
|
27
27
|
*/
|
|
28
28
|
repair(projectRoot: string): Promise<void>;
|
|
29
29
|
/**
|
|
30
|
-
* Repair copilot-instructions.md by replacing the Jumbo section with current
|
|
30
|
+
* Repair copilot-instructions.md by replacing the Jumbo section with current thin reference
|
|
31
31
|
*/
|
|
32
32
|
private repairCopilotInstructions;
|
|
33
33
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopilotConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,iBAAkB,YAAW,WAAW;IACnD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;YACW,yBAAyB;
|
|
1
|
+
{"version":3,"file":"CopilotConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,iBAAkB,YAAW,WAAW;IACnD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;YACW,yBAAyB;IA6CvC;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;OAEG;YACW,yBAAyB;IA2CvC;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAe/E"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Infrastructure: GitHub Copilot Configurer
|
|
4
4
|
*
|
|
5
5
|
* Encapsulates all knowledge about GitHub Copilot configuration:
|
|
6
|
-
* - .github/copilot-instructions.md with
|
|
6
|
+
* - .github/copilot-instructions.md with thin reference to JUMBO.md
|
|
7
7
|
*
|
|
8
8
|
* Note: Copilot does not support SessionStart hooks, so configuration
|
|
9
9
|
* is limited to static instruction files.
|
|
@@ -37,16 +37,20 @@ class CopilotConfigurer {
|
|
|
37
37
|
await fs_extra_1.default.ensureDir(path_1.default.join(projectRoot, ".github"));
|
|
38
38
|
const exists = await fs_extra_1.default.pathExists(copilotInstructionsPath);
|
|
39
39
|
if (!exists) {
|
|
40
|
-
// File doesn't exist - create with
|
|
40
|
+
// File doesn't exist - create with thin reference
|
|
41
41
|
await fs_extra_1.default.writeFile(copilotInstructionsPath, CopilotInstructionsContent_js_1.CopilotInstructionsContent.getCopilotInstructions(), "utf-8");
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
// File exists - check if Jumbo section is present
|
|
45
45
|
const content = await fs_extra_1.default.readFile(copilotInstructionsPath, "utf-8");
|
|
46
46
|
const jumboMarker = CopilotInstructionsContent_js_1.CopilotInstructionsContent.getCopilotSectionMarker();
|
|
47
|
-
if (!content.includes(jumboMarker)) {
|
|
48
|
-
// Jumbo section missing - append
|
|
49
|
-
const
|
|
47
|
+
if (!content.includes(jumboMarker) && !content.includes("## Jumbo Context Management")) {
|
|
48
|
+
// Jumbo section missing (neither current nor legacy) - append section
|
|
49
|
+
const sectionContent = `## Instructions for Agents on how to collaborate with Jumbo
|
|
50
|
+
|
|
51
|
+
See ../JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
52
|
+
`;
|
|
53
|
+
const updatedContent = content + "\n\n" + sectionContent;
|
|
50
54
|
await fs_extra_1.default.writeFile(copilotInstructionsPath, updatedContent, "utf-8");
|
|
51
55
|
}
|
|
52
56
|
// else: Jumbo section already present - no-op
|
|
@@ -63,7 +67,7 @@ class CopilotConfigurer {
|
|
|
63
67
|
await this.repairCopilotInstructions(projectRoot);
|
|
64
68
|
}
|
|
65
69
|
/**
|
|
66
|
-
* Repair copilot-instructions.md by replacing the Jumbo section with current
|
|
70
|
+
* Repair copilot-instructions.md by replacing the Jumbo section with current thin reference
|
|
67
71
|
*/
|
|
68
72
|
async repairCopilotInstructions(projectRoot) {
|
|
69
73
|
const copilotInstructionsPath = path_1.default.join(projectRoot, ".github", "copilot-instructions.md");
|
|
@@ -77,12 +81,16 @@ class CopilotConfigurer {
|
|
|
77
81
|
const content = await fs_extra_1.default.readFile(copilotInstructionsPath, "utf-8");
|
|
78
82
|
const replaced = CopilotInstructionsContent_js_1.CopilotInstructionsContent.replaceCopilotSection(content);
|
|
79
83
|
if (replaced !== null) {
|
|
80
|
-
// Jumbo section found - replace with
|
|
84
|
+
// Jumbo section found (current or legacy) - replace with thin reference
|
|
81
85
|
await fs_extra_1.default.writeFile(copilotInstructionsPath, replaced, "utf-8");
|
|
82
86
|
}
|
|
83
87
|
else {
|
|
84
88
|
// Jumbo section not found - append
|
|
85
|
-
const
|
|
89
|
+
const sectionContent = `## Instructions for Agents on how to collaborate with Jumbo
|
|
90
|
+
|
|
91
|
+
See ../JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
92
|
+
`;
|
|
93
|
+
const updatedContent = content + "\n\n" + sectionContent;
|
|
86
94
|
await fs_extra_1.default.writeFile(copilotInstructionsPath, updatedContent, "utf-8");
|
|
87
95
|
}
|
|
88
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopilotConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;AAEH,gDAAwB;AACxB,wDAA0B;AAC1B,4GAAsG;AAItG,MAAa,iBAAiB;IAC5B;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,WAAmB;QACzD,MAAM,uBAAuB,GAAG,cAAI,CAAC,IAAI,CACvC,WAAW,EACX,SAAS,EACT,yBAAyB,CAC1B,CAAC;QAEF,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;YAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,
|
|
1
|
+
{"version":3,"file":"CopilotConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Infrastructure: Gemini CLI Configurer
|
|
3
3
|
*
|
|
4
4
|
* Encapsulates all knowledge about Gemini CLI configuration:
|
|
5
|
-
* - GEMINI.md with reference to
|
|
5
|
+
* - GEMINI.md with thin reference to JUMBO.md
|
|
6
6
|
* - .gemini/settings.json with SessionStart hooks
|
|
7
7
|
*
|
|
8
8
|
* Operations are idempotent and gracefully handle errors.
|
|
@@ -17,7 +17,7 @@ export declare class GeminiConfigurer implements IConfigurer {
|
|
|
17
17
|
*/
|
|
18
18
|
configure(projectRoot: string): Promise<void>;
|
|
19
19
|
/**
|
|
20
|
-
* Ensure GEMINI.md exists with reference to
|
|
20
|
+
* Ensure GEMINI.md exists with thin reference to JUMBO.md
|
|
21
21
|
*/
|
|
22
22
|
private ensureGeminiMd;
|
|
23
23
|
/**
|
|
@@ -29,7 +29,7 @@ export declare class GeminiConfigurer implements IConfigurer {
|
|
|
29
29
|
*/
|
|
30
30
|
repair(projectRoot: string): Promise<void>;
|
|
31
31
|
/**
|
|
32
|
-
* Repair GEMINI.md by replacing the reference
|
|
32
|
+
* Repair GEMINI.md by replacing the reference with the current thin reference
|
|
33
33
|
*/
|
|
34
34
|
private repairGeminiMd;
|
|
35
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;
|
|
1
|
+
{"version":3,"file":"GeminiConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;IA6B5B;;OAEG;YACW,oBAAoB;IAoDlC;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;YACW,cAAc;IA8B5B;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAmB/E"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Infrastructure: Gemini CLI Configurer
|
|
4
4
|
*
|
|
5
5
|
* Encapsulates all knowledge about Gemini CLI configuration:
|
|
6
|
-
* - GEMINI.md with reference to
|
|
6
|
+
* - GEMINI.md with thin reference to JUMBO.md
|
|
7
7
|
* - .gemini/settings.json with SessionStart hooks
|
|
8
8
|
*
|
|
9
9
|
* Operations are idempotent and gracefully handle errors.
|
|
@@ -28,23 +28,22 @@ class GeminiConfigurer {
|
|
|
28
28
|
await this.ensureGeminiSettings(projectRoot);
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* Ensure GEMINI.md exists with reference to
|
|
31
|
+
* Ensure GEMINI.md exists with thin reference to JUMBO.md
|
|
32
32
|
*/
|
|
33
33
|
async ensureGeminiMd(projectRoot) {
|
|
34
34
|
const geminiMdPath = path_1.default.join(projectRoot, "GEMINI.md");
|
|
35
|
-
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference();
|
|
35
|
+
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference("GEMINI.md");
|
|
36
36
|
try {
|
|
37
37
|
const exists = await fs_extra_1.default.pathExists(geminiMdPath);
|
|
38
38
|
if (!exists) {
|
|
39
|
-
|
|
40
|
-
await fs_extra_1.default.writeFile(geminiMdPath, reference.trim() + "\n", "utf-8");
|
|
39
|
+
await fs_extra_1.default.writeFile(geminiMdPath, reference, "utf-8");
|
|
41
40
|
return;
|
|
42
41
|
}
|
|
43
42
|
// File exists - check if reference is present
|
|
44
43
|
const content = await fs_extra_1.default.readFile(geminiMdPath, "utf-8");
|
|
45
|
-
if (!content.includes("
|
|
44
|
+
if (!content.includes("JUMBO.md")) {
|
|
46
45
|
// Reference missing - append it
|
|
47
|
-
const updatedContent = content.trimEnd() + "\n" + reference;
|
|
46
|
+
const updatedContent = content.trimEnd() + "\n\n" + reference;
|
|
48
47
|
await fs_extra_1.default.writeFile(geminiMdPath, updatedContent, "utf-8");
|
|
49
48
|
}
|
|
50
49
|
// else: Reference already present - no-op
|
|
@@ -114,26 +113,26 @@ class GeminiConfigurer {
|
|
|
114
113
|
await this.ensureGeminiSettings(projectRoot);
|
|
115
114
|
}
|
|
116
115
|
/**
|
|
117
|
-
* Repair GEMINI.md by replacing the reference
|
|
116
|
+
* Repair GEMINI.md by replacing the reference with the current thin reference
|
|
118
117
|
*/
|
|
119
118
|
async repairGeminiMd(projectRoot) {
|
|
120
119
|
const geminiMdPath = path_1.default.join(projectRoot, "GEMINI.md");
|
|
121
|
-
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference();
|
|
120
|
+
const reference = AgentFileReferenceContent_js_1.AgentFileReferenceContent.getAgentFileReference("GEMINI.md");
|
|
122
121
|
try {
|
|
123
122
|
const exists = await fs_extra_1.default.pathExists(geminiMdPath);
|
|
124
123
|
if (!exists) {
|
|
125
|
-
await fs_extra_1.default.writeFile(geminiMdPath, reference
|
|
124
|
+
await fs_extra_1.default.writeFile(geminiMdPath, reference, "utf-8");
|
|
126
125
|
return;
|
|
127
126
|
}
|
|
128
127
|
const content = await fs_extra_1.default.readFile(geminiMdPath, "utf-8");
|
|
129
|
-
const replaced = AgentFileReferenceContent_js_1.AgentFileReferenceContent.replaceAgentFileReference(content);
|
|
128
|
+
const replaced = AgentFileReferenceContent_js_1.AgentFileReferenceContent.replaceAgentFileReference(content, "GEMINI.md");
|
|
130
129
|
if (replaced !== null) {
|
|
131
|
-
//
|
|
130
|
+
// Legacy reference block found - replace entire file with new thin reference
|
|
132
131
|
await fs_extra_1.default.writeFile(geminiMdPath, replaced, "utf-8");
|
|
133
132
|
}
|
|
134
|
-
else if (!content.includes("
|
|
133
|
+
else if (!content.includes("JUMBO.md")) {
|
|
135
134
|
// No reference at all - append
|
|
136
|
-
const updatedContent = content.trimEnd() + "\n" + reference;
|
|
135
|
+
const updatedContent = content.trimEnd() + "\n\n" + reference;
|
|
137
136
|
await fs_extra_1.default.writeFile(geminiMdPath, updatedContent, "utf-8");
|
|
138
137
|
}
|
|
139
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;AAEH,gDAAwB;AACxB,wDAA0B;AAC1B,0GAAoG;AACpG,+EAAyE;AAIzE,MAAa,gBAAgB;IAC3B;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,WAAmB;QAC9C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,wDAAyB,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"GeminiConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/GeminiConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Database } from "better-sqlite3";
|
|
2
|
+
import { IBrownfieldStatusReader } from "../../../../application/context/sessions/start/IBrownfieldStatusReader.js";
|
|
3
|
+
/**
|
|
4
|
+
* SqliteBrownfieldStatusReader - Checks if any solution context exists
|
|
5
|
+
*
|
|
6
|
+
* Uses a single EXISTS query across all solution entity tables rather than
|
|
7
|
+
* hydrating full entity views. A project is considered "primed" if ANY of
|
|
8
|
+
* the following exist: architecture, active components, active decisions,
|
|
9
|
+
* invariants, or active guidelines.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SqliteBrownfieldStatusReader implements IBrownfieldStatusReader {
|
|
12
|
+
private readonly db;
|
|
13
|
+
constructor(db: Database);
|
|
14
|
+
isUnprimed(): Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=SqliteBrownfieldStatusReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteBrownfieldStatusReader.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/sessions/start/SqliteBrownfieldStatusReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2EAA2E,CAAC;AAIpH;;;;;;;GAOG;AACH,qBAAa,4BAA6B,YAAW,uBAAuB;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEnC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CAerC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SqliteBrownfieldStatusReader = void 0;
|
|
4
|
+
const Constants_js_1 = require("../../../../domain/components/Constants.js");
|
|
5
|
+
const Constants_js_2 = require("../../../../domain/decisions/Constants.js");
|
|
6
|
+
/**
|
|
7
|
+
* SqliteBrownfieldStatusReader - Checks if any solution context exists
|
|
8
|
+
*
|
|
9
|
+
* Uses a single EXISTS query across all solution entity tables rather than
|
|
10
|
+
* hydrating full entity views. A project is considered "primed" if ANY of
|
|
11
|
+
* the following exist: architecture, active components, active decisions,
|
|
12
|
+
* invariants, or active guidelines.
|
|
13
|
+
*/
|
|
14
|
+
class SqliteBrownfieldStatusReader {
|
|
15
|
+
constructor(db) {
|
|
16
|
+
this.db = db;
|
|
17
|
+
}
|
|
18
|
+
async isUnprimed() {
|
|
19
|
+
const row = this.db
|
|
20
|
+
.prepare(`SELECT
|
|
21
|
+
EXISTS(SELECT 1 FROM architecture_views) OR
|
|
22
|
+
EXISTS(SELECT 1 FROM component_views WHERE status = ?) OR
|
|
23
|
+
EXISTS(SELECT 1 FROM decision_views WHERE status = ?) OR
|
|
24
|
+
EXISTS(SELECT 1 FROM invariant_views) OR
|
|
25
|
+
EXISTS(SELECT 1 FROM guideline_views WHERE isRemoved = 0)
|
|
26
|
+
AS hasSolutionContext`)
|
|
27
|
+
.get(Constants_js_1.ComponentStatus.ACTIVE, Constants_js_2.DecisionStatus.ACTIVE);
|
|
28
|
+
return row.hasSolutionContext === 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.SqliteBrownfieldStatusReader = SqliteBrownfieldStatusReader;
|
|
32
|
+
//# sourceMappingURL=SqliteBrownfieldStatusReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteBrownfieldStatusReader.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/sessions/start/SqliteBrownfieldStatusReader.ts"],"names":[],"mappings":";;;AAEA,6EAA6E;AAC7E,4EAA2E;AAE3E;;;;;;;GAOG;AACH,MAAa,4BAA4B;IACvC,YAA6B,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;IAAG,CAAC;IAE7C,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;;;;;;+BAMuB,CACxB;aACA,GAAG,CAAC,8BAAe,CAAC,MAAM,EAAE,6BAAc,CAAC,MAAM,CAAmC,CAAC;QAExF,OAAO,GAAG,CAAC,kBAAkB,KAAK,CAAC,CAAC;IACtC,CAAC;CACF;AAlBD,oEAkBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostBuilder.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/host/HostBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AASxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"HostBuilder.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/host/HostBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AASxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAuhBnF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAE1B;gBAGZ,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,gBAAgB,KAAK,IAAI;IAOvE;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;CA6mD9C"}
|