@mmnto/cli 1.4.2 → 1.5.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 (109) hide show
  1. package/dist/adapters/gh-utils.d.ts.map +1 -1
  2. package/dist/adapters/gh-utils.js +14 -11
  3. package/dist/adapters/gh-utils.js.map +1 -1
  4. package/dist/adapters/gh-utils.test.js +22 -1
  5. package/dist/adapters/gh-utils.test.js.map +1 -1
  6. package/dist/assets/baseline-packs.d.ts +16 -0
  7. package/dist/assets/baseline-packs.d.ts.map +1 -0
  8. package/dist/assets/baseline-packs.js +137 -0
  9. package/dist/assets/baseline-packs.js.map +1 -0
  10. package/dist/commands/compile.d.ts +1 -0
  11. package/dist/commands/compile.d.ts.map +1 -1
  12. package/dist/commands/compile.js +153 -179
  13. package/dist/commands/compile.js.map +1 -1
  14. package/dist/commands/config-drift.test.js +5 -4
  15. package/dist/commands/config-drift.test.js.map +1 -1
  16. package/dist/commands/docs.d.ts +7 -0
  17. package/dist/commands/docs.d.ts.map +1 -1
  18. package/dist/commands/docs.js +16 -5
  19. package/dist/commands/docs.js.map +1 -1
  20. package/dist/commands/docs.test.js +53 -1
  21. package/dist/commands/docs.test.js.map +1 -1
  22. package/dist/commands/doctor.d.ts +15 -0
  23. package/dist/commands/doctor.d.ts.map +1 -0
  24. package/dist/commands/doctor.js +409 -0
  25. package/dist/commands/doctor.js.map +1 -0
  26. package/dist/commands/doctor.test.d.ts +2 -0
  27. package/dist/commands/doctor.test.d.ts.map +1 -0
  28. package/dist/commands/doctor.test.js +269 -0
  29. package/dist/commands/doctor.test.js.map +1 -0
  30. package/dist/commands/extract.d.ts.map +1 -1
  31. package/dist/commands/extract.js +8 -1
  32. package/dist/commands/extract.js.map +1 -1
  33. package/dist/commands/init-detect.d.ts +5 -0
  34. package/dist/commands/init-detect.d.ts.map +1 -1
  35. package/dist/commands/init-detect.js +52 -0
  36. package/dist/commands/init-detect.js.map +1 -1
  37. package/dist/commands/init-templates.d.ts +16 -1
  38. package/dist/commands/init-templates.d.ts.map +1 -1
  39. package/dist/commands/init-templates.js +80 -0
  40. package/dist/commands/init-templates.js.map +1 -1
  41. package/dist/commands/init.d.ts +3 -2
  42. package/dist/commands/init.d.ts.map +1 -1
  43. package/dist/commands/init.js +52 -14
  44. package/dist/commands/init.js.map +1 -1
  45. package/dist/commands/init.test.js +112 -0
  46. package/dist/commands/init.test.js.map +1 -1
  47. package/dist/commands/install-hooks.d.ts +24 -3
  48. package/dist/commands/install-hooks.d.ts.map +1 -1
  49. package/dist/commands/install-hooks.js +105 -57
  50. package/dist/commands/install-hooks.js.map +1 -1
  51. package/dist/commands/install-hooks.test.js +137 -20
  52. package/dist/commands/install-hooks.test.js.map +1 -1
  53. package/dist/commands/list.d.ts +3 -0
  54. package/dist/commands/list.d.ts.map +1 -0
  55. package/dist/commands/list.js +44 -0
  56. package/dist/commands/list.js.map +1 -0
  57. package/dist/commands/list.test.d.ts +2 -0
  58. package/dist/commands/list.test.d.ts.map +1 -0
  59. package/dist/commands/list.test.js +131 -0
  60. package/dist/commands/list.test.js.map +1 -0
  61. package/dist/commands/run-compiled-rules.d.ts +1 -2
  62. package/dist/commands/run-compiled-rules.d.ts.map +1 -1
  63. package/dist/commands/run-compiled-rules.js +1 -2
  64. package/dist/commands/run-compiled-rules.js.map +1 -1
  65. package/dist/commands/shield-hints.d.ts +6 -0
  66. package/dist/commands/shield-hints.d.ts.map +1 -0
  67. package/dist/commands/shield-hints.js +44 -0
  68. package/dist/commands/shield-hints.js.map +1 -0
  69. package/dist/commands/shield-hints.test.d.ts +2 -0
  70. package/dist/commands/shield-hints.test.d.ts.map +1 -0
  71. package/dist/commands/shield-hints.test.js +151 -0
  72. package/dist/commands/shield-hints.test.js.map +1 -0
  73. package/dist/commands/shield.d.ts +6 -4
  74. package/dist/commands/shield.d.ts.map +1 -1
  75. package/dist/commands/shield.js +72 -33
  76. package/dist/commands/shield.js.map +1 -1
  77. package/dist/commands/shield.test.js +34 -3
  78. package/dist/commands/shield.test.js.map +1 -1
  79. package/dist/commands/sync.d.ts.map +1 -1
  80. package/dist/commands/sync.js +18 -1
  81. package/dist/commands/sync.js.map +1 -1
  82. package/dist/commands/sync.test.js +17 -1
  83. package/dist/commands/sync.test.js.map +1 -1
  84. package/dist/index.js +32 -5
  85. package/dist/index.js.map +1 -1
  86. package/dist/orchestrators/anthropic-orchestrator.d.ts.map +1 -1
  87. package/dist/orchestrators/anthropic-orchestrator.js +1 -0
  88. package/dist/orchestrators/anthropic-orchestrator.js.map +1 -1
  89. package/dist/orchestrators/gemini-orchestrator.d.ts.map +1 -1
  90. package/dist/orchestrators/gemini-orchestrator.js +4 -1
  91. package/dist/orchestrators/gemini-orchestrator.js.map +1 -1
  92. package/dist/orchestrators/ollama-orchestrator.d.ts.map +1 -1
  93. package/dist/orchestrators/ollama-orchestrator.js +8 -4
  94. package/dist/orchestrators/ollama-orchestrator.js.map +1 -1
  95. package/dist/orchestrators/openai-orchestrator.d.ts.map +1 -1
  96. package/dist/orchestrators/openai-orchestrator.js +1 -0
  97. package/dist/orchestrators/openai-orchestrator.js.map +1 -1
  98. package/dist/orchestrators/orchestrator.d.ts +2 -0
  99. package/dist/orchestrators/orchestrator.d.ts.map +1 -1
  100. package/dist/orchestrators/orchestrator.js.map +1 -1
  101. package/dist/ui.js +2 -2
  102. package/dist/ui.js.map +1 -1
  103. package/dist/utils.d.ts +11 -3
  104. package/dist/utils.d.ts.map +1 -1
  105. package/dist/utils.js +68 -14
  106. package/dist/utils.js.map +1 -1
  107. package/dist/utils.test.js +52 -3
  108. package/dist/utils.test.js.map +1 -1
  109. package/package.json +5 -3
