jumbo-cli 3.4.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/agent-files/json/claude-settings.fragment.json +41 -0
- package/assets/agent-files/json/codex-hooks.fragment.json +36 -0
- package/assets/agent-files/json/copilot-hooks.fragment.json +14 -0
- package/assets/agent-files/json/cursor-hooks.fragment.json +11 -0
- package/assets/agent-files/json/gemini-settings.fragment.json +41 -0
- package/assets/agent-files/markdown/AGENTS.md +6 -0
- package/assets/agent-files/markdown/CLAUDE.md +6 -0
- package/assets/agent-files/markdown/GEMINI.md +6 -0
- package/assets/agent-files/markdown/JUMBO.md +7 -0
- package/assets/agent-files/markdown/copilot-instructions.md +6 -0
- package/assets/agent-files/markdown/cursor-rules.mdc +10 -0
- package/assets/skills/jumbo-bootstrap-session/SKILL.md +11 -0
- package/assets/skills/jumbo-command-discovery/SKILL.md +11 -0
- package/assets/skills/jumbo-context-maintenance/SKILL.md +11 -0
- package/assets/skills/jumbo-correction-capture/SKILL.md +11 -0
- package/dist/application/context/search/ISearchDocumentProjector.d.ts +10 -0
- package/dist/application/context/search/ISearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/ISearchDocumentProjector.js +2 -0
- package/dist/application/context/search/ISearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/ISearchGateway.d.ts +6 -0
- package/dist/application/context/search/ISearchGateway.d.ts.map +1 -0
- package/dist/application/context/search/ISearchGateway.js +2 -0
- package/dist/application/context/search/ISearchGateway.js.map +1 -0
- package/dist/application/context/search/ISearchIndexReader.d.ts +9 -0
- package/dist/application/context/search/ISearchIndexReader.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexReader.js +2 -0
- package/dist/application/context/search/ISearchIndexReader.js.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.d.ts +6 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.js +2 -0
- package/dist/application/context/search/ISearchIndexRebuildGateway.js.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.d.ts +6 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.js +2 -0
- package/dist/application/context/search/ISearchIndexRebuildStore.js.map +1 -0
- package/dist/application/context/search/ISearchIndexWriter.d.ts +7 -0
- package/dist/application/context/search/ISearchIndexWriter.d.ts.map +1 -0
- package/dist/application/context/search/ISearchIndexWriter.js +2 -0
- package/dist/application/context/search/ISearchIndexWriter.js.map +1 -0
- package/dist/application/context/search/ISearchProvider.d.ts +6 -0
- package/dist/application/context/search/ISearchProvider.d.ts.map +1 -0
- package/dist/application/context/search/ISearchProvider.js +2 -0
- package/dist/application/context/search/ISearchProvider.js.map +1 -0
- package/dist/application/context/search/LocalSearchGateway.d.ts +14 -0
- package/dist/application/context/search/LocalSearchGateway.d.ts.map +1 -0
- package/dist/application/context/search/LocalSearchGateway.js +40 -0
- package/dist/application/context/search/LocalSearchGateway.js.map +1 -0
- package/dist/application/context/search/SearchCategory.d.ts +10 -0
- package/dist/application/context/search/SearchCategory.d.ts.map +1 -0
- package/dist/application/context/search/SearchCategory.js +8 -0
- package/dist/application/context/search/SearchCategory.js.map +1 -0
- package/dist/application/context/search/SearchController.d.ts +9 -0
- package/dist/application/context/search/SearchController.d.ts.map +1 -0
- package/dist/application/context/search/SearchController.js +9 -0
- package/dist/application/context/search/SearchController.js.map +1 -0
- package/dist/application/context/search/SearchCriteria.d.ts +8 -0
- package/dist/application/context/search/SearchCriteria.d.ts.map +1 -0
- package/dist/application/context/search/SearchCriteria.js +2 -0
- package/dist/application/context/search/SearchCriteria.js.map +1 -0
- package/dist/application/context/search/SearchDocument.d.ts +16 -0
- package/dist/application/context/search/SearchDocument.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocument.js +2 -0
- package/dist/application/context/search/SearchDocument.js.map +1 -0
- package/dist/application/context/search/SearchDocumentChange.d.ts +10 -0
- package/dist/application/context/search/SearchDocumentChange.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocumentChange.js +2 -0
- package/dist/application/context/search/SearchDocumentChange.js.map +1 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.d.ts +9 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.js +17 -0
- package/dist/application/context/search/SearchDocumentProjectorRegistry.js.map +1 -0
- package/dist/application/context/search/SearchDocumentSource.d.ts +5 -0
- package/dist/application/context/search/SearchDocumentSource.d.ts.map +1 -0
- package/dist/application/context/search/SearchDocumentSource.js +2 -0
- package/dist/application/context/search/SearchDocumentSource.js.map +1 -0
- package/dist/application/context/search/SearchFacetValue.d.ts +2 -0
- package/dist/application/context/search/SearchFacetValue.d.ts.map +1 -0
- package/dist/application/context/search/SearchFacetValue.js +2 -0
- package/dist/application/context/search/SearchFacetValue.js.map +1 -0
- package/dist/application/context/search/SearchHit.d.ts +13 -0
- package/dist/application/context/search/SearchHit.d.ts.map +1 -0
- package/dist/application/context/search/SearchHit.js +2 -0
- package/dist/application/context/search/SearchHit.js.map +1 -0
- package/dist/application/context/search/SearchHitGroup.d.ts +7 -0
- package/dist/application/context/search/SearchHitGroup.d.ts.map +1 -0
- package/dist/application/context/search/SearchHitGroup.js +2 -0
- package/dist/application/context/search/SearchHitGroup.js.map +1 -0
- package/dist/application/context/search/SearchIndexEventHandler.d.ts +14 -0
- package/dist/application/context/search/SearchIndexEventHandler.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexEventHandler.js +24 -0
- package/dist/application/context/search/SearchIndexEventHandler.js.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildController.d.ts +9 -0
- package/dist/application/context/search/SearchIndexRebuildController.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildController.js +9 -0
- package/dist/application/context/search/SearchIndexRebuildController.js.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.d.ts +3 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.js +2 -0
- package/dist/application/context/search/SearchIndexRebuildRequest.js.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.d.ts +9 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.d.ts.map +1 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.js +2 -0
- package/dist/application/context/search/SearchIndexRebuildResponse.js.map +1 -0
- package/dist/application/context/search/SearchRequest.d.ts +5 -0
- package/dist/application/context/search/SearchRequest.d.ts.map +1 -0
- package/dist/application/context/search/SearchRequest.js +2 -0
- package/dist/application/context/search/SearchRequest.js.map +1 -0
- package/dist/application/context/search/SearchResponse.d.ts +7 -0
- package/dist/application/context/search/SearchResponse.d.ts.map +1 -0
- package/dist/application/context/search/SearchResponse.js +2 -0
- package/dist/application/context/search/SearchResponse.js.map +1 -0
- package/dist/application/context/search/SearchResultLimit.d.ts +6 -0
- package/dist/application/context/search/SearchResultLimit.d.ts.map +1 -0
- package/dist/application/context/search/SearchResultLimit.js +6 -0
- package/dist/application/context/search/SearchResultLimit.js.map +1 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.js +93 -0
- package/dist/application/context/search/projectors/ComponentSearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.js +92 -0
- package/dist/application/context/search/projectors/DecisionSearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.js +89 -0
- package/dist/application/context/search/projectors/DependencySearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.js +71 -0
- package/dist/application/context/search/projectors/GuidelineSearchDocumentProjector.js.map +1 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.d.ts +14 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.d.ts.map +1 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.js +61 -0
- package/dist/application/context/search/projectors/InvariantSearchDocumentProjector.js.map +1 -0
- package/dist/application/host/IApplicationContainer.d.ts +6 -0
- package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
- package/dist/domain/project/AgentFileAssetContent.d.ts +7 -0
- package/dist/domain/project/AgentFileAssetContent.d.ts.map +1 -0
- package/dist/domain/project/AgentFileAssetContent.js +24 -0
- package/dist/domain/project/AgentFileAssetContent.js.map +1 -0
- package/dist/domain/project/AgentFileReferenceContent.d.ts +1 -6
- package/dist/domain/project/AgentFileReferenceContent.d.ts.map +1 -1
- package/dist/domain/project/AgentFileReferenceContent.js +3 -12
- package/dist/domain/project/AgentFileReferenceContent.js.map +1 -1
- package/dist/domain/project/AgentsMdContent.d.ts +1 -7
- package/dist/domain/project/AgentsMdContent.d.ts.map +1 -1
- package/dist/domain/project/AgentsMdContent.js +4 -14
- package/dist/domain/project/AgentsMdContent.js.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.d.ts +5 -6
- package/dist/domain/project/CopilotInstructionsContent.d.ts.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.js +10 -17
- package/dist/domain/project/CopilotInstructionsContent.js.map +1 -1
- package/dist/domain/project/CursorRulesContent.d.ts +1 -7
- package/dist/domain/project/CursorRulesContent.d.ts.map +1 -1
- package/dist/domain/project/CursorRulesContent.js +4 -23
- package/dist/domain/project/CursorRulesContent.js.map +1 -1
- package/dist/domain/project/JumboMdContent.d.ts +1 -10
- package/dist/domain/project/JumboMdContent.d.ts.map +1 -1
- package/dist/domain/project/JumboMdContent.js +4 -117
- package/dist/domain/project/JumboMdContent.js.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +2 -40
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CodexConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CodexConfigurer.js +2 -35
- package/dist/infrastructure/context/project/init/CodexConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js +4 -26
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CursorConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CursorConfigurer.js +2 -10
- package/dist/infrastructure/context/project/init/CursorConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js +2 -40
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.d.ts +18 -0
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.d.ts.map +1 -0
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.js +28 -0
- package/dist/infrastructure/context/search/LocalSearchIndexRebuildGateway.js.map +1 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.d.ts +10 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.d.ts.map +1 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.js +9 -0
- package/dist/infrastructure/context/search/ProjectedSearchIndexProvider.js.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.d.ts +14 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.d.ts.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.js +2 -0
- package/dist/infrastructure/context/search/SearchIndexRecord.js.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.d.ts +10 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.d.ts.map +1 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.js +44 -0
- package/dist/infrastructure/context/search/SearchIndexRecordMapper.js.map +1 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.d.ts +21 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.d.ts.map +1 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.js +94 -0
- package/dist/infrastructure/context/search/SqliteSearchIndexStore.js.map +1 -0
- package/dist/infrastructure/context/search/migrations/001-create-search-index-entries.sql +26 -0
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +19 -0
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts +1 -0
- package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts.map +1 -1
- package/dist/infrastructure/messaging/ProjectionBusFactory.js +13 -0
- package/dist/infrastructure/messaging/ProjectionBusFactory.js.map +1 -1
- package/dist/infrastructure/persistence/migrations.config.d.ts.map +1 -1
- package/dist/infrastructure/persistence/migrations.config.js +1 -0
- package/dist/infrastructure/persistence/migrations.config.js.map +1 -1
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.d.ts +20 -0
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.js +54 -0
- package/dist/presentation/cli/commands/index/rebuild/IndexRebuildOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts +8 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts.map +1 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.js +45 -0
- package/dist/presentation/cli/commands/index/rebuild/index.rebuild.js.map +1 -0
- package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
- package/dist/presentation/cli/commands/registry/generated-commands.js +12 -0
- package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.d.ts +17 -0
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.js +111 -0
- package/dist/presentation/cli/commands/search/SearchOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/search/search.d.ts +12 -0
- package/dist/presentation/cli/commands/search/search.d.ts.map +1 -0
- package/dist/presentation/cli/commands/search/search.js +119 -0
- package/dist/presentation/cli/commands/search/search.js.map +1 -0
- package/dist/presentation/cli/help/SubcommandHelpFormatter.d.ts.map +1 -1
- package/dist/presentation/cli/help/SubcommandHelpFormatter.js +3 -4
- package/dist/presentation/cli/help/SubcommandHelpFormatter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: Copilot Instructions Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* that directs agents to read JUMBO.md on startup.
|
|
6
|
-
* Handles content generation, section marker detection, and section replacement.
|
|
7
|
-
*
|
|
8
|
-
* Rationale: Codified in domain rather than template file to support
|
|
9
|
-
* npm distribution (no file copying during build).
|
|
4
|
+
* Asset-backed compatibility helper for copilot-instructions.md content.
|
|
10
5
|
*/
|
|
6
|
+
import { AgentFileAssetContent } from "./AgentFileAssetContent.js";
|
|
11
7
|
export class CopilotInstructionsContent {
|
|
12
8
|
/**
|
|
13
9
|
* Generate thin reference content for copilot-instructions.md
|
|
14
10
|
*/
|
|
15
11
|
static getCopilotInstructions() {
|
|
16
|
-
return
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
return AgentFileAssetContent.readMarkdown("copilot-instructions.md");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generate the Jumbo section without the file title.
|
|
16
|
+
*/
|
|
17
|
+
static getCopilotSection() {
|
|
18
|
+
return AgentFileAssetContent.extractSection(this.getCopilotInstructions(), this.getCopilotSectionMarker());
|
|
22
19
|
}
|
|
23
20
|
/**
|
|
24
21
|
* Marker used to detect if Jumbo section already exists in copilot-instructions.md
|
|
@@ -61,11 +58,7 @@ See ../JUMBO.md and follow all instructions. If the file does not exist, then ig
|
|
|
61
58
|
: existingContent.length;
|
|
62
59
|
const before = existingContent.substring(0, markerIndex);
|
|
63
60
|
const after = existingContent.substring(endIndex);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
See ../JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
67
|
-
`;
|
|
68
|
-
return before + sectionContent + after;
|
|
61
|
+
return before + this.getCopilotSection() + after;
|
|
69
62
|
}
|
|
70
63
|
}
|
|
71
64
|
//# sourceMappingURL=CopilotInstructionsContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopilotInstructionsContent.js","sourceRoot":"","sources":["../../../src/domain/project/CopilotInstructionsContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CopilotInstructionsContent.js","sourceRoot":"","sources":["../../../src/domain/project/CopilotInstructionsContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,0BAA0B;IACrC;;OAEG;IACH,MAAM,CAAC,sBAAsB;QAC3B,OAAO,qBAAqB,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB;QACtB,OAAO,qBAAqB,CAAC,cAAc,CACzC,IAAI,CAAC,sBAAsB,EAAE,EAC7B,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,6DAA6D,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,6BAA6B;QAC1C,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,eAAuB;QAClD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC;QAE1F,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QAErB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,aAAa,GAAG,MAAM,CAAC;gBACvB,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,qDAAqD;QACrD,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,gBAAgB;YAC/B,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAM;YAC9D,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAE3B,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: Cursor Rules Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Cursor agents to read JUMBO.md on startup.
|
|
6
|
-
* Handles content generation with YAML frontmatter (alwaysApply: true)
|
|
7
|
-
* and section replacement for repair operations.
|
|
8
|
-
*
|
|
9
|
-
* Rationale: Codified in domain rather than template file to support
|
|
10
|
-
* npm distribution (no file copying during build).
|
|
4
|
+
* Asset-backed compatibility helper for .cursor/rules/jumbo.mdc content.
|
|
11
5
|
*/
|
|
12
6
|
export declare class CursorRulesContent {
|
|
13
7
|
private static readonly SECTION_MARKER;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorRulesContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/CursorRulesContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CursorRulesContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/CursorRulesContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAiC;IAEvE;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAIjC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAS9D"}
|
|
@@ -1,30 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: Cursor Rules Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Cursor agents to read JUMBO.md on startup.
|
|
6
|
-
* Handles content generation with YAML frontmatter (alwaysApply: true)
|
|
7
|
-
* and section replacement for repair operations.
|
|
8
|
-
*
|
|
9
|
-
* Rationale: Codified in domain rather than template file to support
|
|
10
|
-
* npm distribution (no file copying during build).
|
|
4
|
+
* Asset-backed compatibility helper for .cursor/rules/jumbo.mdc content.
|
|
11
5
|
*/
|
|
6
|
+
import { AgentFileAssetContent } from "./AgentFileAssetContent.js";
|
|
12
7
|
export class CursorRulesContent {
|
|
13
8
|
/**
|
|
14
9
|
* Generate full .cursor/rules/jumbo.mdc content with YAML frontmatter
|
|
15
10
|
* and a reference to JUMBO.md.
|
|
16
11
|
*/
|
|
17
12
|
static getFullContent() {
|
|
18
|
-
return
|
|
19
|
-
alwaysApply: true
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
${this.SECTION_MARKER}
|
|
23
|
-
|
|
24
|
-
# Jumbo Context Management
|
|
25
|
-
|
|
26
|
-
See JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
27
|
-
`;
|
|
13
|
+
return AgentFileAssetContent.readMarkdown("cursor-rules.mdc");
|
|
28
14
|
}
|
|
29
15
|
/**
|
|
30
16
|
* Marker used to detect if Jumbo section already exists in the rules file.
|
|
@@ -44,12 +30,7 @@ See JUMBO.md and follow all instructions. If the file does not exist, then ignor
|
|
|
44
30
|
if (markerIndex === -1)
|
|
45
31
|
return null;
|
|
46
32
|
const before = existingContent.substring(0, markerIndex);
|
|
47
|
-
return before +
|
|
48
|
-
|
|
49
|
-
# Jumbo Context Management
|
|
50
|
-
|
|
51
|
-
See JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
52
|
-
`;
|
|
33
|
+
return before + AgentFileAssetContent.extractSection(this.getFullContent(), this.SECTION_MARKER);
|
|
53
34
|
}
|
|
54
35
|
}
|
|
55
36
|
CursorRulesContent.SECTION_MARKER = "<!-- jumbo:cursor-rules -->";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorRulesContent.js","sourceRoot":"","sources":["../../../src/domain/project/CursorRulesContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CursorRulesContent.js","sourceRoot":"","sources":["../../../src/domain/project/CursorRulesContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,kBAAkB;IAG7B;;;OAGG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,qBAAqB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,eAAuB;QAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjE,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAEzD,OAAO,MAAM,GAAG,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACnG,CAAC;;AAhCuB,iCAAc,GAAG,6BAA6B,CAAC"}
|
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: JUMBO.md Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* serves as the single source of truth for agent onboarding.
|
|
6
|
-
* All other agent files (AGENTS.md, CLAUDE.md, GEMINI.md,
|
|
7
|
-
* copilot-instructions.md) are thin references pointing here.
|
|
8
|
-
*
|
|
9
|
-
* Handles content generation, section marker management, and
|
|
10
|
-
* section replacement for both current and legacy markers.
|
|
11
|
-
*
|
|
12
|
-
* Rationale: Codified in domain rather than template file to support
|
|
13
|
-
* npm distribution (no file copying during build).
|
|
4
|
+
* Asset-backed compatibility helper for JUMBO.md content.
|
|
14
5
|
*/
|
|
15
6
|
export declare class JumboMdContent {
|
|
16
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JumboMdContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/JumboMdContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"JumboMdContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/JumboMdContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAOhC;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM;IAIxC;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAM1C;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CA6BnE"}
|
|
@@ -1,134 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: JUMBO.md Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* serves as the single source of truth for agent onboarding.
|
|
6
|
-
* All other agent files (AGENTS.md, CLAUDE.md, GEMINI.md,
|
|
7
|
-
* copilot-instructions.md) are thin references pointing here.
|
|
8
|
-
*
|
|
9
|
-
* Handles content generation, section marker management, and
|
|
10
|
-
* section replacement for both current and legacy markers.
|
|
11
|
-
*
|
|
12
|
-
* Rationale: Codified in domain rather than template file to support
|
|
13
|
-
* npm distribution (no file copying during build).
|
|
4
|
+
* Asset-backed compatibility helper for JUMBO.md content.
|
|
14
5
|
*/
|
|
6
|
+
import { AgentFileAssetContent } from "./AgentFileAssetContent.js";
|
|
15
7
|
export class JumboMdContent {
|
|
16
8
|
/**
|
|
17
9
|
* Generate the Jumbo instructions section for JUMBO.md
|
|
18
10
|
*/
|
|
19
11
|
static getJumboSection() {
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
Dear Agent,
|
|
23
|
-
|
|
24
|
-
This project uses Jumbo CLI for agent orchestration and context management. Jumbo is a proxy for me. You must follow all prompts received from running \`jumbo\` commands, and take full advantage of \`jumbo\` commands to ensure optimal collaboration and maximal efficiency in executing goals.
|
|
25
|
-
|
|
26
|
-
Sincerely,
|
|
27
|
-
Project Administrator
|
|
28
|
-
|
|
29
|
-
### When you start a new Session Start
|
|
30
|
-
Unless you've already been prompted with a specific directive, then run \`jumbo session start\`
|
|
31
|
-
|
|
32
|
-
This orients you with the current state of the project: high-level project, recent events and a goal backlog to select work from.
|
|
33
|
-
|
|
34
|
-
### Pre Compaction/Compression
|
|
35
|
-
If a goal is actively being implemented.
|
|
36
|
-
|
|
37
|
-
Run \`jumbo work pause\`
|
|
38
|
-
|
|
39
|
-
### After Compaction/Compression
|
|
40
|
-
Run \`jumbo work resume\`
|
|
41
|
-
|
|
42
|
-
This will automatically serve context of a goal that you were progressing on prior to compaction.
|
|
43
|
-
|
|
44
|
-
### Before Finishing a Session
|
|
45
|
-
Run \`jumbo session end --focus {focus-description}\` --summary {summary-of-what-transpired}
|
|
46
|
-
|
|
47
|
-
### Before Starting Work on a Goal
|
|
48
|
-
Run \`jumbo goal start --id <id>\`
|
|
49
|
-
|
|
50
|
-
### Maintain Context as You Work
|
|
51
|
-
|
|
52
|
-
Jumbo is your persistent memory across sessions. Keeping it accurate is part of your job — not a cleanup step, but something you do in real-time as you work, the same way you write tests alongside code.
|
|
53
|
-
|
|
54
|
-
#### During Refinement
|
|
55
|
-
When you discover that work X must happen before a goal can succeed, register it immediately:
|
|
56
|
-
\`\`\`
|
|
57
|
-
jumbo goal add --objective "X that must happen first"
|
|
58
|
-
jumbo goal update --id <current-goal-id> --prerequisite-goals <new-goal-id>
|
|
59
|
-
\`\`\`
|
|
60
|
-
|
|
61
|
-
#### During Implementation
|
|
62
|
-
When you make an architectural decision, register it before moving on:
|
|
63
|
-
\`\`\`
|
|
64
|
-
jumbo decision add --title "Chose X over Y" --rationale "Because Z" --context "Background"
|
|
65
|
-
\`\`\`
|
|
66
|
-
|
|
67
|
-
When you create a new component, register it and link it:
|
|
68
|
-
\`\`\`
|
|
69
|
-
jumbo component add --name "ComponentName" --description "What it does"
|
|
70
|
-
jumbo relation add --from-type goal --from-id <goal-id> --to-type component --to-id <component-id> --type involves --description "Created during implementation"
|
|
71
|
-
\`\`\`
|
|
72
|
-
|
|
73
|
-
#### When the User Corrects You
|
|
74
|
-
When user feedback changes the approach, capture it as a durable constraint:
|
|
75
|
-
\`\`\`
|
|
76
|
-
jumbo invariant add --category "architecture" --description "Never do X because Y"
|
|
77
|
-
jumbo guideline add --category "codingStyle" --description "Prefer X over Y"
|
|
78
|
-
\`\`\`
|
|
79
|
-
|
|
80
|
-
#### Why This Matters
|
|
81
|
-
Context you register now is served to future sessions — yours or another agent's. Unregistered decisions, components, and corrections are lost at session end. The more you capture, the fewer mistakes future sessions make.
|
|
82
|
-
|
|
83
|
-
### Available Commands
|
|
84
|
-
\`jumbo --help \`
|
|
85
|
-
\`jumbo goal add --help \`
|
|
86
|
-
\`jumbo goal refine --help \`
|
|
87
|
-
\`jumbo goal block --help \`
|
|
88
|
-
\`jumbo goal complete --help \`
|
|
89
|
-
\`jumbo goal remove --help \`
|
|
90
|
-
\`jumbo goal reset --help \`
|
|
91
|
-
\`jumbo goal resume --help \`
|
|
92
|
-
\`jumbo goal show --help \`
|
|
93
|
-
\`jumbo goal start --help \`
|
|
94
|
-
\`jumbo goal unblock --help \`
|
|
95
|
-
\`jumbo goal update --help \`
|
|
96
|
-
\`jumbo goals list --help \`
|
|
97
|
-
\`jumbo session end --help \`
|
|
98
|
-
\`jumbo session pause --help \`
|
|
99
|
-
\`jumbo session resume --help \`
|
|
100
|
-
\`jumbo session start --help \`
|
|
101
|
-
\`jumbo architecture define --help \`
|
|
102
|
-
\`jumbo architecture update --help \`
|
|
103
|
-
\`jumbo component add --help \`
|
|
104
|
-
\`jumbo component deprecate --help \`
|
|
105
|
-
\`jumbo component remove --help \`
|
|
106
|
-
\`jumbo component update --help \`
|
|
107
|
-
\`jumbo decision add --help \`
|
|
108
|
-
\`jumbo decision reverse --help \`
|
|
109
|
-
\`jumbo decision supersede --help \`
|
|
110
|
-
\`jumbo decision update --help \`
|
|
111
|
-
\`jumbo dependency add --help \`
|
|
112
|
-
\`jumbo dependency remove --help \`
|
|
113
|
-
\`jumbo dependency update --help \`
|
|
114
|
-
\`jumbo guideline add --help \`
|
|
115
|
-
\`jumbo guideline remove --help \`
|
|
116
|
-
\`jumbo guideline update --help \`
|
|
117
|
-
\`jumbo invariant add --help \`
|
|
118
|
-
\`jumbo invariant remove --help \`
|
|
119
|
-
\`jumbo invariant update --help \`
|
|
120
|
-
|
|
121
|
-
### Next step:
|
|
122
|
-
Run \`jumbo session start\` to retrieve project orientation.
|
|
123
|
-
`;
|
|
12
|
+
return AgentFileAssetContent.extractSection(AgentFileAssetContent.readMarkdown("JUMBO.md"), this.getCurrentSectionMarker());
|
|
124
13
|
}
|
|
125
14
|
/**
|
|
126
15
|
* Generate complete JUMBO.md file content
|
|
127
16
|
*/
|
|
128
17
|
static getFullContent() {
|
|
129
|
-
return
|
|
130
|
-
|
|
131
|
-
${this.getJumboSection()}`;
|
|
18
|
+
return AgentFileAssetContent.readMarkdown("JUMBO.md");
|
|
132
19
|
}
|
|
133
20
|
/**
|
|
134
21
|
* The current section heading extracted from getJumboSection().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JumboMdContent.js","sourceRoot":"","sources":["../../../src/domain/project/JumboMdContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"JumboMdContent.js","sourceRoot":"","sources":["../../../src/domain/project/JumboMdContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,eAAe;QACpB,OAAO,qBAAqB,CAAC,cAAc,CACzC,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,EAC9C,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,6DAA6D,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO;YACL,2BAA2B;SAC5B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAuB;QAChD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAEvF,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QAErB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,aAAa,GAAG,MAAM,CAAC;gBACvB,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,qDAAqD;QACrD,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,gBAAgB;YAC/B,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAM;YAC9D,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAE3B,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"ClaudeConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,KAAK;;;MAGH;IAEX,QAAQ,CAAC,cAAc,8BAA+B;IAEtD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;IA6B5B;;OAEG;YACW,oBAAoB;IAalC;;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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import path from "path";
|
|
14
14
|
import fs from "fs-extra";
|
|
15
15
|
import { AgentFileReferenceContent } from "../../../../domain/project/AgentFileReferenceContent.js";
|
|
16
|
+
import { AgentFileAssetContent } from "../../../../domain/project/AgentFileAssetContent.js";
|
|
16
17
|
import { SafeClaudeSettingsMerger } from "./SafeClaudeSettingsMerger.js";
|
|
17
18
|
export class ClaudeConfigurer {
|
|
18
19
|
constructor() {
|
|
@@ -62,46 +63,7 @@ export class ClaudeConfigurer {
|
|
|
62
63
|
*/
|
|
63
64
|
async ensureClaudeSettings(projectRoot) {
|
|
64
65
|
try {
|
|
65
|
-
|
|
66
|
-
const jumboSettings = {
|
|
67
|
-
hooks: {
|
|
68
|
-
SessionStart: [
|
|
69
|
-
{
|
|
70
|
-
matcher: "startup",
|
|
71
|
-
hooks: [
|
|
72
|
-
{
|
|
73
|
-
type: "command",
|
|
74
|
-
command: "jumbo session start",
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
matcher: "compact",
|
|
80
|
-
hooks: [
|
|
81
|
-
{
|
|
82
|
-
type: "command",
|
|
83
|
-
command: "jumbo work resume",
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
},
|
|
87
|
-
],
|
|
88
|
-
PreCompact: [
|
|
89
|
-
{
|
|
90
|
-
matcher: "auto",
|
|
91
|
-
hooks: [
|
|
92
|
-
{
|
|
93
|
-
type: "command",
|
|
94
|
-
command: "jumbo work pause",
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
},
|
|
100
|
-
permissions: {
|
|
101
|
-
allow: ["Bash(jumbo --help)"],
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
// Merge into existing settings (or create new)
|
|
66
|
+
const jumboSettings = AgentFileAssetContent.readJson("claude-settings.fragment.json");
|
|
105
67
|
await SafeClaudeSettingsMerger.mergeSettings(projectRoot, jumboSettings);
|
|
106
68
|
}
|
|
107
69
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,MAAM,OAAO,gBAAgB;IAA7B;QACW,UAAK,GAAG;YACf,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,QAAQ;SACN,CAAC;QAEF,mBAAc,GAAG,CAAC,gBAAgB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ClaudeConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CodexConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;
|
|
1
|
+
{"version":3,"file":"CodexConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CodexConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAGtG,qBAAa,eAAgB,YAAW,WAAW;IACjD,QAAQ,CAAC,KAAK;;;MAGH;IAEX,QAAQ,CAAC,cAAc,6BAA8B;IAErD;;;;;;OAMG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIlC,gBAAgB;IAiC9B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,gCAAgC;IAmBxC,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAW/E"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import path from "path";
|
|
15
15
|
import fs from "fs-extra";
|
|
16
|
+
import { AgentFileAssetContent } from "../../../../domain/project/AgentFileAssetContent.js";
|
|
16
17
|
export class CodexConfigurer {
|
|
17
18
|
constructor() {
|
|
18
19
|
this.agent = {
|
|
@@ -66,41 +67,7 @@ export class CodexConfigurer {
|
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
getJumboHooks() {
|
|
69
|
-
return
|
|
70
|
-
hooks: {
|
|
71
|
-
PreCompact: [
|
|
72
|
-
{
|
|
73
|
-
matcher: "auto",
|
|
74
|
-
hooks: [
|
|
75
|
-
{
|
|
76
|
-
type: "command",
|
|
77
|
-
command: "jumbo work pause --format text",
|
|
78
|
-
},
|
|
79
|
-
],
|
|
80
|
-
},
|
|
81
|
-
],
|
|
82
|
-
SessionStart: [
|
|
83
|
-
{
|
|
84
|
-
matcher: "startup",
|
|
85
|
-
hooks: [
|
|
86
|
-
{
|
|
87
|
-
type: "command",
|
|
88
|
-
command: "jumbo session start --format text",
|
|
89
|
-
},
|
|
90
|
-
],
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
matcher: "compact",
|
|
94
|
-
hooks: [
|
|
95
|
-
{
|
|
96
|
-
type: "command",
|
|
97
|
-
command: "jumbo work resume --format text",
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
},
|
|
103
|
-
};
|
|
70
|
+
return AgentFileAssetContent.readJson("codex-hooks.fragment.json");
|
|
104
71
|
}
|
|
105
72
|
mergeHooks(existing, jumbo) {
|
|
106
73
|
const result = { ...existing };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CodexConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"CodexConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CodexConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopilotConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"CopilotConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,KAAK;;;MAGH;IAEX,QAAQ,CAAC,cAAc,8BAA+B;IAEtD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,yBAAyB;IAwCvC;;OAEG;YACW,iBAAiB;IA6C/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;YACW,yBAAyB;IAsCvC;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAqB/E"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import path from "path";
|
|
11
11
|
import fs from "fs-extra";
|
|
12
12
|
import { CopilotInstructionsContent } from "../../../../domain/project/CopilotInstructionsContent.js";
|
|
13
|
+
import { AgentFileAssetContent } from "../../../../domain/project/AgentFileAssetContent.js";
|
|
13
14
|
export class CopilotConfigurer {
|
|
14
15
|
constructor() {
|
|
15
16
|
this.agent = {
|
|
@@ -45,12 +46,7 @@ export class CopilotConfigurer {
|
|
|
45
46
|
const content = await fs.readFile(copilotInstructionsPath, "utf-8");
|
|
46
47
|
const jumboMarker = CopilotInstructionsContent.getCopilotSectionMarker();
|
|
47
48
|
if (!content.includes(jumboMarker) && !content.includes("## Jumbo Context Management")) {
|
|
48
|
-
|
|
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;
|
|
49
|
+
const updatedContent = content + "\n\n" + CopilotInstructionsContent.getCopilotSection();
|
|
54
50
|
await fs.writeFile(copilotInstructionsPath, updatedContent, "utf-8");
|
|
55
51
|
}
|
|
56
52
|
// else: Jumbo section already present - no-op
|
|
@@ -68,20 +64,7 @@ See ../JUMBO.md and follow all instructions. If the file does not exist, then ig
|
|
|
68
64
|
const hooksPath = path.join(projectRoot, ".github", "hooks", "hooks.json");
|
|
69
65
|
// Ensure .github/hooks directory exists
|
|
70
66
|
await fs.ensureDir(path.join(projectRoot, ".github", "hooks"));
|
|
71
|
-
|
|
72
|
-
const jumboHooks = {
|
|
73
|
-
version: 1,
|
|
74
|
-
hooks: {
|
|
75
|
-
sessionStart: [
|
|
76
|
-
{
|
|
77
|
-
type: "command",
|
|
78
|
-
bash: "jumbo session start",
|
|
79
|
-
cwd: ".",
|
|
80
|
-
timeoutSec: 10
|
|
81
|
-
}
|
|
82
|
-
]
|
|
83
|
-
}
|
|
84
|
-
};
|
|
67
|
+
const jumboHooks = AgentFileAssetContent.readJson("copilot-hooks.fragment.json");
|
|
85
68
|
// Check if file exists
|
|
86
69
|
const exists = await fs.pathExists(hooksPath);
|
|
87
70
|
if (!exists) {
|
|
@@ -173,12 +156,7 @@ See ../JUMBO.md and follow all instructions. If the file does not exist, then ig
|
|
|
173
156
|
await fs.writeFile(copilotInstructionsPath, replaced, "utf-8");
|
|
174
157
|
}
|
|
175
158
|
else {
|
|
176
|
-
|
|
177
|
-
const sectionContent = `## Instructions for Agents on how to collaborate with Jumbo
|
|
178
|
-
|
|
179
|
-
See ../JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
180
|
-
`;
|
|
181
|
-
const updatedContent = content + "\n\n" + sectionContent;
|
|
159
|
+
const updatedContent = content + "\n\n" + CopilotInstructionsContent.getCopilotSection();
|
|
182
160
|
await fs.writeFile(copilotInstructionsPath, updatedContent, "utf-8");
|
|
183
161
|
}
|
|
184
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopilotConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;
|
|
1
|
+
{"version":3,"file":"CopilotConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CopilotConfigurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CursorConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"CursorConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/CursorConfigurer.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,QAAQ,CAAC,KAAK;;;MAGH;IAEX,QAAQ,CAAC,cAAc,cAAe;IAEtC;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;YACW,iBAAiB;IAqC/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAqBlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+B9B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAmB/E"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import path from "path";
|
|
11
11
|
import fs from "fs-extra";
|
|
12
12
|
import { CursorRulesContent } from "../../../../domain/project/CursorRulesContent.js";
|
|
13
|
+
import { AgentFileAssetContent } from "../../../../domain/project/AgentFileAssetContent.js";
|
|
13
14
|
export class CursorConfigurer {
|
|
14
15
|
constructor() {
|
|
15
16
|
this.agent = {
|
|
@@ -56,16 +57,7 @@ export class CursorConfigurer {
|
|
|
56
57
|
try {
|
|
57
58
|
const hooksPath = path.join(projectRoot, ".cursor", "hooks.json");
|
|
58
59
|
await fs.ensureDir(path.join(projectRoot, ".cursor"));
|
|
59
|
-
const jumboHooks =
|
|
60
|
-
version: 1,
|
|
61
|
-
hooks: {
|
|
62
|
-
sessionStart: [
|
|
63
|
-
{
|
|
64
|
-
command: "jumbo session start",
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
};
|
|
60
|
+
const jumboHooks = AgentFileAssetContent.readJson("cursor-hooks.fragment.json");
|
|
69
61
|
const exists = await fs.pathExists(hooksPath);
|
|
70
62
|
if (!exists) {
|
|
71
63
|
await fs.writeFile(hooksPath, JSON.stringify(jumboHooks, null, 2) + "\n", "utf-8");
|