strikethroo 3.15.0 → 3.16.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 (78) hide show
  1. package/README.md +40 -28
  2. package/dist/cli.js +19 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/export-profile.d.ts +50 -0
  5. package/dist/export-profile.d.ts.map +1 -0
  6. package/dist/export-profile.js +321 -0
  7. package/dist/export-profile.js.map +1 -0
  8. package/dist/harnesses/registry.d.ts +4 -2
  9. package/dist/harnesses/registry.d.ts.map +1 -1
  10. package/dist/harnesses/registry.js +4 -2
  11. package/dist/harnesses/registry.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +110 -6
  14. package/dist/index.js.map +1 -1
  15. package/dist/profiles.d.ts +163 -0
  16. package/dist/profiles.d.ts.map +1 -0
  17. package/dist/profiles.js +561 -0
  18. package/dist/profiles.js.map +1 -0
  19. package/dist/types.d.ts +37 -0
  20. package/dist/types.d.ts.map +1 -1
  21. package/dist/types.js +15 -1
  22. package/dist/types.js.map +1 -1
  23. package/dist-web/assets/{arc-DXuQKY5O.js → arc-BdcMr5jd.js} +1 -1
  24. package/dist-web/assets/{architectureDiagram-3BPJPVTR-DaQd1Ie5.js → architectureDiagram-3BPJPVTR-BnAmTcHT.js} +1 -1
  25. package/dist-web/assets/{blockDiagram-GPEHLZMM-BTAxxxkx.js → blockDiagram-GPEHLZMM-BNFpMb7h.js} +1 -1
  26. package/dist-web/assets/{c4Diagram-AAUBKEIU-DHuDwl7F.js → c4Diagram-AAUBKEIU-a3uHdFFh.js} +1 -1
  27. package/dist-web/assets/channel-B1AegTsJ.js +1 -0
  28. package/dist-web/assets/{chunk-2J33WTMH-BD4uHGPG.js → chunk-2J33WTMH-Cb1rS3F_.js} +1 -1
  29. package/dist-web/assets/{chunk-4BX2VUAB-BqVSB0Q4.js → chunk-4BX2VUAB-Cbu2WwHh.js} +1 -1
  30. package/dist-web/assets/{chunk-55IACEB6-F-aB1oSz.js → chunk-55IACEB6-Btz8J4o3.js} +1 -1
  31. package/dist-web/assets/{chunk-727SXJPM-iIr2R3ax.js → chunk-727SXJPM-CFkPMGt0.js} +1 -1
  32. package/dist-web/assets/{chunk-AQP2D5EJ-UpIWfDiq.js → chunk-AQP2D5EJ-CVN80l_c.js} +1 -1
  33. package/dist-web/assets/{chunk-FMBD7UC4-DeG5uTRD.js → chunk-FMBD7UC4-Biqwowhe.js} +1 -1
  34. package/dist-web/assets/{chunk-ND2GUHAM-Tkl5amOh.js → chunk-ND2GUHAM-BzX9Ayzo.js} +1 -1
  35. package/dist-web/assets/{chunk-QZHKN3VN-B3Af5I7v.js → chunk-QZHKN3VN-AhpyT6S6.js} +1 -1
  36. package/dist-web/assets/classDiagram-4FO5ZUOK-DQTkBdho.js +1 -0
  37. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DQTkBdho.js +1 -0
  38. package/dist-web/assets/{cose-bilkent-S5V4N54A-uuts3r-t.js → cose-bilkent-S5V4N54A-DFpifCy9.js} +1 -1
  39. package/dist-web/assets/{dagre-BM42HDAG-CHrjnY3X.js → dagre-BM42HDAG-CVsCTu6Q.js} +1 -1
  40. package/dist-web/assets/{diagram-2AECGRRQ-BjEnf2q8.js → diagram-2AECGRRQ-DxRAae6i.js} +1 -1
  41. package/dist-web/assets/{diagram-5GNKFQAL-BzvzvRAO.js → diagram-5GNKFQAL-uRxpU1aY.js} +1 -1
  42. package/dist-web/assets/{diagram-KO2AKTUF-DNx6lZaA.js → diagram-KO2AKTUF-yZmBTogp.js} +1 -1
  43. package/dist-web/assets/{diagram-LMA3HP47-BQUKKiM4.js → diagram-LMA3HP47-D5sBDJEs.js} +1 -1
  44. package/dist-web/assets/{diagram-OG6HWLK6-MgImJXDh.js → diagram-OG6HWLK6-CUrC2NsY.js} +1 -1
  45. package/dist-web/assets/{erDiagram-TEJ5UH35-D79fXG1m.js → erDiagram-TEJ5UH35-BPtVvm3D.js} +1 -1
  46. package/dist-web/assets/{flowDiagram-I6XJVG4X-DQDtqM9F.js → flowDiagram-I6XJVG4X-CTxAlXW_.js} +1 -1
  47. package/dist-web/assets/{ganttDiagram-6RSMTGT7-rbAdz41p.js → ganttDiagram-6RSMTGT7-CKZqAdrb.js} +1 -1
  48. package/dist-web/assets/{gitGraphDiagram-PVQCEYII-C-ppoVQN.js → gitGraphDiagram-PVQCEYII-D_QUE2Yk.js} +1 -1
  49. package/dist-web/assets/{index-BpEA2dcR.js → index-BJHwJIE-.js} +1 -1
  50. package/dist-web/assets/{index-COfqZ5qw.js → index-C5QmAus-.js} +4 -4
  51. package/dist-web/assets/{index-D8Y-LZu5.js → index-CIPbYh7V.js} +1 -1
  52. package/dist-web/assets/{infoDiagram-5YYISTIA-DVx4rmpa.js → infoDiagram-5YYISTIA-DstwtY3_.js} +1 -1
  53. package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-Bwo2Fe41.js → ishikawaDiagram-YF4QCWOH-DzWA_Z4E.js} +1 -1
  54. package/dist-web/assets/{journeyDiagram-JHISSGLW-Cpk1cbVU.js → journeyDiagram-JHISSGLW-Broa94s1.js} +1 -1
  55. package/dist-web/assets/{kanban-definition-UN3LZRKU-DT5hIyrL.js → kanban-definition-UN3LZRKU-iCGebECw.js} +1 -1
  56. package/dist-web/assets/{linear-BHILOJgo.js → linear-BbhEQio-.js} +1 -1
  57. package/dist-web/assets/{mermaid.core-BYlMWjDD.js → mermaid.core-Dktix7jr.js} +4 -4
  58. package/dist-web/assets/{mindmap-definition-RKZ34NQL-CjhPuIMr.js → mindmap-definition-RKZ34NQL-Dlt7B8sZ.js} +1 -1
  59. package/dist-web/assets/{pieDiagram-4H26LBE5-BzD5r6aw.js → pieDiagram-4H26LBE5-BIJOxvr9.js} +1 -1
  60. package/dist-web/assets/{quadrantDiagram-W4KKPZXB-ieE6W8Lz.js → quadrantDiagram-W4KKPZXB-D61Svqs4.js} +1 -1
  61. package/dist-web/assets/{requirementDiagram-4Y6WPE33-B6Z6Nlwn.js → requirementDiagram-4Y6WPE33-CwVYBSDU.js} +1 -1
  62. package/dist-web/assets/{sankeyDiagram-5OEKKPKP-BAz2Fhdr.js → sankeyDiagram-5OEKKPKP-BRuiPIPy.js} +1 -1
  63. package/dist-web/assets/{sequenceDiagram-3UESZ5HK-Dce-js6I.js → sequenceDiagram-3UESZ5HK-WbXWfwZW.js} +1 -1
  64. package/dist-web/assets/{stateDiagram-AJRCARHV-DGx4tUMu.js → stateDiagram-AJRCARHV-BbCDSe1a.js} +1 -1
  65. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-COr1BkSm.js +1 -0
  66. package/dist-web/assets/{timeline-definition-PNZ67QCA-B8KWHkBS.js → timeline-definition-PNZ67QCA-DfeNCxUY.js} +1 -1
  67. package/dist-web/assets/{vennDiagram-CIIHVFJN-ByWUGcRD.js → vennDiagram-CIIHVFJN-C_gT6xzB.js} +1 -1
  68. package/dist-web/assets/{wardley-L42UT6IY-C1B0dt0L.js → wardley-L42UT6IY-EgSwcx7F.js} +1 -1
  69. package/dist-web/assets/{wardleyDiagram-YWT4CUSO-BrCqwemc.js → wardleyDiagram-YWT4CUSO-ByKkgBTO.js} +1 -1
  70. package/dist-web/assets/{xychartDiagram-2RQKCTM6-Br_yjZmA.js → xychartDiagram-2RQKCTM6-QcBA0sLp.js} +1 -1
  71. package/dist-web/index.html +1 -1
  72. package/package.json +3 -3
  73. package/templates/strikethroo/gitignore +30 -0
  74. package/dist-web/assets/channel-CKed0YrQ.js +0 -1
  75. package/dist-web/assets/classDiagram-4FO5ZUOK-CD2fBLcy.js +0 -1
  76. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-CD2fBLcy.js +0 -1
  77. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-kMJLTVIN.js +0 -1
  78. package/templates/strikethroo/runtime/.gitignore +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAoC,MAAM,SAAS,CAAC;AA6EvF;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA8FvE;AAuID;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAoC,MAAM,SAAS,CAAC;AA6FvF;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA0HvE;AA8ND;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtE"}
