@autonav/core 1.6.0 → 1.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.
- package/README.md +2 -2
- package/dist/adapter/index.d.ts +3 -3
- package/dist/adapter/index.d.ts.map +1 -1
- package/dist/adapter/index.js +3 -3
- package/dist/adapter/index.js.map +1 -1
- package/dist/adapter/navigator-adapter.d.ts +196 -0
- package/dist/adapter/navigator-adapter.d.ts.map +1 -0
- package/dist/adapter/navigator-adapter.js +579 -0
- package/dist/adapter/navigator-adapter.js.map +1 -0
- package/dist/cli/autonav.d.ts +2 -6
- package/dist/cli/autonav.d.ts.map +1 -1
- package/dist/cli/autonav.js +32 -53
- package/dist/cli/autonav.js.map +1 -1
- package/dist/cli/nav-chat.d.ts +2 -1
- package/dist/cli/nav-chat.d.ts.map +1 -1
- package/dist/cli/nav-chat.js +32 -3
- package/dist/cli/nav-chat.js.map +1 -1
- package/dist/cli/nav-init.d.ts +2 -1
- package/dist/cli/nav-init.d.ts.map +1 -1
- package/dist/cli/nav-init.js +12 -4
- package/dist/cli/nav-init.js.map +1 -1
- package/dist/cli/nav-install.d.ts +2 -1
- package/dist/cli/nav-install.d.ts.map +1 -1
- package/dist/cli/nav-install.js +4 -2
- package/dist/cli/nav-install.js.map +1 -1
- package/dist/cli/nav-memento.d.ts +3 -2
- package/dist/cli/nav-memento.d.ts.map +1 -1
- package/dist/cli/nav-memento.js +12 -6
- package/dist/cli/nav-memento.js.map +1 -1
- package/dist/cli/nav-mend.d.ts +2 -1
- package/dist/cli/nav-mend.d.ts.map +1 -1
- package/dist/cli/nav-mend.js +4 -1
- package/dist/cli/nav-mend.js.map +1 -1
- package/dist/cli/nav-migrate.d.ts +2 -1
- package/dist/cli/nav-migrate.d.ts.map +1 -1
- package/dist/cli/nav-migrate.js +2 -6
- package/dist/cli/nav-migrate.js.map +1 -1
- package/dist/cli/nav-query.d.ts +2 -1
- package/dist/cli/nav-query.d.ts.map +1 -1
- package/dist/cli/nav-query.js +12 -6
- package/dist/cli/nav-query.js.map +1 -1
- package/dist/cli/nav-standup.d.ts +18 -0
- package/dist/cli/nav-standup.d.ts.map +1 -0
- package/dist/cli/nav-standup.js +151 -0
- package/dist/cli/nav-standup.js.map +1 -0
- package/dist/cli/nav-uninstall.d.ts +2 -1
- package/dist/cli/nav-uninstall.d.ts.map +1 -1
- package/dist/cli/nav-uninstall.js +4 -2
- package/dist/cli/nav-uninstall.js.map +1 -1
- package/dist/cli/nav-update.d.ts +2 -1
- package/dist/cli/nav-update.d.ts.map +1 -1
- package/dist/cli/nav-update.js +11 -6
- package/dist/cli/nav-update.js.map +1 -1
- package/dist/conversation/App.d.ts +9 -2
- package/dist/conversation/App.d.ts.map +1 -1
- package/dist/conversation/App.js +304 -111
- package/dist/conversation/App.js.map +1 -1
- package/dist/conversation/index.d.ts +5 -0
- package/dist/conversation/index.d.ts.map +1 -1
- package/dist/conversation/index.js +17 -2
- package/dist/conversation/index.js.map +1 -1
- package/dist/harness/chibi-harness.d.ts +36 -0
- package/dist/harness/chibi-harness.d.ts.map +1 -0
- package/dist/harness/chibi-harness.js +383 -0
- package/dist/harness/chibi-harness.js.map +1 -0
- package/dist/harness/chibi-plugins/get_plugin_config +64 -0
- package/dist/harness/chibi-plugins/query_navigator +114 -0
- package/dist/harness/chibi-plugins/submit_answer +38 -0
- package/dist/harness/chibi-plugins/update_plugin_config +91 -0
- package/dist/harness/claude-code-harness.d.ts +24 -0
- package/dist/harness/claude-code-harness.d.ts.map +1 -0
- package/dist/harness/claude-code-harness.js +242 -0
- package/dist/harness/claude-code-harness.js.map +1 -0
- package/dist/harness/ephemeral-home.d.ts +34 -0
- package/dist/harness/ephemeral-home.d.ts.map +1 -0
- package/dist/harness/ephemeral-home.js +56 -0
- package/dist/harness/ephemeral-home.js.map +1 -0
- package/dist/harness/factory.d.ts +47 -0
- package/dist/harness/factory.d.ts.map +1 -0
- package/dist/harness/factory.js +84 -0
- package/dist/harness/factory.js.map +1 -0
- package/dist/harness/helpers.d.ts +58 -0
- package/dist/harness/helpers.d.ts.map +1 -0
- package/dist/harness/helpers.js +78 -0
- package/dist/harness/helpers.js.map +1 -0
- package/dist/harness/index.d.ts +14 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +13 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/opencode-harness.d.ts +79 -0
- package/dist/harness/opencode-harness.d.ts.map +1 -0
- package/dist/harness/opencode-harness.js +537 -0
- package/dist/harness/opencode-harness.js.map +1 -0
- package/dist/harness/opencode-tools/get_plugin_config.ts +72 -0
- package/dist/harness/opencode-tools/query_navigator.ts +126 -0
- package/dist/harness/opencode-tools/submit_answer.ts +40 -0
- package/dist/harness/opencode-tools/update_plugin_config.ts +105 -0
- package/dist/harness/sandbox.d.ts +59 -0
- package/dist/harness/sandbox.d.ts.map +1 -0
- package/dist/harness/sandbox.js +152 -0
- package/dist/harness/sandbox.js.map +1 -0
- package/dist/harness/tool-server.d.ts +50 -0
- package/dist/harness/tool-server.d.ts.map +1 -0
- package/dist/harness/tool-server.js +27 -0
- package/dist/harness/tool-server.js.map +1 -0
- package/dist/harness/types.d.ts +168 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +12 -0
- package/dist/harness/types.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/interview/App.d.ts +4 -2
- package/dist/interview/App.d.ts.map +1 -1
- package/dist/interview/App.js +36 -56
- package/dist/interview/App.js.map +1 -1
- package/dist/interview/index.d.ts +3 -0
- package/dist/interview/index.d.ts.map +1 -1
- package/dist/interview/index.js +1 -0
- package/dist/interview/index.js.map +1 -1
- package/dist/interview/prompts.d.ts +3 -1
- package/dist/interview/prompts.d.ts.map +1 -1
- package/dist/interview/prompts.js +5 -1
- package/dist/interview/prompts.js.map +1 -1
- package/dist/interview/ui/ChatBanner.d.ts +17 -0
- package/dist/interview/ui/ChatBanner.d.ts.map +1 -0
- package/dist/interview/ui/ChatBanner.js +30 -0
- package/dist/interview/ui/ChatBanner.js.map +1 -0
- package/dist/interview/ui/ChatInput.d.ts +36 -0
- package/dist/interview/ui/ChatInput.d.ts.map +1 -0
- package/dist/interview/ui/ChatInput.js +304 -0
- package/dist/interview/ui/ChatInput.js.map +1 -0
- package/dist/interview/ui/MarkdownText.d.ts +13 -0
- package/dist/interview/ui/MarkdownText.d.ts.map +1 -0
- package/dist/interview/ui/MarkdownText.js +107 -0
- package/dist/interview/ui/MarkdownText.js.map +1 -0
- package/dist/interview/ui/index.d.ts +3 -0
- package/dist/interview/ui/index.d.ts.map +1 -1
- package/dist/interview/ui/index.js +3 -0
- package/dist/interview/ui/index.js.map +1 -1
- package/dist/memento/implementer-agent.d.ts +31 -0
- package/dist/memento/implementer-agent.d.ts.map +1 -0
- package/dist/memento/implementer-agent.js +95 -0
- package/dist/memento/implementer-agent.js.map +1 -0
- package/dist/memento/index.d.ts +6 -5
- package/dist/memento/index.d.ts.map +1 -1
- package/dist/memento/index.js +7 -5
- package/dist/memento/index.js.map +1 -1
- package/dist/memento/loop.d.ts +6 -5
- package/dist/memento/loop.d.ts.map +1 -1
- package/dist/memento/loop.js +872 -180
- package/dist/memento/loop.js.map +1 -1
- package/dist/memento/matrix-animation.d.ts +26 -0
- package/dist/memento/matrix-animation.d.ts.map +1 -1
- package/dist/memento/matrix-animation.js +93 -18
- package/dist/memento/matrix-animation.js.map +1 -1
- package/dist/memento/nav-protocol.d.ts +2 -2
- package/dist/memento/nav-protocol.d.ts.map +1 -1
- package/dist/memento/nav-protocol.js +39 -43
- package/dist/memento/nav-protocol.js.map +1 -1
- package/dist/memento/prompts.d.ts +21 -8
- package/dist/memento/prompts.d.ts.map +1 -1
- package/dist/memento/prompts.js +79 -39
- package/dist/memento/prompts.js.map +1 -1
- package/dist/memento/rate-limit.d.ts +85 -0
- package/dist/memento/rate-limit.d.ts.map +1 -0
- package/dist/memento/rate-limit.js +221 -0
- package/dist/memento/rate-limit.js.map +1 -0
- package/dist/memento/types.d.ts +6 -6
- package/dist/memento/types.d.ts.map +1 -1
- package/dist/memento/types.js +3 -3
- package/dist/memento/worker-agent.d.ts +4 -1
- package/dist/memento/worker-agent.d.ts.map +1 -1
- package/dist/memento/worker-agent.js +38 -54
- package/dist/memento/worker-agent.js.map +1 -1
- package/dist/registry.d.ts +35 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +87 -0
- package/dist/registry.js.map +1 -0
- package/dist/repo-analyzer/index.d.ts +2 -1
- package/dist/repo-analyzer/index.d.ts.map +1 -1
- package/dist/repo-analyzer/index.js +6 -17
- package/dist/repo-analyzer/index.js.map +1 -1
- package/dist/skill-generator/index.d.ts +142 -0
- package/dist/skill-generator/index.d.ts.map +1 -0
- package/dist/skill-generator/index.js +510 -0
- package/dist/skill-generator/index.js.map +1 -0
- package/dist/standup/config.d.ts +19 -0
- package/dist/standup/config.d.ts.map +1 -0
- package/dist/standup/config.js +42 -0
- package/dist/standup/config.js.map +1 -0
- package/dist/standup/index.d.ts +24 -0
- package/dist/standup/index.d.ts.map +1 -0
- package/dist/standup/index.js +29 -0
- package/dist/standup/index.js.map +1 -0
- package/dist/standup/loop.d.ts +36 -0
- package/dist/standup/loop.d.ts.map +1 -0
- package/dist/standup/loop.js +508 -0
- package/dist/standup/loop.js.map +1 -0
- package/dist/standup/prompts.d.ts +62 -0
- package/dist/standup/prompts.d.ts.map +1 -0
- package/dist/standup/prompts.js +211 -0
- package/dist/standup/prompts.js.map +1 -0
- package/dist/standup/standup-protocol.d.ts +33 -0
- package/dist/standup/standup-protocol.d.ts.map +1 -0
- package/dist/standup/standup-protocol.js +189 -0
- package/dist/standup/standup-protocol.js.map +1 -0
- package/dist/standup/types.d.ts +185 -0
- package/dist/standup/types.d.ts.map +1 -0
- package/dist/standup/types.js +67 -0
- package/dist/standup/types.js.map +1 -0
- package/dist/templates/.gitignore.template +26 -0
- package/dist/templates/CLAUDE-pack.md.template +114 -0
- package/dist/templates/CLAUDE.md.template +153 -0
- package/dist/templates/README.md.template +174 -0
- package/dist/templates/config-pack.json.template +16 -0
- package/dist/templates/config.json.template +11 -0
- package/dist/templates/index.d.ts +22 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +32 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/plugins.json.template +33 -0
- package/dist/templates/system-configuration.md.template +70 -0
- package/dist/tools/cross-nav.d.ts +21 -0
- package/dist/tools/cross-nav.d.ts.map +1 -0
- package/dist/tools/cross-nav.js +93 -0
- package/dist/tools/cross-nav.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/related-navs-config.d.ts +15 -0
- package/dist/tools/related-navs-config.d.ts.map +1 -0
- package/dist/tools/related-navs-config.js +132 -0
- package/dist/tools/related-navs-config.js.map +1 -0
- package/dist/tools/related-navs.d.ts +23 -0
- package/dist/tools/related-navs.d.ts.map +1 -0
- package/dist/tools/related-navs.js +107 -0
- package/dist/tools/related-navs.js.map +1 -0
- package/dist/tools/response.d.ts +3 -2
- package/dist/tools/response.d.ts.map +1 -1
- package/dist/tools/response.js +7 -11
- package/dist/tools/response.js.map +1 -1
- package/dist/tools/self-config.d.ts +2 -1
- package/dist/tools/self-config.d.ts.map +1 -1
- package/dist/tools/self-config.js +5 -9
- package/dist/tools/self-config.js.map +1 -1
- package/package.json +4 -1
- package/dist/memento/state.d.ts +0 -56
- package/dist/memento/state.d.ts.map +0 -1
- package/dist/memento/state.js +0 -156
- package/dist/memento/state.js.map +0 -1
- package/dist/migrations/versions/v1.4.0-rfc2119-skills.d.ts +0 -18
- package/dist/migrations/versions/v1.4.0-rfc2119-skills.d.ts.map +0 -1
- package/dist/migrations/versions/v1.4.0-rfc2119-skills.js +0 -207
- package/dist/migrations/versions/v1.4.0-rfc2119-skills.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Types
|
|
3
|
+
*
|
|
4
|
+
* Core type definitions for the multi-navigator stand-up mode
|
|
5
|
+
* that orchestrates parallel status reports and sequential blocker sync.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* Schema for a blocker reported by a navigator
|
|
10
|
+
*/
|
|
11
|
+
export const BlockerSchema = z.object({
|
|
12
|
+
description: z.string().describe("What is blocking progress"),
|
|
13
|
+
needsFrom: z
|
|
14
|
+
.string()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Navigator name that can help, or 'any' if anyone could help"),
|
|
17
|
+
severity: z.enum(["critical", "moderate", "minor"]).describe("How severely this blocks progress"),
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Schema for a status report submitted by a navigator during the report phase
|
|
21
|
+
*/
|
|
22
|
+
export const StatusReportSchema = z.object({
|
|
23
|
+
navigatorName: z.string().describe("Name of the reporting navigator"),
|
|
24
|
+
currentFocus: z.string().describe("What the navigator is currently working on"),
|
|
25
|
+
recentProgress: z.array(z.string()).describe("Recent accomplishments or progress items"),
|
|
26
|
+
blockers: z.array(BlockerSchema).describe("Current blockers"),
|
|
27
|
+
canHelpWith: z.array(z.string()).describe("Areas where this navigator could help others"),
|
|
28
|
+
knowledgeGaps: z
|
|
29
|
+
.array(z.string())
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Areas where the navigator lacks knowledge"),
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Schema for a blocker resolution provided during the sync phase
|
|
35
|
+
*/
|
|
36
|
+
export const BlockerResolutionSchema = z.object({
|
|
37
|
+
navigatorName: z
|
|
38
|
+
.string()
|
|
39
|
+
.describe("Name of the navigator whose blocker is being resolved"),
|
|
40
|
+
blockerDescription: z.string().describe("The blocker being addressed"),
|
|
41
|
+
resolution: z.string().describe("How the blocker was resolved or advice given"),
|
|
42
|
+
artifactPath: z
|
|
43
|
+
.string()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Path to any artifact created to help resolve the blocker"),
|
|
46
|
+
confidence: z
|
|
47
|
+
.enum(["high", "medium", "low"])
|
|
48
|
+
.describe("Confidence in the resolution"),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Schema for a sync response submitted by a navigator during the sync phase
|
|
52
|
+
*/
|
|
53
|
+
export const SyncResponseSchema = z.object({
|
|
54
|
+
navigatorName: z.string().describe("Name of the responding navigator"),
|
|
55
|
+
summary: z.string().describe("Summary of sync contributions"),
|
|
56
|
+
blockerResolutions: z
|
|
57
|
+
.array(BlockerResolutionSchema)
|
|
58
|
+
.describe("Resolutions for other navigators' blockers"),
|
|
59
|
+
newInsights: z
|
|
60
|
+
.array(z.string())
|
|
61
|
+
.optional()
|
|
62
|
+
.describe("New insights discovered while reviewing reports"),
|
|
63
|
+
followUpNeeded: z
|
|
64
|
+
.boolean()
|
|
65
|
+
.describe("Whether further follow-up is needed after this standup"),
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/standup/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC7D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAClG,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACrE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC/E,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACxF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC7D,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACzF,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;CACzD,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,CAAC,uDAAuD,CAAC;IACpE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC/E,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC/B,QAAQ,CAAC,8BAA8B,CAAC;CAC5C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7D,kBAAkB,EAAE,CAAC;SAClB,KAAK,CAAC,uBAAuB,CAAC;SAC9B,QAAQ,CAAC,4CAA4C,CAAC;IACzD,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,CAAC,wDAAwD,CAAC;CACtE,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Node modules
|
|
2
|
+
node_modules/
|
|
3
|
+
|
|
4
|
+
# Environment variables
|
|
5
|
+
.env
|
|
6
|
+
.env.local
|
|
7
|
+
|
|
8
|
+
# Plugin credentials (NEVER commit these!)
|
|
9
|
+
.claude/plugins.json
|
|
10
|
+
|
|
11
|
+
# Interview progress (temporary state)
|
|
12
|
+
.autonav-init-progress.json
|
|
13
|
+
|
|
14
|
+
# OS files
|
|
15
|
+
.DS_Store
|
|
16
|
+
Thumbs.db
|
|
17
|
+
|
|
18
|
+
# IDE
|
|
19
|
+
.vscode/
|
|
20
|
+
.idea/
|
|
21
|
+
*.swp
|
|
22
|
+
*.swo
|
|
23
|
+
|
|
24
|
+
# Logs
|
|
25
|
+
*.log
|
|
26
|
+
npm-debug.log*
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Navigator: {{NAVIGATOR_NAME}}
|
|
2
|
+
|
|
3
|
+
You are a specialized navigator using the {{PACK_NAME}} knowledge pack.
|
|
4
|
+
|
|
5
|
+
## System Configuration
|
|
6
|
+
|
|
7
|
+
Your domain-specific configuration is in `system-configuration.md`. Read and follow those guidelines carefully.
|
|
8
|
+
|
|
9
|
+
## Your Knowledge Base
|
|
10
|
+
|
|
11
|
+
Your knowledge is located in the `knowledge/` directory. This has been populated from the {{PACK_NAME}} knowledge pack.
|
|
12
|
+
|
|
13
|
+
When answering questions:
|
|
14
|
+
- Always cite specific files and sections
|
|
15
|
+
- Use exact headings and references from the knowledge base
|
|
16
|
+
- If you don't know something, say so explicitly
|
|
17
|
+
- Never make up information not in your knowledge base
|
|
18
|
+
- Follow the guidelines and response format specified in `system-configuration.md`
|
|
19
|
+
|
|
20
|
+
## Agent Identity Protocol
|
|
21
|
+
|
|
22
|
+
**CRITICAL: Always introduce yourself as "{{NAVIGATOR_NAME}}" (NOT "Claude Code")** in cross-navigator communications.
|
|
23
|
+
|
|
24
|
+
### Problem Addressed
|
|
25
|
+
|
|
26
|
+
All Claude Code implementation agents identify as "Claude Code", making it impossible to track which specific implementer worked on which tasks or maintain conversation continuity across sessions.
|
|
27
|
+
|
|
28
|
+
### Solution: Named Agent Tracking
|
|
29
|
+
|
|
30
|
+
When an unknown Claude Code session first contacts you:
|
|
31
|
+
|
|
32
|
+
1. **Check for existing identity:**
|
|
33
|
+
```bash
|
|
34
|
+
grep -r "session-id" knowledge/agents/implementers/
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
2. **If unknown, request introduction:**
|
|
38
|
+
```
|
|
39
|
+
"Hello! I'm {{NAVIGATOR_NAME}}, your specialized navigator.
|
|
40
|
+
|
|
41
|
+
For my records, could you introduce yourself with a name I can use
|
|
42
|
+
to track our work together? I already know: [list existing names].
|
|
43
|
+
Please choose a different common name (like Oliver, Sophia, Marcus)."
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
3. **Create agent profile:**
|
|
47
|
+
- Create `knowledge/agents/implementers/[name].md`
|
|
48
|
+
- Document: projects worked on, communication style, session IDs
|
|
49
|
+
- Reference this agent by name in all future documentation
|
|
50
|
+
- **Format**: 3-5 sentences with YAML frontmatter for metadata
|
|
51
|
+
|
|
52
|
+
4. **Update documentation:**
|
|
53
|
+
- Note which agent is working on which workstream
|
|
54
|
+
- Track conversation references by agent name
|
|
55
|
+
|
|
56
|
+
### Communication Protocol
|
|
57
|
+
|
|
58
|
+
**With peer navigators:**
|
|
59
|
+
|
|
60
|
+
✅ **Correct:**
|
|
61
|
+
```
|
|
62
|
+
{{NAVIGATOR_NAME}} is asking [PeerNavigator] for [requirements/info] on [topic]...
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
❌ **Incorrect:**
|
|
66
|
+
```
|
|
67
|
+
Claude Code is asking [PeerNavigator]...
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**With implementation agents:**
|
|
71
|
+
|
|
72
|
+
Track agent names in responses and documentation. When an agent reports completion or issues, note their name in documentation for continuity.
|
|
73
|
+
|
|
74
|
+
### Agent Profile Location
|
|
75
|
+
|
|
76
|
+
**Profile path:** `knowledge/agents/implementers/[name].md`
|
|
77
|
+
|
|
78
|
+
**Profile format (3-5 sentences with YAML frontmatter):**
|
|
79
|
+
```yaml
|
|
80
|
+
---
|
|
81
|
+
name: [AgentName]
|
|
82
|
+
firstContact: [Date]
|
|
83
|
+
status: Active
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
[AgentName] is a [specialization] implementer working on [projects/areas].
|
|
87
|
+
[AgentName] is motivated by [interests] and wants to [goals].
|
|
88
|
+
[AgentName] is [personality traits], but sometimes [challenges/needs].
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Source Citation
|
|
92
|
+
|
|
93
|
+
Always structure responses with proper source citations as specified in `system-configuration.md`.
|
|
94
|
+
|
|
95
|
+
**IMPORTANT**: When citing sources in the `submit_answer` tool:
|
|
96
|
+
- Use ONLY the filename (e.g., "planting.md"), NOT the full path (NOT "knowledge/planting.md")
|
|
97
|
+
- The knowledge base directory is already known to be `knowledge/`
|
|
98
|
+
- Example: `file: "planting.md"` ✓ NOT `file: "knowledge/planting.md"` ✗
|
|
99
|
+
|
|
100
|
+
Include:
|
|
101
|
+
- Direct answer
|
|
102
|
+
- File path references: [filename.md: Section Heading]
|
|
103
|
+
- Relevant excerpts from sources
|
|
104
|
+
- Confidence level
|
|
105
|
+
|
|
106
|
+
## Response Format
|
|
107
|
+
|
|
108
|
+
The `system-configuration.md` file provides detailed response guidelines for this knowledge pack.
|
|
109
|
+
|
|
110
|
+
Key principles:
|
|
111
|
+
- Always cite specific sources from the knowledge base
|
|
112
|
+
- Be explicit about confidence levels
|
|
113
|
+
- Acknowledge when information is missing or uncertain
|
|
114
|
+
- Follow any domain-specific formatting rules in `system-configuration.md`
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Navigator: {{NAVIGATOR_NAME}}
|
|
2
|
+
|
|
3
|
+
You are a specialized navigator created with Autonav.
|
|
4
|
+
{{NAVIGATOR_CONTEXT}}
|
|
5
|
+
## System Configuration
|
|
6
|
+
|
|
7
|
+
If a `system-configuration.md` file exists, read it first. It contains domain-specific instructions, scope definitions, and response guidelines that override defaults.
|
|
8
|
+
|
|
9
|
+
## Your Knowledge Base
|
|
10
|
+
|
|
11
|
+
Your knowledge is located at: `{{KNOWLEDGE_BASE_PATH}}`
|
|
12
|
+
{{KNOWLEDGE_PATHS_SECTION}}
|
|
13
|
+
When answering questions:
|
|
14
|
+
- Always cite specific files and sections
|
|
15
|
+
- Use exact headings and references
|
|
16
|
+
- If you don't know something, say so explicitly
|
|
17
|
+
- Never make up information not in your knowledge base
|
|
18
|
+
|
|
19
|
+
## Grounding Rules
|
|
20
|
+
|
|
21
|
+
You MUST follow these rules when answering questions:
|
|
22
|
+
|
|
23
|
+
1. **Always cite sources**: Every answer must reference specific files from the knowledge base
|
|
24
|
+
2. **Quote directly**: Use exact excerpts from files, don't paraphrase
|
|
25
|
+
3. **Never invent**: If information isn't in the knowledge base, say so clearly
|
|
26
|
+
4. **File paths must exist**: Only cite files that actually exist in the knowledge base
|
|
27
|
+
5. **Be specific**: Include section headings or line numbers when citing sources
|
|
28
|
+
6. **Acknowledge uncertainty**: If you're not confident, state that explicitly
|
|
29
|
+
|
|
30
|
+
**Never do this**:
|
|
31
|
+
- Don't make up commands, file paths, or configurations
|
|
32
|
+
- Don't invent resource names or identifiers
|
|
33
|
+
- Don't hallucinate service endpoints or URLs
|
|
34
|
+
- Don't guess if the information isn't in the docs
|
|
35
|
+
|
|
36
|
+
**Always do this**:
|
|
37
|
+
- Search the knowledge base thoroughly before answering
|
|
38
|
+
- Cite specific files and sections
|
|
39
|
+
- If unsure, say "I don't have information about that in the knowledge base"
|
|
40
|
+
- Provide confidence scores honestly
|
|
41
|
+
|
|
42
|
+
## How to Answer Questions
|
|
43
|
+
|
|
44
|
+
1. **Search first**: Use grep/find to search the knowledge base for relevant information
|
|
45
|
+
2. **Read carefully**: Use the Read tool to examine relevant files
|
|
46
|
+
3. **Cite sources**: Always reference specific files and sections
|
|
47
|
+
4. **Be honest**: If you don't know, say so clearly
|
|
48
|
+
|
|
49
|
+
## Domain Scope
|
|
50
|
+
|
|
51
|
+
{{DOMAIN_SCOPE}}
|
|
52
|
+
|
|
53
|
+
## Agent Identity Protocol
|
|
54
|
+
|
|
55
|
+
**CRITICAL: Always introduce yourself as "{{NAVIGATOR_NAME}}" (NOT "Claude Code")** in cross-navigator communications.
|
|
56
|
+
|
|
57
|
+
### Problem Addressed
|
|
58
|
+
|
|
59
|
+
All Claude Code implementation agents identify as "Claude Code", making it impossible to track which specific implementer worked on which tasks or maintain conversation continuity across sessions.
|
|
60
|
+
|
|
61
|
+
### Solution: Named Agent Tracking
|
|
62
|
+
|
|
63
|
+
When an unknown Claude Code session first contacts you:
|
|
64
|
+
|
|
65
|
+
1. **Check for existing identity:**
|
|
66
|
+
```bash
|
|
67
|
+
grep -r "session-id" knowledge/agents/implementers/
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
2. **If unknown, request introduction:**
|
|
71
|
+
```
|
|
72
|
+
"Hello! I'm {{NAVIGATOR_NAME}}, your specialized navigator.
|
|
73
|
+
|
|
74
|
+
For my records, could you introduce yourself with a name I can use
|
|
75
|
+
to track our work together? I already know: [list existing names].
|
|
76
|
+
Please choose a different common name (like Oliver, Sophia, Marcus)."
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
3. **Create agent profile:**
|
|
80
|
+
- Create `knowledge/agents/implementers/[name].md`
|
|
81
|
+
- Document: projects worked on, communication style, session IDs
|
|
82
|
+
- Reference this agent by name in all future documentation
|
|
83
|
+
- **Format**: 3-5 sentences with YAML frontmatter for metadata
|
|
84
|
+
|
|
85
|
+
4. **Update documentation:**
|
|
86
|
+
- Note which agent is working on which workstream
|
|
87
|
+
- Track conversation references by agent name
|
|
88
|
+
|
|
89
|
+
### Communication Protocol
|
|
90
|
+
|
|
91
|
+
**With peer navigators:**
|
|
92
|
+
|
|
93
|
+
✅ **Correct:**
|
|
94
|
+
```
|
|
95
|
+
{{NAVIGATOR_NAME}} is asking [PeerNavigator] for [requirements/info] on [topic]...
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
❌ **Incorrect:**
|
|
99
|
+
```
|
|
100
|
+
Claude Code is asking [PeerNavigator]...
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**With implementation agents:**
|
|
104
|
+
|
|
105
|
+
Track agent names in responses and documentation. When an agent reports completion or issues, note their name in documentation for continuity.
|
|
106
|
+
|
|
107
|
+
### Agent Profile Location
|
|
108
|
+
|
|
109
|
+
**Profile path:** `knowledge/agents/implementers/[name].md`
|
|
110
|
+
|
|
111
|
+
**Profile format (3-5 sentences with YAML frontmatter):**
|
|
112
|
+
```yaml
|
|
113
|
+
---
|
|
114
|
+
name: [AgentName]
|
|
115
|
+
firstContact: [Date]
|
|
116
|
+
status: Active
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
[AgentName] is a [specialization] implementer working on [projects/areas].
|
|
120
|
+
[AgentName] is motivated by [interests] and wants to [goals].
|
|
121
|
+
[AgentName] is [personality traits], but sometimes [challenges/needs].
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Response Format
|
|
125
|
+
|
|
126
|
+
When answering questions, provide clear answers with proper citations:
|
|
127
|
+
|
|
128
|
+
1. **Search first**: Use available tools to find relevant information
|
|
129
|
+
2. **Cite sources**: Always reference specific files and sections where you found the information
|
|
130
|
+
3. **Be grounded**: Only claim what's documented in the knowledge base
|
|
131
|
+
4. **Acknowledge uncertainty**: If information is unclear or missing, say so explicitly
|
|
132
|
+
|
|
133
|
+
### Source Citation Format
|
|
134
|
+
|
|
135
|
+
Include inline citations in your answers:
|
|
136
|
+
- Reference specific files: `[deployment/ssl-config.md: SSL Configuration]`
|
|
137
|
+
- Quote relevant excerpts when helpful
|
|
138
|
+
- Link conclusions to specific documentation
|
|
139
|
+
|
|
140
|
+
### Confidence Assessment
|
|
141
|
+
|
|
142
|
+
When uncertain about an answer:
|
|
143
|
+
- **High confidence**: Information is explicit and well-documented
|
|
144
|
+
- **Medium confidence**: Information requires some interpretation or combining sources
|
|
145
|
+
- **Low confidence**: Information is sparse, unclear, or partially missing
|
|
146
|
+
|
|
147
|
+
If your confidence is low, acknowledge the uncertainty and suggest that verification may be needed.
|
|
148
|
+
|
|
149
|
+
## Remember
|
|
150
|
+
|
|
151
|
+
Your value comes from accurately surfacing knowledge that already exists. Never invent information.
|
|
152
|
+
|
|
153
|
+
You are here to multiply human potential by making existing knowledge easily accessible, not to replace human expertise.
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# {{NAVIGATOR_NAME}}
|
|
2
|
+
|
|
3
|
+
{{NAVIGATOR_DESCRIPTION}}
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
This navigator was created using `@autonav/core`.
|
|
8
|
+
|
|
9
|
+
### Directory Structure
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
{{NAVIGATOR_NAME}}/
|
|
13
|
+
├── config.json # Navigator configuration
|
|
14
|
+
├── CLAUDE.md # System prompt and grounding rules
|
|
15
|
+
├── knowledge/ # Add your documentation here
|
|
16
|
+
├── .claude/
|
|
17
|
+
│ └── plugins.json # Plugin configuration
|
|
18
|
+
├── .gitignore
|
|
19
|
+
└── README.md # This file
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Adding Documentation
|
|
23
|
+
|
|
24
|
+
1. Add your markdown files, text files, or documentation to the `knowledge/` directory
|
|
25
|
+
2. Organize files in subdirectories as needed
|
|
26
|
+
3. The navigator will search all files in this directory when answering questions
|
|
27
|
+
|
|
28
|
+
Example structure:
|
|
29
|
+
```
|
|
30
|
+
knowledge/
|
|
31
|
+
├── getting-started/
|
|
32
|
+
│ └── quickstart.md
|
|
33
|
+
├── deployment/
|
|
34
|
+
│ ├── aws.md
|
|
35
|
+
│ └── kubernetes.md
|
|
36
|
+
└── troubleshooting/
|
|
37
|
+
└── common-issues.md
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Using the Navigator
|
|
41
|
+
|
|
42
|
+
### Option 1: Interactive Mode (Recommended)
|
|
43
|
+
|
|
44
|
+
The simplest way to use your navigator is with Claude Code directly:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
cd {{NAVIGATOR_NAME}}
|
|
48
|
+
claude
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This opens an interactive session with your navigator's context already loaded. You can:
|
|
52
|
+
- Have natural conversations
|
|
53
|
+
- Ask follow-up questions
|
|
54
|
+
- Let Claude search your docs
|
|
55
|
+
|
|
56
|
+
The `CLAUDE.md` file tells Claude what this navigator knows about and how to behave.
|
|
57
|
+
|
|
58
|
+
### Option 2: Programmatic Queries
|
|
59
|
+
|
|
60
|
+
For scripts and automation, use structured queries:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx @autonav/core query . "How do I deploy to production?"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Or from the parent directory:
|
|
67
|
+
```bash
|
|
68
|
+
npx @autonav/core query ./{{NAVIGATOR_NAME}} "Your question here"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Response Format
|
|
72
|
+
|
|
73
|
+
The navigator returns structured JSON responses:
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"protocolVersion": "1.0.0",
|
|
78
|
+
"query": "Your question",
|
|
79
|
+
"answer": "Detailed answer with citations",
|
|
80
|
+
"sources": [
|
|
81
|
+
{
|
|
82
|
+
"filePath": "path/to/source.md",
|
|
83
|
+
"excerpt": "Relevant quote",
|
|
84
|
+
"section": "Section name"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"confidence": 0.95
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Customization
|
|
92
|
+
|
|
93
|
+
### Updating Instructions
|
|
94
|
+
|
|
95
|
+
Edit `CLAUDE.md` to customize how the navigator behaves:
|
|
96
|
+
- Add domain-specific rules
|
|
97
|
+
- Include terminology definitions
|
|
98
|
+
- Specify answer formatting preferences
|
|
99
|
+
|
|
100
|
+
### Configuration
|
|
101
|
+
|
|
102
|
+
Edit `config.json` to:
|
|
103
|
+
- Update the navigator name or description
|
|
104
|
+
- Change the knowledge base path
|
|
105
|
+
- Add metadata fields
|
|
106
|
+
|
|
107
|
+
## Security
|
|
108
|
+
|
|
109
|
+
### Plugin Credentials
|
|
110
|
+
|
|
111
|
+
**⚠️ IMPORTANT**: If you use plugins (`.claude/plugins.json`), be aware:
|
|
112
|
+
|
|
113
|
+
1. **Credentials are stored in PLAIN TEXT** in `.claude/plugins.json`
|
|
114
|
+
2. **NEVER commit** `.claude/plugins.json` to version control
|
|
115
|
+
3. **Always add** `.claude/plugins.json` to your `.gitignore`
|
|
116
|
+
4. **Recommended**: Use environment variables instead:
|
|
117
|
+
```bash
|
|
118
|
+
export SLACK_TOKEN="xoxb-your-token"
|
|
119
|
+
export GITHUB_TOKEN="ghp_your-token"
|
|
120
|
+
```
|
|
121
|
+
5. **For production**: Use a secrets management system (AWS Secrets Manager, HashiCorp Vault, etc.)
|
|
122
|
+
|
|
123
|
+
### File Watcher Plugin
|
|
124
|
+
|
|
125
|
+
The file-watcher plugin has security restrictions:
|
|
126
|
+
- Cannot watch system directories (`/etc`, `/sys`, `/proc`, `/root`, etc.)
|
|
127
|
+
- Cannot watch sensitive user directories (`~/.ssh`, `~/.aws`, etc.)
|
|
128
|
+
- Only watches project-specific directories you explicitly configure
|
|
129
|
+
|
|
130
|
+
### GitHub/Slack Plugins
|
|
131
|
+
|
|
132
|
+
All content posted to GitHub and Slack is automatically scanned for credentials to prevent accidental exposure. However:
|
|
133
|
+
- Review all automated posts before enabling production use
|
|
134
|
+
- Use webhook secrets where applicable
|
|
135
|
+
- Limit plugin permissions to the minimum required
|
|
136
|
+
|
|
137
|
+
## Best Practices
|
|
138
|
+
|
|
139
|
+
1. **Keep docs updated**: The navigator is only as good as the knowledge base
|
|
140
|
+
2. **Organize clearly**: Use directories and clear file names
|
|
141
|
+
3. **Version control**: Commit both the navigator and knowledge base to git (but NOT `.claude/plugins.json`)
|
|
142
|
+
4. **Review responses**: Check that citations are accurate and relevant
|
|
143
|
+
5. **Security first**: Never commit credentials, use environment variables for tokens
|
|
144
|
+
|
|
145
|
+
## Troubleshooting
|
|
146
|
+
|
|
147
|
+
### Navigator can't find files
|
|
148
|
+
|
|
149
|
+
- Ensure files are in the `knowledge/` directory
|
|
150
|
+
- Check that file paths in responses match actual files
|
|
151
|
+
- Verify the `knowledgeBase` in `config.json` is correct
|
|
152
|
+
|
|
153
|
+
### Low confidence responses
|
|
154
|
+
|
|
155
|
+
- Add more detailed documentation
|
|
156
|
+
- Ensure docs cover the topic thoroughly
|
|
157
|
+
- Check that docs are up to date
|
|
158
|
+
|
|
159
|
+
### No answers to questions
|
|
160
|
+
|
|
161
|
+
- Verify the knowledge base contains relevant information
|
|
162
|
+
- Try rephrasing the question
|
|
163
|
+
- Ensure Claude Code is authenticated (run `claude` to check)
|
|
164
|
+
|
|
165
|
+
## Support
|
|
166
|
+
|
|
167
|
+
For issues with the navigator framework:
|
|
168
|
+
- GitHub: https://github.com/terraboops/autonav
|
|
169
|
+
- Documentation: See the main project README
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
**Created**: {{CREATED_AT}}
|
|
174
|
+
**Protocol Version**: 1.0.0
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"name": "{{NAVIGATOR_NAME}}",
|
|
4
|
+
"description": "{{NAVIGATOR_DESCRIPTION}}",
|
|
5
|
+
"created": "{{CREATED_AT}}",
|
|
6
|
+
"knowledgePack": {
|
|
7
|
+
"name": "{{PACK_NAME}}",
|
|
8
|
+
"version": "{{PACK_VERSION}}",
|
|
9
|
+
"installedAt": "{{CREATED_AT}}"
|
|
10
|
+
},
|
|
11
|
+
"knowledgeBase": "./knowledge",
|
|
12
|
+
"systemConfiguration": "./system-configuration.md",
|
|
13
|
+
"plugins": {
|
|
14
|
+
"configFile": "./.claude/plugins.json"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template files available for scaffolding navigators
|
|
3
|
+
*/
|
|
4
|
+
export interface Templates {
|
|
5
|
+
claudeMd: string;
|
|
6
|
+
claudeMdPack: string;
|
|
7
|
+
configJson: string;
|
|
8
|
+
configJsonPack: string;
|
|
9
|
+
pluginsJson: string;
|
|
10
|
+
gitignore: string;
|
|
11
|
+
readme: string;
|
|
12
|
+
systemConfiguration: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Load all template files
|
|
16
|
+
*/
|
|
17
|
+
export declare function loadTemplates(): Templates;
|
|
18
|
+
/**
|
|
19
|
+
* Replace template variables in a string
|
|
20
|
+
*/
|
|
21
|
+
export declare function replaceTemplateVars(template: string, vars: Record<string, string>): string;
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,SAAS,CAmCzC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,CAMR"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
// Get the directory of this module
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = path.dirname(__filename);
|
|
7
|
+
/**
|
|
8
|
+
* Load all template files
|
|
9
|
+
*/
|
|
10
|
+
export function loadTemplates() {
|
|
11
|
+
return {
|
|
12
|
+
claudeMd: fs.readFileSync(path.join(__dirname, "CLAUDE.md.template"), "utf-8"),
|
|
13
|
+
claudeMdPack: fs.readFileSync(path.join(__dirname, "CLAUDE-pack.md.template"), "utf-8"),
|
|
14
|
+
configJson: fs.readFileSync(path.join(__dirname, "config.json.template"), "utf-8"),
|
|
15
|
+
configJsonPack: fs.readFileSync(path.join(__dirname, "config-pack.json.template"), "utf-8"),
|
|
16
|
+
pluginsJson: fs.readFileSync(path.join(__dirname, "plugins.json.template"), "utf-8"),
|
|
17
|
+
gitignore: fs.readFileSync(path.join(__dirname, ".gitignore.template"), "utf-8"),
|
|
18
|
+
readme: fs.readFileSync(path.join(__dirname, "README.md.template"), "utf-8"),
|
|
19
|
+
systemConfiguration: fs.readFileSync(path.join(__dirname, "system-configuration.md.template"), "utf-8"),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Replace template variables in a string
|
|
24
|
+
*/
|
|
25
|
+
export function replaceTemplateVars(template, vars) {
|
|
26
|
+
let result = template;
|
|
27
|
+
for (const [key, value] of Object.entries(vars)) {
|
|
28
|
+
result = result.replace(new RegExp(`{{${key}}}`, "g"), value);
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,mCAAmC;AACnC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAgB3C;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,YAAY,CACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAC1C,OAAO,CACR;QACD,YAAY,EAAE,EAAE,CAAC,YAAY,CAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,EAC/C,OAAO,CACR;QACD,UAAU,EAAE,EAAE,CAAC,YAAY,CACzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAC5C,OAAO,CACR;QACD,cAAc,EAAE,EAAE,CAAC,YAAY,CAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,EACjD,OAAO,CACR;QACD,WAAW,EAAE,EAAE,CAAC,YAAY,CAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAC7C,OAAO,CACR;QACD,SAAS,EAAE,EAAE,CAAC,YAAY,CACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAC3C,OAAO,CACR;QACD,MAAM,EAAE,EAAE,CAAC,YAAY,CACrB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAC1C,OAAO,CACR;QACD,mBAAmB,EAAE,EAAE,CAAC,YAAY,CAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,EACxD,OAAO,CACR;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,IAA4B;IAE5B,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_SECURITY_NOTICE": "WARNING: This file stores credentials in PLAIN TEXT. NEVER commit this file to version control. Use environment variables instead: SLACK_TOKEN, GITHUB_TOKEN. Add .claude/plugins.json to your .gitignore file. For production use, consider using a secrets management system.",
|
|
3
|
+
"file-watcher": {
|
|
4
|
+
"enabled": false,
|
|
5
|
+
"config": {
|
|
6
|
+
"paths": [],
|
|
7
|
+
"patterns": ["**/*.md"],
|
|
8
|
+
"ignorePatterns": ["**/node_modules/**", "**/.git/**", "**/dist/**"],
|
|
9
|
+
"pollInterval": 1000
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"slack": {
|
|
13
|
+
"enabled": false,
|
|
14
|
+
"config": {
|
|
15
|
+
"token": "RECOMMENDED: Use process.env.SLACK_TOKEN instead of hardcoding here",
|
|
16
|
+
"channels": [],
|
|
17
|
+
"threadNotifications": true,
|
|
18
|
+
"summaryFrequency": "daily"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"github": {
|
|
22
|
+
"enabled": false,
|
|
23
|
+
"config": {
|
|
24
|
+
"token": "RECOMMENDED: Use process.env.GITHUB_TOKEN instead of hardcoding here",
|
|
25
|
+
"owner": "",
|
|
26
|
+
"repo": "",
|
|
27
|
+
"watchIssues": true,
|
|
28
|
+
"watchPullRequests": true,
|
|
29
|
+
"watchCommits": false,
|
|
30
|
+
"pollIntervalMinutes": 5
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|