jumbo-cli 3.5.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/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/package.json +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "startup",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "jumbo session start"
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"matcher": "compact",
|
|
15
|
+
"hooks": [
|
|
16
|
+
{
|
|
17
|
+
"type": "command",
|
|
18
|
+
"command": "jumbo work resume"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"PreCompact": [
|
|
24
|
+
{
|
|
25
|
+
"matcher": "auto",
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "command",
|
|
29
|
+
"command": "jumbo work pause"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"permissions": {
|
|
36
|
+
"allow": [
|
|
37
|
+
"Bash(jumbo --help)"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"PreCompact": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "auto",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "jumbo work pause --format text"
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"SessionStart": [
|
|
15
|
+
{
|
|
16
|
+
"matcher": "startup",
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"type": "command",
|
|
20
|
+
"command": "jumbo session start --format text"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"matcher": "compact",
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "command",
|
|
29
|
+
"command": "jumbo work resume --format text"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "startup",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "jumbo session start"
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"matcher": "compress",
|
|
15
|
+
"hooks": [
|
|
16
|
+
{
|
|
17
|
+
"type": "command",
|
|
18
|
+
"command": "jumbo work resume"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"PreCompress": [
|
|
24
|
+
{
|
|
25
|
+
"matcher": "auto",
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "command",
|
|
29
|
+
"command": "jumbo work pause"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"tools": {
|
|
36
|
+
"allowed": [
|
|
37
|
+
"run_shell_command(jumbo --help)"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# JUMBO.md
|
|
2
|
+
|
|
3
|
+
## Instructions for Agents on how to collaborate with Jumbo
|
|
4
|
+
|
|
5
|
+
Follow all prompts returned by `jumbo` commands.
|
|
6
|
+
|
|
7
|
+
If you have not already been routed by a Jumbo command for the current task, run `jumbo session start`, unless it was already run from a configured hook.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jumbo-bootstrap-session
|
|
3
|
+
description: Use when a Jumbo-managed agent file tells the agent to bootstrap the session. Runs Jumbo's session router only when the agent has not already received a routed Jumbo command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Jumbo Bootstrap Session
|
|
7
|
+
|
|
8
|
+
Run `jumbo session start` when no Jumbo command has already routed the current task.
|
|
9
|
+
|
|
10
|
+
Follow the prompt returned by the command. Do not load project context from static managed files.
|
|
11
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jumbo-command-discovery
|
|
3
|
+
description: Use when an agent needs to discover Jumbo command syntax after session routing. Directs command discovery through CLI help instead of static command catalogs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Jumbo Command Discovery
|
|
7
|
+
|
|
8
|
+
Use `jumbo --help` and command-specific `--help` output for command syntax.
|
|
9
|
+
|
|
10
|
+
Do not rely on managed instruction files for command catalogs.
|
|
11
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jumbo-context-maintenance
|
|
3
|
+
description: Use when implementation discovers durable project context that must be recorded in Jumbo. Captures decisions, components, dependencies, relations, guidelines, and invariants during the work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Jumbo Context Maintenance
|
|
7
|
+
|
|
8
|
+
Record durable context while it is discovered.
|
|
9
|
+
|
|
10
|
+
Use the specific Jumbo command for the context type, then link it to the active goal when a relation exists.
|
|
11
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jumbo-correction-capture
|
|
3
|
+
description: Use when the user corrects an approach, constraint, workflow, or style. Converts corrections into Jumbo guidelines or invariants so future sessions receive the constraint.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Jumbo Correction Capture
|
|
7
|
+
|
|
8
|
+
When user feedback establishes a repeatable practice, record it as a guideline.
|
|
9
|
+
|
|
10
|
+
When user feedback establishes a non-negotiable constraint, record it as an invariant.
|
|
11
|
+
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare class AgentFileAssetContent {
|
|
2
|
+
static readMarkdown(fileName: string): string;
|
|
3
|
+
static readJson<T = any>(fileName: string): T;
|
|
4
|
+
static extractSection(content: string, marker: string): string;
|
|
5
|
+
private static withTrailingNewline;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=AgentFileAssetContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentFileAssetContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/AgentFileAssetContent.ts"],"names":[],"mappings":"AAaA,qBAAa,qBAAqB;IAChC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI7C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;IAK7C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAS9D,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAGnC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
const assetRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "..", "assets", "agent-files");
|
|
5
|
+
export class AgentFileAssetContent {
|
|
6
|
+
static readMarkdown(fileName) {
|
|
7
|
+
return this.withTrailingNewline(readFileSync(path.join(assetRoot, "markdown", fileName), "utf-8"));
|
|
8
|
+
}
|
|
9
|
+
static readJson(fileName) {
|
|
10
|
+
const content = readFileSync(path.join(assetRoot, "json", fileName), "utf-8");
|
|
11
|
+
return JSON.parse(content);
|
|
12
|
+
}
|
|
13
|
+
static extractSection(content, marker) {
|
|
14
|
+
const markerIndex = content.indexOf(marker);
|
|
15
|
+
if (markerIndex === -1) {
|
|
16
|
+
return this.withTrailingNewline(content.trimEnd());
|
|
17
|
+
}
|
|
18
|
+
return this.withTrailingNewline(content.substring(markerIndex).trimEnd());
|
|
19
|
+
}
|
|
20
|
+
static withTrailingNewline(content) {
|
|
21
|
+
return content.endsWith("\n") ? content : `${content}\n`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=AgentFileAssetContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentFileAssetContent.js","sourceRoot":"","sources":["../../../src/domain/project/AgentFileAssetContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,aAAa,CACd,CAAC;AAEF,MAAM,OAAO,qBAAqB;IAChC,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,CAAC,QAAQ,CAAU,QAAgB;QACvC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,OAAe;QAChD,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: Agent File Reference Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* that directs agents to read JUMBO.md on startup.
|
|
6
|
-
* Handles content generation and legacy content 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 CLAUDE.md and GEMINI.md content.
|
|
10
5
|
*/
|
|
11
6
|
export declare class AgentFileReferenceContent {
|
|
12
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentFileReferenceContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/AgentFileReferenceContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AgentFileReferenceContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/AgentFileReferenceContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,yBAAyB;IACpC;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAItD;;;;;;OAMG;IACH,MAAM,CAAC,yBAAyB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAO3F"}
|
|
@@ -1,25 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: Agent File Reference Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* that directs agents to read JUMBO.md on startup.
|
|
6
|
-
* Handles content generation and legacy content 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 CLAUDE.md and GEMINI.md content.
|
|
10
5
|
*/
|
|
6
|
+
import { AgentFileAssetContent } from "./AgentFileAssetContent.js";
|
|
11
7
|
export class AgentFileReferenceContent {
|
|
12
8
|
/**
|
|
13
9
|
* Generate thin reference content for agent files (CLAUDE.md, GEMINI.md)
|
|
14
10
|
* parameterized by filename.
|
|
15
11
|
*/
|
|
16
12
|
static getAgentFileReference(fileName) {
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
## Instructions for Agents on how to collaborate with Jumbo
|
|
20
|
-
|
|
21
|
-
See JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
22
|
-
`;
|
|
13
|
+
return AgentFileAssetContent.readMarkdown(fileName);
|
|
23
14
|
}
|
|
24
15
|
/**
|
|
25
16
|
* Replace legacy agent file reference content with the new thin reference.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentFileReferenceContent.js","sourceRoot":"","sources":["../../../src/domain/project/AgentFileReferenceContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AgentFileReferenceContent.js","sourceRoot":"","sources":["../../../src/domain/project/AgentFileReferenceContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,yBAAyB;IACpC;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAgB;QAC3C,OAAO,qBAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,yBAAyB,CAAC,eAAuB,EAAE,QAAgB;QACxE,MAAM,YAAY,GAAG,+BAA+B,CAAC;QAErD,IAAI,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: AGENTS.md Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* points agents to JUMBO.md as the single source of truth.
|
|
6
|
-
* Handles content generation, section marker management, and
|
|
7
|
-
* section replacement for both current and legacy markers.
|
|
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 AGENTS.md content.
|
|
11
5
|
*/
|
|
12
6
|
export declare class AgentsMdContent {
|
|
13
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsMdContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/AgentsMdContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AgentsMdContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/AgentsMdContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IAOhC;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACH,MAAM,CAAC,4BAA4B,IAAI,MAAM;IAI7C;;;;OAIG;IACH,MAAM,CAAC,4BAA4B,IAAI,MAAM,EAAE;IAM/C;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CA6BnE"}
|
|
@@ -1,31 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Domain Value Object: AGENTS.md Content
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* points agents to JUMBO.md as the single source of truth.
|
|
6
|
-
* Handles content generation, section marker management, and
|
|
7
|
-
* section replacement for both current and legacy markers.
|
|
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 AGENTS.md content.
|
|
11
5
|
*/
|
|
6
|
+
import { AgentFileAssetContent } from "./AgentFileAssetContent.js";
|
|
12
7
|
export class AgentsMdContent {
|
|
13
8
|
/**
|
|
14
9
|
* Generate the Jumbo reference section for AGENTS.md
|
|
15
10
|
*/
|
|
16
11
|
static getJumboSection() {
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
See JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
20
|
-
`;
|
|
12
|
+
return AgentFileAssetContent.extractSection(AgentFileAssetContent.readMarkdown("AGENTS.md"), this.getCurrentJumboSectionMarker());
|
|
21
13
|
}
|
|
22
14
|
/**
|
|
23
15
|
* Generate complete AGENTS.md file content
|
|
24
16
|
*/
|
|
25
17
|
static getFullContent() {
|
|
26
|
-
return
|
|
27
|
-
|
|
28
|
-
${this.getJumboSection()}`;
|
|
18
|
+
return AgentFileAssetContent.readMarkdown("AGENTS.md");
|
|
29
19
|
}
|
|
30
20
|
/**
|
|
31
21
|
* The current section heading extracted from getJumboSection().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsMdContent.js","sourceRoot":"","sources":["../../../src/domain/project/AgentsMdContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AgentsMdContent.js","sourceRoot":"","sources":["../../../src/domain/project/AgentsMdContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,eAAe;QACpB,OAAO,qBAAqB,CAAC,cAAc,CACzC,qBAAqB,CAAC,YAAY,CAAC,WAAW,CAAC,EAC/C,IAAI,CAAC,4BAA4B,EAAE,CACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,qBAAqB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,4BAA4B;QACjC,OAAO,6DAA6D,CAAC;IACvE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,4BAA4B;QACjC,OAAO;YACL,2BAA2B;SAC5B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAuB;QAChD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC;QAEjG,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,18 +1,17 @@
|
|
|
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
|
*/
|
|
11
6
|
export declare class CopilotInstructionsContent {
|
|
12
7
|
/**
|
|
13
8
|
* Generate thin reference content for copilot-instructions.md
|
|
14
9
|
*/
|
|
15
10
|
static getCopilotInstructions(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Generate the Jumbo section without the file title.
|
|
13
|
+
*/
|
|
14
|
+
static getCopilotSection(): string;
|
|
16
15
|
/**
|
|
17
16
|
* Marker used to detect if Jumbo section already exists in copilot-instructions.md
|
|
18
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopilotInstructionsContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/CopilotInstructionsContent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CopilotInstructionsContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/CopilotInstructionsContent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,0BAA0B;IACrC;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;IAIvC;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAOlC;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM;IAIxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAI5C;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CA6BrE"}
|
|
@@ -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"}
|