@@ -161,4 +161,84 @@ ${orchestratorBlock}
161
161
  export default config;
162
162
  `;
163
163
  }
164
+ /**
165
+ * Build a plain config object suitable for YAML/TOML serialization.
166
+ */
167
+ async function buildConfigObject(targets, embeddingTier, cwd) {
168
+ const { detectOrchestrator } = await import('./init-detect.js');
169
+ const { DEFAULT_IGNORE_PATTERNS } = await import('@mmnto/totem');
170
+ const config = {
171
+ targets: targets.map((t) => {
172
+ const entry = { glob: t.glob, type: t.type };
173
+ if (t.strategy)
174
+ entry['strategy'] = t.strategy;
175
+ return entry;
176
+ }),
177
+ ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],
178
+ };
179
+ // Embedding
180
+ switch (embeddingTier) {
181
+ case 'openai':
182
+ config['embedding'] = { provider: 'openai', model: 'text-embedding-3-small' };
183
+ break;
184
+ case 'ollama':
185
+ config['embedding'] = {
186
+ provider: 'ollama',
187
+ model: 'nomic-embed-text',
188
+ baseUrl: 'http://localhost:11434',
189
+ };
190
+ break;
191
+ case 'gemini':
192
+ config['embedding'] = {
193
+ provider: 'gemini',
194
+ model: 'gemini-embedding-2-preview',
195
+ dimensions: 768,
196
+ };
197
+ break;
198
+ }
199
+ // Orchestrator
200
+ const orchestrator = detectOrchestrator(cwd);
201
+ if (orchestrator) {
202
+ config['orchestrator'] = orchestrator.config;
203
+ }
204
+ return config;
205
+ }
206
+ /**
207
+ * Generate a YAML configuration file.
208
+ */
209
+ export async function generateYamlConfig(targets, embeddingTier, cwd) {
210
+ const { stringify } = await import('yaml');
211
+ const config = await buildConfigObject(targets, embeddingTier, cwd);
212
+ return `# Totem configuration — https://github.com/mmnto-ai/totem\n${stringify(config)}`;
213
+ }
214
+ /**
215
+ * Generate a TOML configuration file.
216
+ */
217
+ export async function generateTomlConfig(targets, embeddingTier, cwd) {
218
+ const { stringify } = await import('smol-toml');
219
+ const config = await buildConfigObject(targets, embeddingTier, cwd);
220
+ return `# Totem configuration — https://github.com/mmnto-ai/totem\n${stringify(config)}`;
221
+ }
222
+ /**
223
+ * Generate config in the specified format.
224
+ */
225
+ export async function generateConfigForFormat(format, targets, embeddingTier, cwd) {
226
+ switch (format) {
227
+ case 'yaml':
228
+ return {
229
+ content: await generateYamlConfig(targets, embeddingTier, cwd),
230
+ filename: 'totem.yaml',
231
+ };
232
+ case 'toml':
233
+ return {
234
+ content: await generateTomlConfig(targets, embeddingTier, cwd),
235
+ filename: 'totem.toml',
236
+ };
237
+ default:
238
+ return {
239
+ content: await generateConfig(targets, embeddingTier, cwd),
240
+ filename: 'totem.config.ts',
241
+ };
242
+ }
243
+ }
164
244
  //# sourceMappingURL=init-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,qEAAqE;AAMrE,6DAA6D;AAC7D,+EAA+E;AAC/E,sEAAsE;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,6BAA6B,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uCAAuC,CAAC;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,0CAA0C,CAAC;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG;EAC7B,YAAY;8BACgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC1C,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,oCAAoC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;CAcnC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;CAejC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;CAU3B,CAAC;AAEF,qCAAqC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;CAYjC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,MAAM;IACf,KAAK,EAAE;QACL;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mCAAmC;SAC7C;KACF;CACF,CAAC;AAEF,2DAA2D;AAE3D,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,aAA4B,EAC5B,GAAW;IAEX,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC/E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,cAAsB,CAAC;IAC3B,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,cAAc,GAAG,uEAAuE,CAAC;YACzF,MAAM;QACR,KAAK,QAAQ;YACX,cAAc,GAAG,oGAAoG,CAAC;YACtH,MAAM;QACR,KAAK,QAAQ;YACX,cAAc,GAAG,4FAA4F,CAAC;YAC9G,MAAM;QACR,KAAK,MAAM;YACT,cAAc,GAAG,mXAAmX,CAAC;YACrY,MAAM;IACV,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GAAG,YAAY;QACpC,CAAC,CAAC,KAAK,YAAY,CAAC,KAAK,EAAE;QAC3B,CAAC,CAAC,qFAAqF,CAAC;IAE1F,OAAO;;;;EAIP,aAAa,CAAC,OAAO,CAAC;;;EAGtB,cAAc;;;EAGd,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAE5D,iBAAiB;;;;CAIlB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import * as readline from 'node:readline/promises';
