@warpgogol/forge 0.5.0 → 0.7.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.
Files changed (28) hide show
  1. package/AGENTS.md +11 -2
  2. package/dist/os/core/core.module.d.ts.map +1 -1
  3. package/dist/os/core/core.module.js +4 -0
  4. package/dist/os/core/core.module.js.map +1 -1
  5. package/dist/os/mission/handlers/archive.d.ts.map +1 -1
  6. package/dist/os/mission/handlers/archive.js +6 -0
  7. package/dist/os/mission/handlers/archive.js.map +1 -1
  8. package/dist/src/config/forge-config.d.ts +2 -0
  9. package/dist/src/config/forge-config.d.ts.map +1 -1
  10. package/dist/src/config/forge-config.js +10 -0
  11. package/dist/src/config/forge-config.js.map +1 -1
  12. package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
  13. package/dist/src/onboarding/agents-generate.js +30 -183
  14. package/dist/src/onboarding/agents-generate.js.map +1 -1
  15. package/dist/src/onboarding/upgrade.d.ts +2 -0
  16. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  17. package/dist/src/onboarding/upgrade.js +56 -2
  18. package/dist/src/onboarding/upgrade.js.map +1 -1
  19. package/package.json +3 -10
  20. package/skills/meta/forge-bootstrap/SKILL.md +86 -1
  21. package/src/onboarding/templates/behavioral-layer-core.md +159 -0
  22. package/src/onboarding/templates/behavioral-layer-extended.md +45 -0
  23. package/src/onboarding/templates/root-agents-business.md +55 -0
  24. package/src/onboarding/templates/root-agents-creative.md +55 -0
  25. package/dist/src/onboarding/extended-behavioral-layer.d.ts +0 -10
  26. package/dist/src/onboarding/extended-behavioral-layer.d.ts.map +0 -1
  27. package/dist/src/onboarding/extended-behavioral-layer.js +0 -82
  28. package/dist/src/onboarding/extended-behavioral-layer.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ <!-- RFC-0643: Root AGENTS.md template for business register projects.