package/dist/index.js CHANGED
@@ -52,9 +52,24 @@ const metadata_1 = require("./metadata");
52
52
  const conflict_detector_1 = require("./conflict-detector");
53
53
  const prompts_1 = require("./prompts");
54
54
  const harnesses_1 = require("./harnesses");
55
+ const profiles_1 = require("./profiles");
55
56
  // Visual formatting constants
56
57
  const TERM_WIDTH = 80;
57
58
  const DIVIDER = '─'.repeat(TERM_WIDTH);
59
+ /**
60
+ * Template-side name of the workspace ignore file, and the name it lands under.
61
+ *
62
+ * The file cannot ship under its final name: npm mangles `.gitignore` at both
63
+ * ends of the pipe. npm-packlist reads one as ignore rules and drops it from
64
+ * the tarball, and any that survives packing is renamed to `.npmignore` on
65
+ * extract. A workspace installed from npm therefore got no ignore file at all,
66
+ * and its machine-generated dispatch cache showed up as untracked content —
67
+ * including inside the code review gate's diff, which only excludes paths git
68
+ * already ignores. Shipping under a neutral name and renaming at copy time is
69
+ * the only delivery that behaves the same from the package and from a checkout.
70
+ */
71
+ const WORKSPACE_IGNORE_TEMPLATE = 'gitignore';
72
+ const WORKSPACE_IGNORE_FILE = '.gitignore';
58
73
  /**
59
74
  * Format a section header with cyan styling
60
75
  */