2
+ import { type Ecosystem } from './init-detect.js';
2
3
  export type { AiToolInfo, HookInstallerResult } from './init-detect.js';
3
4
  export { buildNpxCommand, detectEmbeddingTier } from './init-detect.js';
4
- export { AI_PROMPT_BLOCK, generateConfig, REFLEX_VERSION } from './init-templates.js';
5
+ export { AI_PROMPT_BLOCK, generateConfig, generateConfigForFormat, REFLEX_VERSION, } from './init-templates.js';
5
6
  /**
6
7
  * Scaffold a file with idempotency — skips if the marker is already present.
7
8
  * Creates parent directories as needed.
@@ -27,7 +28,7 @@ export declare function scaffoldMcpConfig(filePath: string, serverEntry: Record<
27
28
  * Returns 'installed', 'exists' (already present), or 'skipped' (user declined).
28
29
  * In non-TTY mode (CI), defaults to installing without prompting.
29
30
  */
30
- export declare function installBaselineLessons(baselinePath: string, rl: readline.Interface): Promise<'installed' | 'exists' | 'skipped'>;
31
+ export declare function installBaselineLessons(baselinePath: string, rl: readline.Interface, ecosystems?: Ecosystem[]): Promise<'installed' | 'exists' | 'skipped'>;
31
32
  export type ReflexStatus = 'current' | 'outdated' | 'missing';