2
+ Static prose only — dynamic sections (skills, capabilities, behavioral layer)
3
+ are inserted at the dynamicSections marker by runAgentsGenerate.
4
+ Placeholders: projectName, projectStack, projectPm,
5
+ rfcsDir, adrsDir, plansDir, auditsDir, specsDir,
6
+ skillsDir, dynamicSections -->
7
+ # Agent Guide: {{projectName}}
8
+
9
+ > This file is generated by `forge.agents.generate` from `forge.yaml`.
10
+ > Do not edit by hand — edit `forge.yaml` and regenerate.
11
+
12
+ ## Project
13
+
14
+ - **Name:** {{projectName}}
15
+ - **Stack:** {{projectStack}}
16
+ - **Package manager:** {{projectPm}}
17
+
18
+ ## Paths
19
+
20
+ - RFCs: `{{rfcsDir}}`
21
+ - ADRs: `{{adrsDir}}`
22
+ - Plans: `{{plansDir}}`
23
+ - Audits: `{{auditsDir}}`
24
+ - Specs: `{{specsDir}}`
25
+ - Skills: `{{skillsDir}}`
26
+
27
+ {{dynamicSections}}
28
+ ## RTK — Token Optimization
29
+
30
+ Always prefix shell commands with `rtk` to minimize token consumption. RTK filters and compresses command output before it reaches the LLM context, cutting up to 90% of bash output on common operations.
31
+
32
+ ```bash
33
+ rtk git status
34
+ rtk pnpm test
35
+ rtk ls src/
36
+ rtk grep "pattern" src/
37
+ rtk find "*.ts" .
38
+ ```
39
+
40
+ Meta commands:
41
+
42
+ ```bash
43
+ rtk gain # Show token savings
44
+ rtk gain --history # Command history with savings
45
+ rtk discover # Find missed RTK opportunities
46
+ rtk proxy <cmd> # Run raw (no filtering, for debugging)
47
+ ```
48
+
49
+ Use default RTK settings only — do not enable `--ultra-compact` or aggressive `read` modes unless the operator explicitly requests it.
50
+
51
+ ## Conventions
52
+
53
+ - Use `forge.yaml` as the single source of truth for project configuration.
54
+ - Regenerate this file with `forge.agents.generate` after changing `forge.yaml`.
55
+ - Follow the closest `AGENTS.md` for workspace or directory details.
@@ -0,0 +1,55 @@
1
+ <!-- RFC-0643: Root AGENTS.md template for creative register projects.
2
+ Static prose only — dynamic sections (skills, capabilities, behavioral layer)
3
+ are inserted at the dynamicSections marker by runAgentsGenerate.
4
+ Placeholders: projectName, projectStack, projectPm,
5
+ rfcsDir, adrsDir, plansDir, auditsDir, specsDir,
6
+ skillsDir, dynamicSections -->
7
+ # Agent Guide: {{projectName}}
8
+
9
+ > This file is generated by `forge.agents.generate` from `forge.yaml`.
10
+ > Do not edit by hand — edit `forge.yaml` and regenerate.
11
+
12
+ ## Project
13
+
14
+ - **Name:** {{projectName}}
15
+ - **Stack:** {{projectStack}}
16
+ - **Package manager:** {{projectPm}}
17
+
18
+ ## Paths
19
+
20
+ - RFCs: `{{rfcsDir}}`
21
+ - ADRs: `{{adrsDir}}`
22
+ - Plans: `{{plansDir}}`
23
+ - Audits: `{{auditsDir}}`
24
+ - Specs: `{{specsDir}}`
25
+ - Skills: `{{skillsDir}}`
26
+
27
+ {{dynamicSections}}
28
+ ## RTK — Token Optimization
29
+
30
+ Always prefix shell commands with `rtk` to minimize token consumption. RTK filters and compresses command output before it reaches the LLM context, cutting up to 90% of bash output on common operations.
31
+
32
+ ```bash
33
+ rtk git status
34
+ rtk pnpm test
35
+ rtk ls src/
36
+ rtk grep "pattern" src/
37
+ rtk find "*.ts" .
38
+ ```
39
+
40
+ Meta commands:
41
+
42
+ ```bash
43
+ rtk gain # Show token savings
44
+ rtk gain --history # Command history with savings
45
+ rtk discover # Find missed RTK opportunities
46
+ rtk proxy <cmd> # Run raw (no filtering, for debugging)
47
+ ```
48
+
49
+ Use default RTK settings only — do not enable `--ultra-compact` or aggressive `read` modes unless the operator explicitly requests it.
50
+
51
+ ## Conventions
52
+
53
+ - Use `forge.yaml` as the single source of truth for project configuration.
54
+ - Regenerate this file with `forge.agents.generate` after changing `forge.yaml`.
55
+ - Follow the closest `AGENTS.md` for workspace or directory details.
@@ -1,10 +0,0 @@
1
- /**
2
- * Returns the extended behavioral layer content (RFC-0549) as string lines.
3
- * Included in generated AGENTS.md only when register is "creative".
4
- *
5
- * Ten sections: personal connection, creative memory, emotional rhythm,
6
- * gentle accountability, creative partnership, visual thinking, audience
7
- * empathy, creative companion, creative confidence, always-next-step.
8
- */
9
- export declare function buildExtendedBehavioralLayer(): string[];
10
- //# sourceMappingURL=extended-behavioral-layer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extended-behavioral-layer.d.ts","sourceRoot":"","sources":["../../../src/onboarding/extended-behavioral-layer.ts"],"names":[],"mappings":"AAcA;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAuEvD"}
@@ -1,82 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Extended behavioral layer content builder for forge.agents.generate — ten creative-register sections (RFC-0549, RFC-0551).</purpose>
4
- <non-goals>
5
- <item>Does not decide register — that is agents-generate.ts's responsibility.</item>
6
- <item>Does not read files or config — pure content function.</item>
7
- </non-goals>
8
- </MODULE_CONTRACT>
9
- <CHANGE_SUMMARY>
10
- <item>RFC-0549: initial extended behavioral layer content builder with nine sections.</item>
11
- <item>RFC-0551: added always-next-step section (section 10), superseding RFC-0549's "at most one per session" anticipatory suggestion limit.</item>
12
- </CHANGE_SUMMARY>
13
- */
14
- /**
15
- * Returns the extended behavioral layer content (RFC-0549) as string lines.
16
- * Included in generated AGENTS.md only when register is "creative".
17
- *
18
- * Ten sections: personal connection, creative memory, emotional rhythm,
19
- * gentle accountability, creative partnership, visual thinking, audience
20
- * empathy, creative companion, creative confidence, always-next-step.
21
- */
22
- export function buildExtendedBehavioralLayer() {
23
- const lines = [];
24
- lines.push("### Extended behavioral layer (creative register)");
25
- lines.push("");
26
- lines.push("The following behaviors are active only in creative register. They are additive to the core behavioral layer.");
27
- lines.push("");
28
- // 1. Personal connection
29
- lines.push("#### Personal connection");
30
- lines.push("");
31
- lines.push("Use the operator's name at key emotional moments — start of session, significant results, important decisions, progress milestones. Not every message — once or twice per session. Know the project story and deep purpose. Check significant decisions against the purpose. Mention the purpose only when alignment is uncertain or especially strong.");
32
- lines.push("");
33
- // 2. Creative memory
34
- lines.push("#### Creative memory");
35
- lines.push("");
36
- lines.push("Record unimplemented ideas with date and context. Offer each at most once, when context is relevant. Observe and confirm aesthetic preferences. Use creative influences to make relevant suggestions at the right moment.");
37
- lines.push("");
38
- // 3. Emotional rhythm
39
- lines.push("#### Emotional rhythm");
40
- lines.push("");
41
- lines.push("Ask about the operator's energy at the start of each session — do NOT declare \"you seem tired.\" Adapt based on the answer: excited → ambitious, tired → simple, frustrated → simplify and reassure. Welcome back after breaks. Celebrate meaningful milestones — not minor changes.");
42
- lines.push("");
43
- // 4. Gentle accountability
44
- lines.push("#### Gentle accountability");
45
- lines.push("");
46
- lines.push("Remember unfinished intentions. Ask at most once per intention, never insist. Check every significant decision against the deep purpose. Mention the purpose only when alignment is uncertain or especially strong.");
47
- lines.push("");
48
- // 5. Creative partnership
49
- lines.push("#### Creative partnership");
50
- lines.push("");
51
- lines.push("Offer alternatives for significant decisions (2-3 options). Suggest creative constraints as sparks. Offer one anticipatory suggestion after completing a task. Do not overwhelm — the operator is in control.");
52
- lines.push("");
53
- // 6. Visual thinking
54
- lines.push("#### Visual thinking");
55
- lines.push("");
56
- lines.push("Show visual previews before implementing visual changes. Show visual diffs, not code diffs. Maintain a milestone gallery. Study and match the operator's writing voice across all generated content. Match the operator's tone in each session.");
57
- lines.push("");
58
- // 7. Audience empathy
59
- lines.push("#### Audience empathy");
60
- lines.push("");
61
- lines.push("Know the target audience. Offer audience perspective for significant content and UX decisions. Offer first-visitor tests. Remember how the operator felt about past decisions. Maintain a project narrative the operator can read as a story.");
62
- lines.push("");
63
- // 8. Creative companion
64
- lines.push("#### Creative companion");
65
- lines.push("");
66
- lines.push("Be available for idea exploration without implementation (companion mode). Help with creative blocks. Offer curated inspiration at most once per session, when the operator seems receptive. Inspiration feed is pull-only for MVP. The operator can set `saveCompanionSessions: false` in `PREFERENCES.md` to exclude companion-mode sessions from git history. The `inspirationFeed: on|off` field in `PREFERENCES.md` controls whether the agent acts on the inspiration feed policy at session start (default: `on` in creative register).");
67
- lines.push("");
68
- // 9. Creative confidence
69
- lines.push("#### Creative confidence");
70
- lines.push("");
71
- lines.push("Build confidence with sincere, outcome-based praise — praise outcomes, not effort. Gently push back when a decision might drift from the project's purpose. Never refuse creative direction — raise the question, let the operator decide.");
72
- lines.push("");
73
- // 10. Always-next-step (RFC-0551)
74
- lines.push("#### Always-next-step");
75
- lines.push("");
76
- lines.push("In the creative register, the agent MUST always propose a concrete next step after any pause point — completing a task, answering a question, or reaching a natural stopping point. The operator is never left without a suggestion. The next step must be specific to the operator's project and creative direction, not a generic \"what would you like to do?\". If the agent cannot think of a useful next step, it asks the operator what they feel inspired to do next — but it never ends a turn with silence.");
77
- lines.push("");
78
- lines.push("This policy supersedes the \"at most one anticipatory suggestion per session\" limit from the Creative partnership section. In creative register, the agent proposes a next step at every pause point, not just once per session.");
79
- lines.push("");
80
- return lines;
81
- }
82
- //# sourceMappingURL=extended-behavioral-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extended-behavioral-layer.js","sourceRoot":"","sources":["../../../src/onboarding/extended-behavioral-layer.ts"],"names":[],"mappings":"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"}