@@ -119,6 +134,7 @@ async function exists(filepath) {
119
134
  * @returns CommandResult indicating success or failure with details
120
135
  */
121
136
  async function init(options) {
137
+ let preparedProfile;
122
138
  try {
123
139
  // Determine base directory
124
140
  const baseDir = options.destinationDirectory || '.';
@@ -126,6 +142,12 @@ async function init(options) {
126
142
  // Parse and validate harnesses
127
143
  const harnesses = (0, utils_1.parseHarnesses)(options.harnesses);
128
144
  (0, utils_1.validateHarnesses)(harnesses);
145
+ // Prepare the strikethroo profile import (resolve/clone/validate/stage)
146
+ // BEFORE any destination mutation, so a failed import leaves the
147
+ // destination untouched.
148
+ if (options.profile) {
149
+ preparedProfile = await (0, profiles_1.prepareProfileImport)(options.profile, getTemplatePath('strikethroo'));
150
+ }
129
151
  // ========== HEADER SECTION ==========
130
152
  console.log(chalk_1.default.bold.white('\nStrikethroo Initialization'));
131
153
  console.log(chalk_1.default.gray(DIVIDER));
@@ -133,6 +155,10 @@ async function init(options) {
133
155
  console.log(formatSectionHeader('Configuration'));
134
156
  console.log(` ${chalk_1.default.cyan('●')} Target Directory: ${resolvedBaseDir}`);
135
157
  console.log(` ${chalk_1.default.cyan('●')} Harnesses: ${harnesses.join(', ')}`);
158
+ // ========== STRIKETHROO PROFILE SECTION (only when importing one) ==========
159
+ if (preparedProfile) {
160
+ displayProfileSection(preparedProfile.manifest, preparedProfile.source);
161
+ }
136
162
  // ========== SETUP PROGRESS SECTION ==========
137
163
  console.log(formatSectionHeader('Setup Progress'));
138
164
  // Create .ai/strikethroo structure
@@ -142,7 +168,11 @@ async function init(options) {
142
168
  await fs.ensureDir(resolvePath(baseDir, '.ai/strikethroo/config/hooks'));
143
169
  // Copy common templates to .ai/strikethroo with conflict detection
144
170
  console.log(` ${chalk_1.default.green('✓')} Copying common template files`);
145
- await copyCommonTemplates(baseDir, options.force || false);
171
+ await copyCommonTemplates(baseDir, options.force || false, preparedProfile?.stagingDir);
172
+ // Record strikethroo profile provenance in the freshly written metadata
173
+ if (preparedProfile) {
174
+ await recordProfileProvenance(resolvePath(baseDir, '.ai/strikethroo/.init-metadata.json'), preparedProfile.manifest.name, preparedProfile.source);
175
+ }
146
176
  // Create harness-specific directories and copy templates via the registry
147
177
  const allCreatedAgentFiles = new Map();
148
178
  for (const harness of harnesses) {
@@ -194,12 +224,60 @@ async function init(options) {
194
224
  error: error instanceof Error ? error : new Error(String(error)),
195
225
  };
196
226
  }
227
+ finally {
228
+ // Remove the profile staging temp dirs once the copy machinery is done,
229
+ // on success and failure alike (cleanup is idempotent).
230
+ if (preparedProfile) {
231
+ await preparedProfile.cleanup();
232
+ }
233
+ }
234
+ }
235
+ /**
236
+ * Print the strikethroo profile section: identity, hard prerequisites
237
+ * (emphasized — never probed or installed), and soft pairings
238
+ */
239
+ function displayProfileSection(manifest, source) {
240
+ console.log(formatSectionHeader('Strikethroo Profile'));
241
+ console.log(` ${chalk_1.default.cyan('●')} Name: ${manifest.name}`);
242
+ console.log(` ${chalk_1.default.cyan('●')} Description: ${manifest.description}`);
243
+ console.log(` ${chalk_1.default.cyan('●')} Source: ${source}`);
244
+ if (manifest.requires && manifest.requires.length > 0) {
245
+ console.log(chalk_1.default.yellow.bold('\n This strikethroo profile assumes you have:'));
246
+ for (const requirement of manifest.requires) {
247
+ const hint = requirement.install ? chalk_1.default.gray(` — install: ${requirement.install}`) : '';
248
+ console.log(` ${chalk_1.default.yellow('▲')} ${chalk_1.default.bold(`${requirement.name} (${requirement.kind})`)}${hint}`);
249
+ }
250
+ }
251
+ if (manifest.recommends && manifest.recommends.length > 0) {
252
+ console.log(chalk_1.default.gray('\n This strikethroo profile pairs well with:'));
253
+ for (const recommendation of manifest.recommends) {
254
+ const hint = recommendation.install ? ` — install: ${recommendation.install}` : '';
255
+ console.log(chalk_1.default.gray(` ● ${recommendation.name} (${recommendation.kind})${hint}`));
256
+ }
257
+ }
258
+ }
259
+ /**
260
+ * Record strikethroo profile provenance in the just-written metadata file.
261
+ *
262
+ * Small wrapper around load/save so `createMetadata` and the no-profile
263
+ * metadata shape stay untouched: the `profile` field exists only when a
264
+ * profile was imported.
265
+ */
266
+ async function recordProfileProvenance(metadataPath, name, source) {
267
+ const metadata = await (0, metadata_1.loadMetadata)(metadataPath);
268
+ if (!metadata) {
269
+ throw new Error(`Cannot record strikethroo profile provenance: metadata file missing or invalid at ${metadataPath}`);
270
+ }
271
+ metadata.profile = { name, source, importedAt: new Date().toISOString() };
272
+ await (0, metadata_1.saveMetadata)(metadataPath, metadata);
197
273
  }
198
274
  /**
199
275
  * Copy common template files to .ai/strikethroo directory with conflict detection
276
+ *
277
+ * @param sourceDir - Source template tree; defaults to the shipped
278
+ * `templates/strikethroo/` path, overridden by a profile staging tree
200
279
  */
201
- async function copyCommonTemplates(baseDir, force) {
202
- const sourceDir = getTemplatePath('strikethroo');
280
+ async function copyCommonTemplates(baseDir, force, sourceDir = getTemplatePath('strikethroo')) {
203
281
  const destDir = resolvePath(baseDir, '.ai/strikethroo');
204
282
  const metadataPath = resolvePath(destDir, '.init-metadata.json');
205
283
  // Check if source template directory exists
@@ -208,16 +286,23 @@ async function copyCommonTemplates(baseDir, force) {
208
286
  }
209
287
  // Load existing metadata if present
210
288
  const existingMetadata = await (0, metadata_1.loadMetadata)(metadataPath);
289
+ // The ignore file is copied separately, under its final name
290
+ const copyOptions = {
291
+ overwrite: true,
292
+ filter: (src) => path.relative(sourceDir, src) !== WORKSPACE_IGNORE_TEMPLATE,
293
+ };
211
294
  // Scenario 1: First-time init (no metadata) - copy all files
212
295
  if (!existingMetadata) {
213
- await fs.copy(sourceDir, destDir);
296
+ await fs.copy(sourceDir, destDir, copyOptions);
297
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
214
298
  // Create initial metadata
215
299
  await createMetadata(sourceDir, destDir, metadataPath);
216
300
  return;
217
301
  }
218
302
  // Scenario 2: Force flag - overwrite all files
219
303
  if (force) {
220
- await fs.copy(sourceDir, destDir, { overwrite: true });
304
+ await fs.copy(sourceDir, destDir, copyOptions);
305
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
221
306
  // Update metadata
222
307
  await createMetadata(sourceDir, destDir, metadataPath);
223
308
  return;
@@ -225,7 +310,8 @@ async function copyCommonTemplates(baseDir, force) {
225
310
  // Scenario 3: Conflict detection - check for user modifications
226
311
  const conflicts = await (0, conflict_detector_1.detectConflicts)(destDir, sourceDir, existingMetadata);
227
312
  if (conflicts.length === 0) {
228
- await fs.copy(sourceDir, destDir, { overwrite: true });
313
+ await fs.copy(sourceDir, destDir, copyOptions);
314
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
229
315
  // Update metadata
230
316
  await createMetadata(sourceDir, destDir, metadataPath);
231
317
  return;
@@ -235,9 +321,27 @@ async function copyCommonTemplates(baseDir, force) {
235
321
  const resolutions = await (0, prompts_1.promptForConflicts)(conflicts);
236
322
  // Apply resolutions
237
323
  await applyResolutions(sourceDir, destDir, resolutions);
324
+ await copyWorkspaceIgnoreFile(sourceDir, destDir);
238
325
  // Update metadata for all files (including resolved conflicts)
239
326
  await createMetadata(sourceDir, destDir, metadataPath);
240
327
  }
328
+ /**
329
+ * Copy the workspace ignore template to its final `.gitignore` name.
330
+ *
331
+ * Runs on every init path, including the conflict path — conflict detection
332
+ * and hash tracking are scoped to `config/`, so this file has no baseline to
333
+ * compare against and is refreshed rather than prompted over. Refreshing is
334
+ * the behaviour that matters here: a workspace initialized before an entry was
335
+ * added would otherwise keep leaking the paths that entry covers.
336
+ */
337
+ async function copyWorkspaceIgnoreFile(sourceDir, destDir) {
338
+ const source = path.join(sourceDir, WORKSPACE_IGNORE_TEMPLATE);
339
+ if (!(await exists(source))) {
340
+ throw new Error(`Workspace ignore template not found: ${source}. The published package must ship ` +
341
+ `templates/strikethroo/${WORKSPACE_IGNORE_TEMPLATE}.`);
342
+ }
343
+ await fs.copy(source, path.join(destDir, WORKSPACE_IGNORE_FILE), { overwrite: true });
344
+ }
241
345
  /**
242
346
  * Create or update metadata file with current file hashes
243
347
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Profile Package Contract and Import Preparation
3
+ *
4
+ * Defines the manifest schema (`profile.yaml`) and on-disk surface every
5
+ * profile package — local folder or cloned repository — must satisfy, and
6
+ * owns the import steps that run before any workspace mutation: source
7
+ * resolution (local folder / GitHub shorthand / git URL), shallow-clone
8
+ * materialization of remote profiles, contract validation, and staging of
9
+ * the effective template tree (shipped defaults + profile overlay).
10
+ *
11
+ * Validation is side-effect-free: it only reads the package directory.
12
+ * Materialization and staging write only to temp directories under the OS
13
+ * temp root, and every temp directory is removed on every exit path.
14
+ */
15
+ /**
16
+ * Manifest schema version this CLI build understands.
17
+ *
18
+ * Profiles live in external repositories the CLI can never migrate, so a
19
+ * manifest declaring a different version is refused with a message naming
20
+ * both versions and the upgrade direction.
21
+ */
22
+ export declare const PROFILE_MANIFEST_SCHEMA_VERSION = 1;
23
+ /**
24
+ * A single entry in a manifest's `requires` or `recommends` list.
25
+ *
26
+ * Strictly informational: printed during import, never probed, executed,
27
+ * or installed.
28
+ */
29
+ export interface ProfileRequirement {
30
+ /**
31
+ * What kind of prerequisite this is
32
+ */
33
+ kind: 'skill' | 'tool';
34
+ /**
35
+ * Name of the required skill or tool
36
+ */
37
+ name: string;
38
+ /**
39
+ * Optional human-facing installation hint
40
+ */
41
+ install?: string;
42
+ }
43
+ /**
44
+ * Parsed `profile.yaml` manifest
45
+ */
46
+ export interface ProfileManifest {
47
+ /**
48
+ * Manifest format version (must equal PROFILE_MANIFEST_SCHEMA_VERSION)
49
+ */
50
+ schema_version: number;
51
+ /**
52
+ * Profile identity (kebab-case), echoed at import and recorded in provenance
53
+ */
54
+ name: string;
55
+ /**
56
+ * One-line summary shown during init
57
+ */
58
+ description: string;
59
+ /**
60
+ * Long-form statement of what the profile is tuned for
61
+ */
62
+ purpose?: string;
63
+ /**
64
+ * Free-form discovery/labeling tags
65
+ */
66
+ tags?: string[];
67
+ /**
68
+ * Hard prerequisites without which the profile's hooks/config malfunction
69
+ */
70
+ requires?: ProfileRequirement[];
71
+ /**
72
+ * Soft pairings that complement the profile
73
+ */
74
+ recommends?: ProfileRequirement[];
75
+ /**
76
+ * Attribution
77
+ */
78
+ author?: string;
79
+ }
80
+ /**
81
+ * Validate a profile package directory against the contract.
82
+ *
83
+ * Checks, in order: `profile.yaml` exists and parses as a YAML mapping, the
84
+ * manifest fields satisfy the schema, and the `config/` surface contains only
85
+ * allowed files. Top-level entries other than `profile.yaml` and `config/`
86
+ * are ignored (a repository may carry `README.md`, `.git`, etc.).
87
+ *
88
+ * @param profileDir - Absolute or relative path to the package root
89
+ * @returns The parsed manifest on success
90
+ * @throws ProfileError naming the offending field or file on any violation
91
+ */
92
+ export declare function validateProfilePackage(profileDir: string): Promise<ProfileManifest>;
93
+ /**
94
+ * A `--profile` value resolved to its concrete source
95
+ */
96
+ export interface ResolvedProfileSource {
97
+ /**
98
+ * Whether the profile is read in place ('local') or cloned via git ('git')
99
+ */
100
+ kind: 'local' | 'git';
101
+ /**
102
+ * Absolute local package path ('local') or git clone URL ('git')
103
+ */
104
+ location: string;
105
+ }
106
+ /**
107
+ * Result of preparing a profile import, ready for the init copy machinery
108
+ */
109
+ export interface PreparedProfileImport {
110
+ /**
111
+ * Temp directory mirroring `templates/strikethroo/` with the profile's
112
+ * `config/` files overlaid — the effective source tree for init
113
+ */
114
+ stagingDir: string;
115
+ /**
116
+ * The profile's validated manifest
117
+ */
118
+ manifest: ProfileManifest;
119
+ /**
120
+ * Resolved provenance: the clone URL or the absolute local package path
121
+ */
122
+ source: string;
123
+ /**
124
+ * Removes every temp directory this import created; safe to call more
125
+ * than once and tolerant of already-removed paths
126
+ */
127
+ cleanup: () => Promise<void>;
128
+ }
129
+ /**
130
+ * Resolve a `--profile` value to its source.
131
+ *
132
+ * Resolution order is contractual: (a) the value names an existing directory
133
+ * on disk → local package folder; (b) the value matches the GitHub
134
+ * `<user>/<repo-name>` shorthand → expanded to the canonical GitHub clone
135
+ * URL; (c) otherwise → treated verbatim as a git URL (covers GitLab, ssh
136
+ * URLs, and any git host). The existing-path check runs first, so a relative
137
+ * local path that happens to look like `user/repo` resolves as the folder.
138
+ *
139
+ * @param value - The raw `--profile` argument
140
+ * @returns The resolved source kind and location
141
+ * @throws ProfileError when the value names an existing non-directory path
142
+ */
143
+ export declare function resolveProfileSource(value: string): Promise<ResolvedProfileSource>;
144
+ /**
145
+ * Resolve, materialize, validate, and stage a profile for import.
146
+ *
147
+ * Steps, in order: resolve the source; shallow-clone remote profiles into a
148
+ * temp directory (local folders are read in place); validate the package
149
+ * against the contract BEFORE any staging, so an invalid profile never
150
+ * produces a staging tree; copy the shipped template tree into a temp
151
+ * staging directory and overlay the profile's `config/` files.
152
+ *
153
+ * Every temp directory is removed on every failure path before the error is
154
+ * rethrown. On success the caller receives `cleanup` and must invoke it once
155
+ * the copy machinery has consumed `stagingDir`.
156
+ *
157
+ * @param profileValue - The raw `--profile` argument
158
+ * @param shippedTemplateDir - Path to the shipped `templates/strikethroo/` tree
159
+ * @returns The staging directory, validated manifest, resolved source, and cleanup
160
+ * @throws ProfileError on resolution, clone, validation, or staging failure
161
+ */
162
+ export declare function prepareProfileImport(profileValue: string, shippedTemplateDir: string): Promise<PreparedProfileImport>;
163
+ //# sourceMappingURL=profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAIzF;AAaD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6BxF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAsBhC"}