32
33
  /** Detect whether the reflex block in a file is current, outdated, or missing. */
33
34
  export declare function detectReflexStatus(content: string): ReflexStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAuCnD,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEtF;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAA0B,GACjC;IAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAqB5D;AAgED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACrD,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAuDA;AA8BD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC;IAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAoD5D;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,QAAQ,CAAC,SAAS,GACrB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAiC7C;AAID,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAchE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CA+BpF;AAgCD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8Y7E"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAWnD,OAAO,EAOL,KAAK,SAAS,EAGf,MAAM,kBAAkB,CAAC;AAkB1B,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAA0B,GACjC;IAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAqB5D;AAgED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACrD,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAuDA;AA8BD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC;IAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAoD5D;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,QAAQ,CAAC,SAAS,EACtB,UAAU,CAAC,EAAE,SAAS,EAAE,GACvB,OAAO,CAAC,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CA+D7C;AAID,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAchE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CA+BpF;AAgCD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqa7E"}
@@ -3,13 +3,13 @@ import * as path from 'node:path';
3
3
  import { stdin as input, stdout as output } from 'node:process';
4
4
  import * as readline from 'node:readline/promises';
5
5
  import { z } from 'zod';
6
- import { UNIVERSAL_BASELINE_MARKDOWN, UNIVERSAL_BASELINE_MARKER, } from '../assets/universal-baseline.js';
6
+ import { UNIVERSAL_BASELINE_LESSONS, UNIVERSAL_BASELINE_MARKER, } from '../assets/universal-baseline.js';
7
7
  import { bold, brand, dim, log, printBanner, success } from '../ui.js';
8
8
  import { AI_TOOLS, buildTargets, detectAiTools, detectEmbeddingTier, detectProject, } from './init-detect.js';
