@kiwidata/grimoire 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/.claude-plugin/plugin.json +8 -0
  2. package/AGENTS.md +217 -0
  3. package/README.md +748 -0
  4. package/bin/grimoire.js +2 -0
  5. package/dist/cli/index.d.ts +2 -0
  6. package/dist/cli/index.d.ts.map +1 -0
  7. package/dist/cli/index.js +42 -0
  8. package/dist/cli/index.js.map +1 -0
  9. package/dist/commands/archive.d.ts +3 -0
  10. package/dist/commands/archive.d.ts.map +1 -0
  11. package/dist/commands/archive.js +22 -0
  12. package/dist/commands/archive.js.map +1 -0
  13. package/dist/commands/branch-check.d.ts +3 -0
  14. package/dist/commands/branch-check.d.ts.map +1 -0
  15. package/dist/commands/branch-check.js +16 -0
  16. package/dist/commands/branch-check.js.map +1 -0
  17. package/dist/commands/check.d.ts +3 -0
  18. package/dist/commands/check.d.ts.map +1 -0
  19. package/dist/commands/check.js +22 -0
  20. package/dist/commands/check.js.map +1 -0
  21. package/dist/commands/ci.d.ts +3 -0
  22. package/dist/commands/ci.d.ts.map +1 -0
  23. package/dist/commands/ci.js +18 -0
  24. package/dist/commands/ci.js.map +1 -0
  25. package/dist/commands/diff.d.ts +3 -0
  26. package/dist/commands/diff.d.ts.map +1 -0
  27. package/dist/commands/diff.js +10 -0
  28. package/dist/commands/diff.js.map +1 -0
  29. package/dist/commands/docs.d.ts +3 -0
  30. package/dist/commands/docs.d.ts.map +1 -0
  31. package/dist/commands/docs.js +11 -0
  32. package/dist/commands/docs.js.map +1 -0
  33. package/dist/commands/health.d.ts +3 -0
  34. package/dist/commands/health.d.ts.map +1 -0
  35. package/dist/commands/health.js +13 -0
  36. package/dist/commands/health.js.map +1 -0
  37. package/dist/commands/init.d.ts +3 -0
  38. package/dist/commands/init.d.ts.map +1 -0
  39. package/dist/commands/init.js +21 -0
  40. package/dist/commands/init.js.map +1 -0
  41. package/dist/commands/list.d.ts +3 -0
  42. package/dist/commands/list.d.ts.map +1 -0
  43. package/dist/commands/list.js +22 -0
  44. package/dist/commands/list.js.map +1 -0
  45. package/dist/commands/log.d.ts +3 -0
  46. package/dist/commands/log.d.ts.map +1 -0
  47. package/dist/commands/log.js +15 -0
  48. package/dist/commands/log.js.map +1 -0
  49. package/dist/commands/map.d.ts +3 -0
  50. package/dist/commands/map.d.ts.map +1 -0
  51. package/dist/commands/map.js +17 -0
  52. package/dist/commands/map.js.map +1 -0
  53. package/dist/commands/pr.d.ts +3 -0
  54. package/dist/commands/pr.d.ts.map +1 -0
  55. package/dist/commands/pr.js +17 -0
  56. package/dist/commands/pr.js.map +1 -0
  57. package/dist/commands/status.d.ts +3 -0
  58. package/dist/commands/status.d.ts.map +1 -0
  59. package/dist/commands/status.js +12 -0
  60. package/dist/commands/status.js.map +1 -0
  61. package/dist/commands/test-quality.d.ts +3 -0
  62. package/dist/commands/test-quality.d.ts.map +1 -0
  63. package/dist/commands/test-quality.js +37 -0
  64. package/dist/commands/test-quality.js.map +1 -0
  65. package/dist/commands/trace.d.ts +3 -0
  66. package/dist/commands/trace.d.ts.map +1 -0
  67. package/dist/commands/trace.js +12 -0
  68. package/dist/commands/trace.js.map +1 -0
  69. package/dist/commands/update.d.ts +3 -0
  70. package/dist/commands/update.d.ts.map +1 -0
  71. package/dist/commands/update.js +22 -0
  72. package/dist/commands/update.js.map +1 -0
  73. package/dist/commands/validate.d.ts +3 -0
  74. package/dist/commands/validate.d.ts.map +1 -0
  75. package/dist/commands/validate.js +17 -0
  76. package/dist/commands/validate.js.map +1 -0
  77. package/dist/core/archive.d.ts +9 -0
  78. package/dist/core/archive.d.ts.map +1 -0
  79. package/dist/core/archive.js +92 -0
  80. package/dist/core/archive.js.map +1 -0
  81. package/dist/core/branch-check.d.ts +27 -0
  82. package/dist/core/branch-check.d.ts.map +1 -0
  83. package/dist/core/branch-check.js +205 -0
  84. package/dist/core/branch-check.js.map +1 -0
  85. package/dist/core/check.d.ts +24 -0
  86. package/dist/core/check.d.ts.map +1 -0
  87. package/dist/core/check.js +372 -0
  88. package/dist/core/check.js.map +1 -0
  89. package/dist/core/ci.d.ts +24 -0
  90. package/dist/core/ci.d.ts.map +1 -0
  91. package/dist/core/ci.js +162 -0
  92. package/dist/core/ci.js.map +1 -0
  93. package/dist/core/detect.d.ts +10 -0
  94. package/dist/core/detect.d.ts.map +1 -0
  95. package/dist/core/detect.js +368 -0
  96. package/dist/core/detect.js.map +1 -0
  97. package/dist/core/diff.d.ts +29 -0
  98. package/dist/core/diff.d.ts.map +1 -0
  99. package/dist/core/diff.js +197 -0
  100. package/dist/core/diff.js.map +1 -0
  101. package/dist/core/doc-style.d.ts +16 -0
  102. package/dist/core/doc-style.d.ts.map +1 -0
  103. package/dist/core/doc-style.js +192 -0
  104. package/dist/core/doc-style.js.map +1 -0
  105. package/dist/core/docs.d.ts +6 -0
  106. package/dist/core/docs.d.ts.map +1 -0
  107. package/dist/core/docs.js +478 -0
  108. package/dist/core/docs.js.map +1 -0
  109. package/dist/core/health.d.ts +7 -0
  110. package/dist/core/health.d.ts.map +1 -0
  111. package/dist/core/health.js +489 -0
  112. package/dist/core/health.js.map +1 -0
  113. package/dist/core/hooks.d.ts +5 -0
  114. package/dist/core/hooks.d.ts.map +1 -0
  115. package/dist/core/hooks.js +168 -0
  116. package/dist/core/hooks.js.map +1 -0
  117. package/dist/core/init.d.ts +9 -0
  118. package/dist/core/init.d.ts.map +1 -0
  119. package/dist/core/init.js +563 -0
  120. package/dist/core/init.js.map +1 -0
  121. package/dist/core/list.d.ts +4 -0
  122. package/dist/core/list.d.ts.map +1 -0
  123. package/dist/core/list.js +170 -0
  124. package/dist/core/list.js.map +1 -0
  125. package/dist/core/log.d.ts +8 -0
  126. package/dist/core/log.d.ts.map +1 -0
  127. package/dist/core/log.js +150 -0
  128. package/dist/core/log.js.map +1 -0
  129. package/dist/core/map.d.ts +9 -0
  130. package/dist/core/map.d.ts.map +1 -0
  131. package/dist/core/map.js +302 -0
  132. package/dist/core/map.js.map +1 -0
  133. package/dist/core/pr.d.ts +9 -0
  134. package/dist/core/pr.d.ts.map +1 -0
  135. package/dist/core/pr.js +273 -0
  136. package/dist/core/pr.js.map +1 -0
  137. package/dist/core/shared-setup.d.ts +52 -0
  138. package/dist/core/shared-setup.d.ts.map +1 -0
  139. package/dist/core/shared-setup.js +221 -0
  140. package/dist/core/shared-setup.js.map +1 -0
  141. package/dist/core/status.d.ts +6 -0
  142. package/dist/core/status.d.ts.map +1 -0
  143. package/dist/core/status.js +114 -0
  144. package/dist/core/status.js.map +1 -0
  145. package/dist/core/test-quality.d.ts +33 -0
  146. package/dist/core/test-quality.d.ts.map +1 -0
  147. package/dist/core/test-quality.js +378 -0
  148. package/dist/core/test-quality.js.map +1 -0
  149. package/dist/core/trace.d.ts +6 -0
  150. package/dist/core/trace.d.ts.map +1 -0
  151. package/dist/core/trace.js +211 -0
  152. package/dist/core/trace.js.map +1 -0
  153. package/dist/core/update.d.ts +10 -0
  154. package/dist/core/update.d.ts.map +1 -0
  155. package/dist/core/update.js +149 -0
  156. package/dist/core/update.js.map +1 -0
  157. package/dist/core/validate.d.ts +20 -0
  158. package/dist/core/validate.d.ts.map +1 -0
  159. package/dist/core/validate.js +275 -0
  160. package/dist/core/validate.js.map +1 -0
  161. package/dist/index.d.ts +19 -0
  162. package/dist/index.d.ts.map +1 -0
  163. package/dist/index.js +20 -0
  164. package/dist/index.js.map +1 -0
  165. package/dist/utils/config.d.ts +61 -0
  166. package/dist/utils/config.d.ts.map +1 -0
  167. package/dist/utils/config.js +172 -0
  168. package/dist/utils/config.js.map +1 -0
  169. package/dist/utils/fs.d.ts +17 -0
  170. package/dist/utils/fs.d.ts.map +1 -0
  171. package/dist/utils/fs.js +38 -0
  172. package/dist/utils/fs.js.map +1 -0
  173. package/dist/utils/paths.d.ts +10 -0
  174. package/dist/utils/paths.d.ts.map +1 -0
  175. package/dist/utils/paths.js +35 -0
  176. package/dist/utils/paths.js.map +1 -0
  177. package/dist/utils/spawn.d.ts +5 -0
  178. package/dist/utils/spawn.d.ts.map +1 -0
  179. package/dist/utils/spawn.js +34 -0
  180. package/dist/utils/spawn.js.map +1 -0
  181. package/package.json +68 -0
  182. package/skills/grimoire-apply/SKILL.md +274 -0
  183. package/skills/grimoire-audit/SKILL.md +129 -0
  184. package/skills/grimoire-branch-guard/SKILL.md +111 -0
  185. package/skills/grimoire-bug/SKILL.md +160 -0
  186. package/skills/grimoire-bug-explore/SKILL.md +242 -0
  187. package/skills/grimoire-bug-report/SKILL.md +237 -0
  188. package/skills/grimoire-bug-session/SKILL.md +222 -0
  189. package/skills/grimoire-bug-triage/SKILL.md +274 -0
  190. package/skills/grimoire-commit/SKILL.md +150 -0
  191. package/skills/grimoire-discover/SKILL.md +297 -0
  192. package/skills/grimoire-draft/SKILL.md +202 -0
  193. package/skills/grimoire-plan/SKILL.md +329 -0
  194. package/skills/grimoire-pr/SKILL.md +134 -0
  195. package/skills/grimoire-pr-review/SKILL.md +240 -0
  196. package/skills/grimoire-refactor/SKILL.md +251 -0
  197. package/skills/grimoire-remove/SKILL.md +112 -0
  198. package/skills/grimoire-review/SKILL.md +247 -0
  199. package/skills/grimoire-verify/SKILL.md +223 -0
  200. package/skills/references/bug-classification.md +154 -0
  201. package/skills/references/build-vs-buy.md +77 -0
  202. package/skills/references/elicitation-personas.md +118 -0
  203. package/skills/references/refactor-register-format.md +88 -0
  204. package/skills/references/refactor-scan-categories.md +102 -0
  205. package/skills/references/schema-format.md +68 -0
  206. package/skills/references/security-compliance.md +110 -0
  207. package/skills/references/testing-contracts.md +93 -0
  208. package/templates/context.yml +110 -0
  209. package/templates/debt-exceptions.yml +61 -0
  210. package/templates/decision.md +50 -0
  211. package/templates/dupignore +93 -0
  212. package/templates/example.feature +24 -0
  213. package/templates/manifest.md +29 -0
  214. package/templates/mapignore +58 -0
  215. package/templates/mapkeys +65 -0