9
- import { AI_PROMPT_BLOCK, CLAUDE_PRETOOLUSE_ENTRY, CLAUDE_SHIELD_GATE, GEMINI_BEFORE_TOOL, GEMINI_SESSION_START, GEMINI_SKILL, generateConfig, LEGACY_SENTINEL, REFLEX_END, REFLEX_START, REFLEX_VERSION, REFLEX_VERSION_RE, TOTEM_FILE_MARKER, } from './init-templates.js';
9
+ import { AI_PROMPT_BLOCK, CLAUDE_PRETOOLUSE_ENTRY, CLAUDE_SHIELD_GATE, GEMINI_BEFORE_TOOL, GEMINI_SESSION_START, GEMINI_SKILL, LEGACY_SENTINEL, REFLEX_END, REFLEX_START, REFLEX_VERSION, REFLEX_VERSION_RE, TOTEM_FILE_MARKER, } from './init-templates.js';
10
10
  import { installEnforcementHooks, installPostMergeHook } from './install-hooks.js';
11
11
  export { buildNpxCommand, detectEmbeddingTier } from './init-detect.js';
12
- export { AI_PROMPT_BLOCK, generateConfig, REFLEX_VERSION } from './init-templates.js';
12
+ export { AI_PROMPT_BLOCK, generateConfig, generateConfigForFormat, REFLEX_VERSION, } from './init-templates.js';
13
13
  /**
14
14
  * Scaffold a file with idempotency — skips if the marker is already present.
15
15
  * Creates parent directories as needed.
@@ -210,7 +210,7 @@ export function scaffoldMcpConfig(filePath, serverEntry) {
210
210
  * Returns 'installed', 'exists' (already present), or 'skipped' (user declined).
211
211
  * In non-TTY mode (CI), defaults to installing without prompting.
212
212
  */
213
- export async function installBaselineLessons(baselinePath, rl) {
213
+ export async function installBaselineLessons(baselinePath, rl, ecosystems) {
214
214
  try {
215
215
  if (fs.existsSync(baselinePath)) {
216
216
  const existing = fs.readFileSync(baselinePath, 'utf-8');
@@ -221,7 +221,7 @@ export async function installBaselineLessons(baselinePath, rl) {
221
221
  // In non-TTY mode (CI, piped input), default to installing
222
222
  let declined = false;
223
223
  if (process.stdin.isTTY) {
224
- const answer = await rl.question('Install Universal AI Developer Baseline lessons? (Y/n): ');
224
+ const answer = await rl.question('Install baseline lessons? (Y/n): ');
225
225
  declined = answer.trim().toLowerCase() === 'n' || answer.trim().toLowerCase() === 'no';
226
226
  }
227
227
  if (declined)
@@ -230,7 +230,31 @@ export async function installBaselineLessons(baselinePath, rl) {
230
230
  if (!fs.existsSync(dir)) {
231
231
  fs.mkdirSync(dir, { recursive: true });
232
232
  }
233
- fs.writeFileSync(baselinePath, UNIVERSAL_BASELINE_MARKDOWN, 'utf-8');
233
+ // Build combined baseline: universal (core + JS) + detected ecosystem packs
234
+ const { PYTHON_BASELINE, RUST_BASELINE, GO_BASELINE } = await import('../assets/baseline-packs.js');
235
+ const allLessons = [...UNIVERSAL_BASELINE_LESSONS];
236
+ const packs = [];
237
+ if (ecosystems?.includes('python')) {
238
+ allLessons.push(...PYTHON_BASELINE);
239
+ packs.push('Python');
240
+ }
241
+ if (ecosystems?.includes('rust')) {
242
+ allLessons.push(...RUST_BASELINE);
243
+ packs.push('Rust');
244
+ }
245
+ if (ecosystems?.includes('go')) {
246
+ allLessons.push(...GO_BASELINE);
247
+ packs.push('Go');
248
+ }
249
+ if (packs.length > 0) {
250
+ log.info('Totem', `Adding ${packs.join(', ')} baseline lessons`);
251
+ }
252
+ const markdown = [
253
+ UNIVERSAL_BASELINE_MARKER,
254
+ '',
255
+ ...allLessons.map((l) => `## Lesson — ${l.heading}\n\n**Tags:** ${l.tags.join(', ')}\n\n${l.body}`),
256
+ ].join('\n\n');
257
+ fs.writeFileSync(baselinePath, markdown, 'utf-8');
234
258
  return 'installed';
235
259
  }
236
260
  catch (err) {
@@ -315,9 +339,11 @@ function applyReflexUpgrade(filePath) {
315
339
  }
316
340
  export async function initCommand(options) {
317
341
  const cwd = process.cwd();
318
- const configPath = path.join(cwd, 'totem.config.ts');
342
+ const { CONFIG_FILES } = await import('../utils.js');
319
343
  const totemDir = path.join(cwd, '.totem');
320
- const configExists = fs.existsSync(configPath);
344
+ // Check if ANY config format already exists
345
+ const existingConfig = CONFIG_FILES.map((f) => path.join(cwd, f)).find((p) => fs.existsSync(p));
346
+ const configExists = !!existingConfig;
321
347
  const rl = readline.createInterface({ input, output });
322
348
  const summary = [];
323
349
  try {
@@ -401,7 +427,10 @@ export async function initCommand(options) {
401
427
  log.dim('Totem', 'Set OPENAI_API_KEY and re-run `totem init` to unlock sync/search/shield.');
402
428
  }
403
429
  }
404
- const configContent = await generateConfig(targets, embeddingTier, cwd);
430
+ const { generateConfigForFormat } = await import('./init-templates.js');
431
+ const detected = detectProject(cwd);
432
+ const { content: configContent, filename: configFilename } = await generateConfigForFormat(detected.preferredConfigFormat, targets, embeddingTier, cwd);
433
+ const configPath = path.join(cwd, configFilename);
405
434
  fs.writeFileSync(configPath, configContent, 'utf-8');
406
435
  const tierLabel = embeddingTier === 'none'
407
436
  ? 'Lite'
@@ -409,12 +438,13 @@ export async function initCommand(options) {
409
438
  ? 'Standard'
410
439
  : 'Standard (Ollama)';
411
440
  summary.push({
412
- file: 'totem.config.ts',
441
+ file: configFilename,
413
442
  action: `Created with auto-detected targets (${tierLabel} tier)`,
414
443
  });
415
444
  }
416
445
  else {
417
- log.dim('Totem', 'totem.config.ts already exists. Checking reflexes and hooks...');
446
+ const configName = existingConfig ? path.basename(existingConfig) : 'config';
447
+ log.dim('Totem', `${configName} already exists. Checking reflexes and hooks...`);
418
448
  }
419
449
  // --- Always run: .totem/ directory ---
420
450
  if (!fs.existsSync(totemDir)) {
@@ -430,14 +460,22 @@ export async function initCommand(options) {
430
460
  }
431
461
  summary.push({ file: '.totem/lessons/', action: 'Created lessons directory' });
432
462
  }
433
- // --- Universal Lessons baseline ---
463
+ // --- Baseline lessons (core + detected ecosystem packs) ---
434
464
  const baselinePath = path.join(lessonsDir, 'baseline.md');
435
- const baselineResult = await installBaselineLessons(baselinePath, rl);
465
+ const detectedEcosystems = detectProject(cwd).ecosystems;
466
+ const baselineResult = await installBaselineLessons(baselinePath, rl, detectedEcosystems);
436
467
  if (baselineResult === 'installed') {
468
+ const extraPacks = detectedEcosystems.filter((e) => e !== 'javascript');
469
+ const packLabel = extraPacks.length > 0 ? ` + ${extraPacks.join(', ')}` : '';
437
470
  summary.push({
438
471
  file: '.totem/lessons/baseline.md',
439
- action: 'Installed Universal Baseline lessons',
472
+ action: `Installed baseline lessons (core${packLabel})`,
440
473
  });
474
+ // Non-JS packs don't have pre-compiled rules yet — tell the user
475
+ const uncompiledPacks = detectedEcosystems.filter((e) => e !== 'javascript');
476
+ if (uncompiledPacks.length > 0) {
477
+ log.dim('Totem', `${uncompiledPacks.join(', ')} lessons require compilation. Run \`totem compile\` to generate lint rules.`);
478
+ }
441
479
  }
442
480
  // --- Pre-compiled baseline rules (zero-LLM protection from Day 1) ---
443
481
  let baselineRuleCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import * as path from 'node:path';
4
4
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
5
  import { UNIVERSAL_BASELINE_LESSONS, UNIVERSAL_BASELINE_MARKDOWN, UNIVERSAL_BASELINE_MARKER, } from '../assets/universal-baseline.js';
6
6
  import { buildNpxCommand, detectEmbeddingTier, detectReflexStatus, generateConfig, installBaselineLessons, REFLEX_VERSION, scaffoldClaudeHooks, scaffoldFile, scaffoldMcpConfig, upgradeReflexes, } from './init.js';
7
+ import { detectProject } from './init-detect.js';
8
+ import { generateConfigForFormat } from './init-templates.js';
7
9
  const SERVER_ENTRY = { type: 'stdio', command: 'npx', args: ['-y', '@mmnto/mcp'] };
8
10
  describe('buildNpxCommand', () => {
9
11
  it('returns cmd /c npx on Windows', () => {
@@ -644,4 +646,114 @@ describe('REFLEX_VERSION', () => {
644
646
  expect(REFLEX_VERSION).toBeGreaterThanOrEqual(2);
645
647
  });
646
648
  });
649
+ // ─── detectProject config format preference ─────────
650
+ describe('detectProject preferredConfigFormat', () => {
651
+ let tmpDir;
652
+ beforeEach(() => {
653
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-detect-'));
654
+ });
655
+ afterEach(() => {
656
+ fs.rmSync(tmpDir, { recursive: true, force: true });
657
+ });
658
+ it('prefers ts for Node.js projects with package.json', () => {
659
+ fs.writeFileSync(path.join(tmpDir, 'package.json'), '{}');
660
+ expect(detectProject(tmpDir).preferredConfigFormat).toBe('ts');
661
+ });
662
+ it('prefers toml for Rust projects with Cargo.toml', () => {
663
+ fs.writeFileSync(path.join(tmpDir, 'Cargo.toml'), '[package]\nname = "test"');
664
+ expect(detectProject(tmpDir).preferredConfigFormat).toBe('toml');
665
+ });
666
+ it('prefers toml for Python projects with pyproject.toml', () => {
667
+ fs.writeFileSync(path.join(tmpDir, 'pyproject.toml'), '[project]\nname = "test"');
668
+ expect(detectProject(tmpDir).preferredConfigFormat).toBe('toml');
669
+ });
670
+ it('prefers yaml for Go projects', () => {
671
+ fs.writeFileSync(path.join(tmpDir, 'go.mod'), 'module example.com/test');
672
+ expect(detectProject(tmpDir).preferredConfigFormat).toBe('yaml');
673
+ });
674
+ it('defaults to yaml for unknown ecosystems', () => {
675
+ expect(detectProject(tmpDir).preferredConfigFormat).toBe('yaml');
676
+ });
677
+ });
678
+ // ─── detectProject ecosystem detection ──────────────
679
+ describe('detectProject ecosystems', () => {
680
+ let tmpDir;
681
+ beforeEach(() => {
682
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-eco-'));
683
+ });
684
+ afterEach(() => {
685
+ fs.rmSync(tmpDir, { recursive: true, force: true });
686
+ });
687
+ it('detects javascript from package.json', () => {
688
+ fs.writeFileSync(path.join(tmpDir, 'package.json'), '{}');
689
+ expect(detectProject(tmpDir).ecosystems).toContain('javascript');
690
+ });
691
+ it('detects rust from Cargo.toml', () => {
692
+ fs.writeFileSync(path.join(tmpDir, 'Cargo.toml'), '[package]');
693
+ expect(detectProject(tmpDir).ecosystems).toContain('rust');
694
+ });
695
+ it('detects python from pyproject.toml', () => {
696
+ fs.writeFileSync(path.join(tmpDir, 'pyproject.toml'), '[project]');
697
+ expect(detectProject(tmpDir).ecosystems).toContain('python');
698
+ });
699
+ it('detects go from go.mod', () => {
700
+ fs.writeFileSync(path.join(tmpDir, 'go.mod'), 'module example.com');
701
+ expect(detectProject(tmpDir).ecosystems).toContain('go');
702
+ });
703
+ it('detects multiple ecosystems in monorepo', () => {
704
+ fs.writeFileSync(path.join(tmpDir, 'package.json'), '{}');
705
+ fs.writeFileSync(path.join(tmpDir, 'Cargo.toml'), '[package]');
706
+ const ecosystems = detectProject(tmpDir).ecosystems;
707
+ expect(ecosystems).toContain('javascript');
708
+ expect(ecosystems).toContain('rust');
709
+ });
710
+ it('returns empty list for unknown project', () => {
711
+ expect(detectProject(tmpDir).ecosystems).toEqual([]);
712
+ });
713
+ });
714
+ // ─── baseline packs ─────────────────────────────────
715
+ describe('baseline packs', () => {
716
+ it('exports non-empty packs for all ecosystems', async () => {
717
+ const { PYTHON_BASELINE, RUST_BASELINE, GO_BASELINE } = await import('../assets/baseline-packs.js');
718
+ expect(PYTHON_BASELINE.length).toBeGreaterThan(0);
719
+ expect(RUST_BASELINE.length).toBeGreaterThan(0);
720
+ expect(GO_BASELINE.length).toBeGreaterThan(0);
721
+ });
722
+ it('all lessons have heading, tags, and body', async () => {
723
+ const { PYTHON_BASELINE, RUST_BASELINE, GO_BASELINE } = await import('../assets/baseline-packs.js');
724
+ for (const lesson of [...PYTHON_BASELINE, ...RUST_BASELINE, ...GO_BASELINE]) {
725
+ expect(lesson.heading).toBeTruthy();
726
+ expect(lesson.tags.length).toBeGreaterThan(0);
727
+ expect(lesson.body).toBeTruthy();
728
+ }
729
+ });
730
+ });
731
+ // ─── generateConfigForFormat ────────────────────────
732
+ describe('generateConfigForFormat', () => {
733
+ let tmpDir;
734
+ beforeEach(() => {
735
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-gencfg-'));
736
+ });
737
+ afterEach(() => {
738
+ fs.rmSync(tmpDir, { recursive: true, force: true });
739
+ });
740
+ const targets = [{ glob: '**/*.py', type: 'code', strategy: 'typescript-ast' }];
741
+ it('generates valid YAML config', async () => {
742
+ const { content, filename } = await generateConfigForFormat('yaml', targets, 'none', tmpDir);
743
+ expect(filename).toBe('totem.yaml');
744
+ expect(content).toContain('**/*.py');
745
+ expect(content).toContain('# Totem configuration');
746
+ });
747
+ it('generates valid TOML config', async () => {
748
+ const { content, filename } = await generateConfigForFormat('toml', targets, 'none', tmpDir);
749
+ expect(filename).toBe('totem.toml');
750
+ expect(content).toContain('**/*.py');
751
+ expect(content).toContain('# Totem configuration');
752
+ });
753
+ it('generates TS config for ts format', async () => {
754
+ const { content, filename } = await generateConfigForFormat('ts', targets, 'none', tmpDir);
755
+ expect(filename).toBe('totem.config.ts');
756
+ expect(content).toContain('import type');
757
+ });
758
+ });
647
759
  //# sourceMappingURL=init.test.js.map