@@ -0,0 +1,168 @@
1
+ import { readFile, writeFile, mkdir, access, chmod } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import chalk from "chalk";
4
+ /**
5
+ * Generate Claude Code hooks and git hooks for grimoire enforcement.
6
+ */
7
+ export async function setupHooks(root) {
8
+ await setupClaudeHooks(root);
9
+ await setupClaudeSettings(root);
10
+ await setupGitHooks(root);
11
+ }
12
+ /**
13
+ * Generate .claude/hooks.json for Claude Code integration.
14
+ * Pre-commit: run grimoire check on changed files.
15
+ * Post-commit: verify Change: trailer when active grimoire changes exist.
16
+ */
17
+ async function setupClaudeHooks(root) {
18
+ const claudeDir = join(root, ".claude");
19
+ const hooksPath = join(claudeDir, "hooks.json");
20
+ const hooks = {
21
+ hooks: {
22
+ PreCommit: [
23
+ {
24
+ matcher: "*",
25
+ command: "grimoire check --changed --json",
26
+ },
27
+ ],
28
+ PostCommit: [
29
+ {
30
+ matcher: "*",
31
+ command: trailerCheckScript(),
32
+ },
33
+ ],
34
+ },
35
+ };
36
+ await mkdir(claudeDir, { recursive: true });
37
+ if (await exists(hooksPath)) {
38
+ // Merge with existing hooks — don't overwrite user config
39
+ try {
40
+ const existing = JSON.parse(await readFile(hooksPath, "utf-8"));
41
+ const merged = mergeHooks(existing, hooks);
42
+ await writeFile(hooksPath, JSON.stringify(merged, null, 2) + "\n");
43
+ console.log(` ${chalk.blue("merged")} .claude/hooks.json`);
44
+ }
45
+ catch {
46
+ // Existing file is malformed — back it up and replace
47
+ await writeFile(hooksPath + ".bak", await readFile(hooksPath, "utf-8"));
48
+ await writeFile(hooksPath, JSON.stringify(hooks, null, 2) + "\n");
49
+ console.log(` ${chalk.yellow("replaced")} .claude/hooks.json (old file backed up)`);
50
+ }
51
+ }
52
+ else {
53
+ await writeFile(hooksPath, JSON.stringify(hooks, null, 2) + "\n");
54
+ console.log(` ${chalk.green("created")} .claude/hooks.json`);
55
+ }
56
+ }
57
+ /**
58
+ * Generate a standard git pre-commit hook as fallback for non-Claude environments.
59
+ */
60
+ async function setupGitHooks(root) {
61
+ const gitHooksDir = join(root, ".git", "hooks");
62
+ // Only create if .git exists (this is a git repo)
63
+ if (!(await exists(join(root, ".git"))))
64
+ return;
65
+ const preCommitPath = join(gitHooksDir, "pre-commit");
66
+ // Don't overwrite existing hooks
67
+ if (await exists(preCommitPath)) {
68
+ const existing = await readFile(preCommitPath, "utf-8");
69
+ if (existing.includes("grimoire check")) {
70
+ console.log(` ${chalk.yellow("exists")} .git/hooks/pre-commit (already has grimoire)`);
71
+ return;
72
+ }
73
+ // Check if existing hook has exit/exec that would prevent our code from running
74
+ if (/^[^#]*\b(exit\s|exec\s)/m.test(existing)) {
75
+ console.log(` ${chalk.yellow("manual")} .git/hooks/pre-commit contains exit/exec — add manually: grimoire check --changed`);
76
+ return;
77
+ }
78
+ // Append grimoire check to existing hook
79
+ const appended = existing.trimEnd() + "\n\n# Grimoire pre-commit checks\ngrimoire check --changed\n";
80
+ await writeFile(preCommitPath, appended);
81
+ console.log(` ${chalk.blue("appended")} .git/hooks/pre-commit`);
82
+ return;
83
+ }
84
+ await mkdir(gitHooksDir, { recursive: true });
85
+ const hookScript = `#!/bin/sh
86
+ # Grimoire pre-commit checks
87
+ # Generated by grimoire init — safe to customize
88
+
89
+ # Run grimoire checks on changed files
90
+ if command -v grimoire >/dev/null 2>&1; then
91
+ grimoire check --changed
92
+ fi
93
+ `;
94
+ await writeFile(preCommitPath, hookScript);
95
+ await chmod(preCommitPath, 0o755);
96
+ console.log(` ${chalk.green("created")} .git/hooks/pre-commit`);
97
+ }
98
+ const BRANCH_GUARD_COMMAND = "grimoire branch-check --hook";
99
+ const BRANCH_GUARD_MARKER = "grimoire branch-check";
100
+ async function setupClaudeSettings(root) {
101
+ const settingsPath = join(root, ".claude", "settings.json");
102
+ const existed = await exists(settingsPath);
103
+ let settings = {};
104
+ let wasMalformed = false;
105
+ if (existed) {
106
+ const raw = await readFile(settingsPath, "utf-8");
107
+ try {
108
+ settings = JSON.parse(raw);
109
+ }
110
+ catch {
111
+ await writeFile(settingsPath + ".bak", raw);
112
+ wasMalformed = true;
113
+ settings = {};
114
+ }
115
+ }
116
+ const hooks = settings.hooks ?? {};
117
+ const userPromptSubmit = hooks.UserPromptSubmit ?? [];
118
+ const alreadyWired = userPromptSubmit.some((entry) => entry.hooks?.some((h) => h.command?.includes(BRANCH_GUARD_MARKER)));
119
+ if (alreadyWired) {
120
+ console.log(` ${chalk.yellow("exists")} .claude/settings.json (UserPromptSubmit branch-check)`);
121
+ return;
122
+ }
123
+ userPromptSubmit.push({
124
+ hooks: [{ type: "command", command: BRANCH_GUARD_COMMAND }],
125
+ });
126
+ hooks.UserPromptSubmit = userPromptSubmit;
127
+ settings.hooks = hooks;
128
+ await mkdir(join(root, ".claude"), { recursive: true });
129
+ await writeFile(settingsPath, JSON.stringify(settings, null, 2) + "\n");
130
+ let verb;
131
+ if (!existed)
132
+ verb = "created";
133
+ else if (wasMalformed)
134
+ verb = "replaced";
135
+ else
136
+ verb = "updated";
137
+ console.log(` ${chalk[verb === "created" ? "green" : verb === "replaced" ? "yellow" : "blue"](verb)} .claude/settings.json (UserPromptSubmit branch-check)`);
138
+ }
139
+ function trailerCheckScript() {
140
+ // Inline shell command that checks for Change: trailer
141
+ // Only enforces when there are active grimoire changes
142
+ return `sh -c 'if [ -d .grimoire/changes ] && [ "$(ls -A .grimoire/changes 2>/dev/null)" ]; then TRAILER=$(git log -1 --format="%(trailers:key=Change)" 2>/dev/null); if [ -z "$TRAILER" ]; then echo "WARNING: Commit is missing Change: trailer. Active grimoire changes exist."; fi; fi'`;
143
+ }
144
+ function mergeHooks(existing, additions) {
145
+ const merged = {
146
+ hooks: { ...existing.hooks },
147
+ };
148
+ for (const [phase, entries] of Object.entries(additions.hooks)) {
149
+ const key = phase;
150
+ const existingEntries = merged.hooks[key] ?? [];
151
+ const newEntries = entries ?? [];
152
+ // Only add entries that don't already exist (by command)
153
+ const existingCommands = new Set(existingEntries.map((e) => e.command));
154
+ const toAdd = newEntries.filter((e) => !existingCommands.has(e.command));
155
+ merged.hooks[key] = [...existingEntries, ...toAdd];
156
+ }
157
+ return merged;
158
+ }
159
+ async function exists(path) {
160
+ try {
161
+ await access(path);
162
+ return true;
163
+ }
164
+ catch {
165
+ return false;
166
+ }
167
+ }
168
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAe;QACxB,KAAK,EAAE;YACL,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,iCAAiC;iBAC3C;aACF;YACD,UAAU,EAAE;gBACV;oBACE,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,kBAAkB,EAAE;iBAC9B;aACF;SACF;KACF,CAAC;IAEF,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAe,CAAC;YAC9E,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;YACtD,MAAM,SAAS,CAAC,SAAS,GAAG,MAAM,EAAE,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YACxE,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,0CAA0C,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhD,kDAAkD;IAClD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO;IAEhD,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEtD,iCAAiC;IACjC,IAAI,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,gFAAgF;QAChF,IAAI,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,qFAAqF,CAAC,CAAC;YAC9H,OAAO;QACT,CAAC;QACD,yCAAyC;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,8DAA8D,CAAC;QACrG,MAAM,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG;;;;;;;;CAQpB,CAAC;IAEA,MAAM,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;AACnE,CAAC;AAiBD,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAC5D,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAEpD,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAE3C,IAAI,QAAQ,GAAmB,EAAE,CAAC;IAClC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,SAAS,CAAC,YAAY,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5C,YAAY,GAAG,IAAI,CAAC;YACpB,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAEtD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACnD,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CACnE,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,yDAAyD,CAAC,CAAC;QAClG,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,IAAI,CAAC;QACpB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAEvB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAExE,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC,OAAO;QAAE,IAAI,GAAG,SAAS,CAAC;SAC1B,IAAI,YAAY;QAAE,IAAI,GAAG,UAAU,CAAC;;QACpC,IAAI,GAAG,SAAS,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;AAChK,CAAC;AAED,SAAS,kBAAkB;IACzB,uDAAuD;IACvD,uDAAuD;IACvD,OAAO,qRAAqR,CAAC;AAC/R,CAAC;AAED,SAAS,UAAU,CAAC,QAAoB,EAAE,SAAqB;IAC7D,MAAM,MAAM,GAAe;QACzB,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE;KAC7B,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,KAAkC,CAAC;QAC/C,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,IAAI,EAAE,CAAC;QAEjC,yDAAyD;QACzD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAEzE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ interface InitOptions {
2
+ skipAgents: boolean;
3
+ skipSkills: boolean;
4
+ noDetect: boolean;
5
+ agents: string[];
6
+ }
7
+ export declare function initProject(projectPath: string, options: InitOptions): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/core/init.ts"],"names":[],"mappings":"AA4BA,UAAU,WAAW;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAkCD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA4Ff"}