outfitter 0.2.6 → 0.2.7

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 (147) hide show
  1. package/README.md +52 -26
  2. package/dist/actions.d.ts +1 -1
  3. package/dist/actions.js +20 -19
  4. package/dist/cli.js +3 -2
  5. package/dist/commands/add.d.ts +4 -4
  6. package/dist/commands/check-tsdoc.d.ts +22 -0
  7. package/dist/commands/check-tsdoc.js +8 -0
  8. package/dist/commands/check.d.ts +12 -12
  9. package/dist/commands/check.js +1 -1
  10. package/dist/commands/demo.d.ts +3 -3
  11. package/dist/commands/docs-module-loader.d.ts +1 -1
  12. package/dist/commands/doctor.d.ts +2 -2
  13. package/dist/commands/doctor.js +13 -1
  14. package/dist/commands/init.d.ts +6 -6
  15. package/dist/commands/init.js +12 -11
  16. package/dist/commands/repo.d.ts +2 -2
  17. package/dist/commands/scaffold.d.ts +3 -3
  18. package/dist/commands/scaffold.js +12 -11
  19. package/dist/commands/shared-deps.d.ts +1 -16
  20. package/dist/commands/shared-deps.js +2 -1
  21. package/dist/commands/upgrade-codemods.d.ts +4 -4
  22. package/dist/commands/upgrade-codemods.js +2 -2
  23. package/dist/commands/upgrade-planner.d.ts +6 -6
  24. package/dist/commands/upgrade-workspace.d.ts +1 -75
  25. package/dist/commands/upgrade.d.ts +66 -59
  26. package/dist/commands/upgrade.js +2 -2
  27. package/dist/create/index.d.ts +4 -4
  28. package/dist/create/index.js +13 -12
  29. package/dist/create/planner.d.ts +2 -2
  30. package/dist/create/planner.js +9 -8
  31. package/dist/create/presets.d.ts +2 -2
  32. package/dist/create/types.d.ts +1 -1
  33. package/dist/engine/blocks.d.ts +2 -2
  34. package/dist/engine/blocks.js +1 -1
  35. package/dist/engine/collector.d.ts +1 -1
  36. package/dist/engine/config.d.ts +2 -2
  37. package/dist/engine/config.js +5 -2
  38. package/dist/engine/dependency-versions.d.ts +12 -0
  39. package/dist/engine/dependency-versions.js +12 -0
  40. package/dist/engine/executor.d.ts +2 -2
  41. package/dist/engine/executor.js +7 -4
  42. package/dist/engine/index.d.ts +8 -8
  43. package/dist/engine/index.js +28 -19
  44. package/dist/engine/names.d.ts +2 -2
  45. package/dist/engine/names.js +10 -2
  46. package/dist/engine/post-scaffold.d.ts +2 -2
  47. package/dist/engine/render-plan.d.ts +1 -1
  48. package/dist/engine/template.d.ts +2 -2
  49. package/dist/engine/types.d.ts +1 -1
  50. package/dist/engine/workspace.d.ts +3 -3
  51. package/dist/engine/workspace.js +8 -1
  52. package/dist/index.d.ts +93 -132
  53. package/dist/index.js +1 -9
  54. package/dist/manifest.d.ts +4 -4
  55. package/dist/output-mode.d.ts +1 -1
  56. package/dist/shared/{chunk-k59f60cp.js → chunk-x6644tk8.js} +3017 -2520
  57. package/dist/shared/outfitter-109s75x0.d.ts +76 -0
  58. package/dist/shared/{outfitter-2np85etz.js → outfitter-1fy7byz5.js} +76 -1
  59. package/dist/shared/outfitter-20f6a2n4.js +35 -0
  60. package/dist/shared/outfitter-4q1zfmvc.js +154 -0
  61. package/dist/shared/{outfitter-66b25bj8.js → outfitter-5akzvppx.js} +4 -4
  62. package/dist/shared/outfitter-5y646xzk.js +301 -0
  63. package/dist/shared/{outfitter-j8yc7294.d.ts → outfitter-5yjr404v.d.ts} +4 -4
  64. package/dist/shared/outfitter-63gse8fv.js +316 -0
  65. package/dist/shared/{outfitter-rdc5v5ms.js → outfitter-7ch26yq8.js} +210 -71
  66. package/dist/shared/{outfitter-ksa1pp4t.d.ts → outfitter-dpj9erew.d.ts} +1 -1
  67. package/dist/shared/{outfitter-sgtq57qr.d.ts → outfitter-f9znfhkn.d.ts} +1 -1
  68. package/dist/shared/outfitter-fhnjpjwc.d.ts +18 -0
  69. package/dist/shared/{outfitter-193jvzg4.d.ts → outfitter-fn20r49x.d.ts} +1 -1
  70. package/dist/shared/{outfitter-cwq39bv4.d.ts → outfitter-h3q6ae6d.d.ts} +17 -17
  71. package/dist/shared/outfitter-ha89qf8q.js +132 -0
  72. package/dist/shared/{outfitter-pyy1zkfh.d.ts → outfitter-hsp8vy5m.d.ts} +25 -12
  73. package/dist/shared/outfitter-m3ehh37q.d.ts +22 -0
  74. package/dist/shared/outfitter-m44n0qzw.js +161 -0
  75. package/dist/shared/{outfitter-qn864k6h.js → outfitter-mt7d1ek2.js} +152 -35
  76. package/dist/shared/{outfitter-avhm5z6w.js → outfitter-p71qb0f0.js} +4 -4
  77. package/dist/shared/{outfitter-9zqc2njf.js → outfitter-pcj9gg2g.js} +90 -40
  78. package/dist/shared/{outfitter-hws10ze7.js → outfitter-pj9vp00r.js} +87 -18
  79. package/dist/shared/{outfitter-gdvm5c0b.d.ts → outfitter-qakwgrrh.d.ts} +1 -1
  80. package/dist/shared/{outfitter-k56rmt24.d.ts → outfitter-r419zfgs.d.ts} +6 -6
  81. package/dist/shared/{outfitter-33w361tc.d.ts → outfitter-s7jetkge.d.ts} +1 -1
  82. package/dist/shared/{outfitter-1dvma85c.js → outfitter-w1j80j1r.js} +4 -0
  83. package/dist/shared/{outfitter-1dd0k853.js → outfitter-xe5mzgdc.js} +21 -7
  84. package/dist/shared/{outfitter-h1mnzzd1.d.ts → outfitter-ybbazsxq.d.ts} +1 -1
  85. package/dist/shared/{outfitter-2ngep1h2.d.ts → outfitter-yraebrmw.d.ts} +1 -1
  86. package/dist/shared/{outfitter-bkwpbkr9.d.ts → outfitter-z0we32cp.d.ts} +21 -21
  87. package/dist/shared/{outfitter-3weh61w7.d.ts → outfitter-z5sx06qe.d.ts} +12 -12
  88. package/dist/targets/index.d.ts +3 -3
  89. package/dist/targets/index.js +1 -1
  90. package/dist/targets/registry.d.ts +2 -2
  91. package/dist/targets/registry.js +1 -1
  92. package/dist/targets/types.d.ts +1 -1
  93. package/package.json +29 -19
  94. package/template-versions.json +22 -0
  95. package/templates/basic/package.json.template +6 -6
  96. package/templates/cli/biome.json.template +1 -1
  97. package/templates/cli/package.json.template +17 -9
  98. package/templates/daemon/biome.json.template +1 -1
  99. package/templates/daemon/package.json.template +18 -10
  100. package/templates/full-stack/.gitignore.template +30 -0
  101. package/templates/full-stack/README.md.template +30 -0
  102. package/templates/full-stack/apps/cli/package.json.template +39 -0
  103. package/templates/full-stack/apps/cli/src/cli.ts.template +24 -0
  104. package/templates/full-stack/apps/cli/src/index.test.ts.template +18 -0
  105. package/templates/full-stack/apps/cli/src/index.ts.template +5 -0
  106. package/templates/full-stack/apps/cli/tsconfig.json.template +37 -0
  107. package/templates/full-stack/apps/mcp/package.json.template +40 -0
  108. package/templates/full-stack/apps/mcp/src/index.test.ts.template +18 -0
  109. package/templates/full-stack/apps/mcp/src/index.ts.template +6 -0
  110. package/templates/full-stack/apps/mcp/src/mcp.ts.template +22 -0
  111. package/templates/full-stack/apps/mcp/src/server.ts.template +10 -0
  112. package/templates/full-stack/apps/mcp/tsconfig.json.template +37 -0
  113. package/templates/full-stack/package.json.template +16 -0
  114. package/templates/full-stack/packages/core/package.json.template +36 -0
  115. package/templates/full-stack/packages/core/src/handlers.ts.template +31 -0
  116. package/templates/full-stack/packages/core/src/index.test.ts.template +30 -0
  117. package/templates/full-stack/packages/core/src/index.ts.template +8 -0
  118. package/templates/full-stack/packages/core/src/types.ts.template +13 -0
  119. package/templates/full-stack/packages/core/tsconfig.json.template +34 -0
  120. package/templates/library/.gitignore.template +30 -0
  121. package/templates/library/README.md.template +29 -0
  122. package/templates/library/bunup.config.ts.template +20 -0
  123. package/templates/library/package.json.template +55 -0
  124. package/templates/library/src/handlers.ts.template +31 -0
  125. package/templates/library/src/index.test.ts.template +35 -0
  126. package/templates/library/src/index.ts.template +8 -0
  127. package/templates/library/src/types.ts.template +13 -0
  128. package/templates/library/tsconfig.json.template +34 -0
  129. package/templates/mcp/biome.json.template +1 -1
  130. package/templates/mcp/package.json.template +17 -9
  131. package/templates/mcp/src/index.ts.template +1 -1
  132. package/templates/mcp/src/mcp.ts.template +28 -74
  133. package/templates/mcp/src/server.ts.template +2 -9
  134. package/templates/minimal/package.json.template +13 -6
  135. package/dist/commands/migrate-kit.d.ts +0 -2
  136. package/dist/commands/migrate-kit.js +0 -15
  137. package/dist/shared/outfitter-7ha7p61k.d.ts +0 -6
  138. package/dist/shared/outfitter-ara3djt0.js +0 -73
  139. package/dist/shared/outfitter-d7pq7d0k.js +0 -196
  140. package/dist/shared/outfitter-k112c427.js +0 -21
  141. package/dist/shared/outfitter-mxz69pgy.js +0 -713
  142. package/dist/shared/outfitter-npemy7ta.d.ts +0 -53
  143. package/dist/shared/outfitter-npyfbdmc.d.ts +0 -6
  144. package/dist/shared/outfitter-q9agarmb.js +0 -42
  145. package/dist/shared/{outfitter-dd0btgec.d.ts → outfitter-6fgk6adm.d.ts} +5 -5
  146. package/dist/shared/{outfitter-e2zz5wv7.d.ts → outfitter-e9rrfekb.d.ts} +8 -8
  147. package/dist/shared/{outfitter-qfh36ddg.d.ts → outfitter-n9g1zk4x.d.ts} +7 -7
@@ -1,3 +1,3 @@
1
- import { copyTemplateFiles, getOutputFilename, getTemplatesDir, isBinaryFile, replacePlaceholders } from "../shared/outfitter-h1mnzzd1";
2
- import "../shared/outfitter-qfh36ddg";
1
+ import { copyTemplateFiles, getOutputFilename, getTemplatesDir, isBinaryFile, replacePlaceholders } from "../shared/outfitter-ybbazsxq.js";
2
+ import "../shared/outfitter-n9g1zk4x.js";
3
3
  export { replacePlaceholders, isBinaryFile, getTemplatesDir, getOutputFilename, copyTemplateFiles };
@@ -1,2 +1,2 @@
1
- import { EngineCollector, EngineOptions, PlaceholderValues, ScaffoldChange, ScaffoldError, ScaffoldPlan, ScaffoldResult } from "../shared/outfitter-qfh36ddg";
1
+ import { EngineCollector, EngineOptions, PlaceholderValues, ScaffoldChange, ScaffoldError, ScaffoldPlan, ScaffoldResult } from "../shared/outfitter-n9g1zk4x.js";
2
2
  export { ScaffoldResult, ScaffoldPlan, ScaffoldError, ScaffoldChange, PlaceholderValues, EngineOptions, EngineCollector };
@@ -1,3 +1,3 @@
1
- import { buildWorkspaceRootPackageJson, detectWorkspaceRoot, scaffoldWorkspaceRoot } from "../shared/outfitter-7ha7p61k";
2
- import "../shared/outfitter-qfh36ddg";
3
- export { scaffoldWorkspaceRoot, detectWorkspaceRoot, buildWorkspaceRootPackageJson };
1
+ import { buildWorkspaceRootPackageJson, buildWorkspaceRootReadme, detectWorkspaceRoot, getWorkspacePatterns, hasWorkspacesField, scaffoldWorkspaceRoot } from "../shared/outfitter-fhnjpjwc.js";
2
+ import "../shared/outfitter-n9g1zk4x.js";
3
+ export { scaffoldWorkspaceRoot, hasWorkspacesField, getWorkspacePatterns, detectWorkspaceRoot, buildWorkspaceRootReadme, buildWorkspaceRootPackageJson };
@@ -1,13 +1,20 @@
1
1
  // @bun
2
2
  import {
3
3
  buildWorkspaceRootPackageJson,
4
+ buildWorkspaceRootReadme,
4
5
  detectWorkspaceRoot,
6
+ getWorkspacePatterns,
7
+ hasWorkspacesField,
5
8
  scaffoldWorkspaceRoot
6
- } from "../shared/outfitter-2np85etz.js";
9
+ } from "../shared/outfitter-1fy7byz5.js";
10
+ import"../shared/outfitter-4q1zfmvc.js";
7
11
  import"../shared/outfitter-8y2dfx6n.js";
8
12
  import"../shared/outfitter-mdt37hqm.js";
9
13
  export {
10
14
  scaffoldWorkspaceRoot,
15
+ hasWorkspacesField,
16
+ getWorkspacePatterns,
11
17
  detectWorkspaceRoot,
18
+ buildWorkspaceRootReadme,
12
19
  buildWorkspaceRootPackageJson
13
20
  };
package/dist/index.d.ts CHANGED
@@ -13,19 +13,19 @@ interface DoctorOptions {
13
13
  * Result of a single health check.
14
14
  */
15
15
  interface CheckResult {
16
- /** Whether the check passed */
17
- readonly passed: boolean;
18
16
  /** Error message if check failed */
19
17
  readonly error?: string;
18
+ /** Whether the check passed */
19
+ readonly passed: boolean;
20
20
  }
21
21
  /**
22
22
  * Bun version check result.
23
23
  */
24
24
  interface BunVersionCheck extends CheckResult {
25
- /** Current Bun version */
26
- readonly version: string;
27
25
  /** Required minimum version */
28
26
  readonly required: string;
27
+ /** Current Bun version */
28
+ readonly version: string;
29
29
  }
30
30
  /**
31
31
  * Package.json validation result.
@@ -51,8 +51,6 @@ interface DependenciesCheck extends CheckResult {
51
51
  interface ConfigFilesCheck {
52
52
  /** Whether tsconfig.json exists */
53
53
  readonly tsconfig: boolean;
54
- /** Whether biome.json exists */
55
- readonly biome?: boolean;
56
54
  }
57
55
  /**
58
56
  * Directories check result.
@@ -60,17 +58,15 @@ interface ConfigFilesCheck {
60
58
  interface DirectoriesCheck {
61
59
  /** Whether src directory exists */
62
60
  readonly src: boolean;
63
- /** Whether tests directory exists */
64
- readonly tests?: boolean;
65
61
  }
66
62
  /**
67
63
  * Summary of all checks.
68
64
  */
69
65
  interface DoctorSummary {
70
- /** Number of passed checks */
71
- readonly passed: number;
72
66
  /** Number of failed checks */
73
67
  readonly failed: number;
68
+ /** Number of passed checks */
69
+ readonly passed: number;
74
70
  /** Total number of checks */
75
71
  readonly total: number;
76
72
  }
@@ -86,10 +82,27 @@ interface DoctorResult {
86
82
  readonly configFiles: ConfigFilesCheck;
87
83
  readonly directories: DirectoriesCheck;
88
84
  };
85
+ /** Exit code (0 = all passed, 1 = some failed) */
86
+ readonly exitCode: number;
87
+ /** Whether this is a workspace root (affects which checks apply) */
88
+ readonly isWorkspaceRoot?: boolean;
89
+ /** Checks intentionally skipped at workspace root */
90
+ readonly skippedChecks?: readonly string[];
89
91
  /** Summary of all checks */
90
92
  readonly summary: DoctorSummary;
91
- /** Exit code (0 = all passed, 1 = some failed) */
93
+ /** Per-member summary when running at a workspace root */
94
+ readonly workspaceMembers?: readonly WorkspaceMemberHealth[];
95
+ }
96
+ /**
97
+ * Health summary for a workspace member package.
98
+ */
99
+ interface WorkspaceMemberHealth {
100
+ /** Member exit code (0 = pass, 1 = failed checks) */
92
101
  readonly exitCode: number;
102
+ /** Workspace-relative member path (for example, apps/my-cli) */
103
+ readonly path: string;
104
+ /** Summary for the member doctor run */
105
+ readonly summary: DoctorSummary;
93
106
  }
94
107
  /**
95
108
  * Runs the doctor command programmatically.
@@ -137,18 +150,18 @@ import { Result as Result3 } from "@outfitter/contracts";
137
150
  import { AddBlockResult } from "@outfitter/tooling";
138
151
  import { Command as Command2 } from "commander";
139
152
  interface PostScaffoldResult {
140
- readonly installResult: "success" | "failed" | "skipped";
141
- readonly installError?: string | undefined;
142
- readonly gitInitResult: "success" | "failed" | "skipped" | "already-repo";
143
153
  readonly gitCommitResult: "success" | "failed" | "skipped";
144
154
  readonly gitError?: string | undefined;
155
+ readonly gitInitResult: "success" | "failed" | "skipped" | "already-repo";
156
+ readonly installError?: string | undefined;
157
+ readonly installResult: "success" | "failed" | "skipped";
145
158
  readonly nextSteps: readonly string[];
146
159
  }
147
160
  import { NotFoundError, Result as Result2, ValidationError } from "@outfitter/contracts";
148
161
  /**
149
162
  * Unique identifier for a scaffold target.
150
163
  */
151
- type TargetId = "minimal" | "cli" | "mcp" | "daemon" | "api" | "worker" | "web" | "lib";
164
+ type TargetId = "minimal" | "cli" | "mcp" | "daemon" | "library" | "full-stack" | "api" | "worker" | "web";
152
165
  /**
153
166
  * Whether the target produces a runnable application or a library package.
154
167
  */
@@ -165,14 +178,14 @@ type TargetScope = "init-only" | "scaffold-only" | "both";
165
178
  * Complete definition for a scaffold target.
166
179
  */
167
180
  interface TargetDefinition {
168
- readonly id: TargetId;
169
- readonly description: string;
170
181
  readonly category: TargetCategory;
171
- readonly placement: "apps" | "packages";
172
- readonly templateDir: string;
173
182
  readonly defaultBlocks: readonly string[];
174
- readonly status: TargetStatus;
183
+ readonly description: string;
184
+ readonly id: TargetId;
185
+ readonly placement: "apps" | "packages";
175
186
  readonly scope: TargetScope;
187
+ readonly status: TargetStatus;
188
+ readonly templateDir: string;
176
189
  }
177
190
  declare const TARGET_REGISTRY: ReadonlyMap<TargetId, TargetDefinition>;
178
191
  declare const TARGET_IDS: readonly TargetId[];
@@ -190,45 +203,45 @@ declare function listTargets(filter?: {
190
203
  readonly category?: TargetCategory;
191
204
  }): readonly TargetDefinition[];
192
205
  type InitStructure = "single" | "workspace";
193
- type InitPresetId = Extract<TargetId, "minimal" | "cli" | "mcp" | "daemon">;
206
+ type InitPresetId = Extract<TargetId, "minimal" | "cli" | "mcp" | "daemon" | "library" | "full-stack">;
194
207
  /**
195
208
  * Options for the init command.
196
209
  */
197
210
  interface InitOptions {
198
- readonly targetDir: string;
199
- readonly name: string | undefined;
200
211
  readonly bin?: string | undefined;
212
+ readonly dryRun?: boolean | undefined;
213
+ readonly force: boolean;
214
+ readonly installTimeout?: number | undefined;
215
+ readonly local?: boolean | undefined;
216
+ readonly name: string | undefined;
217
+ readonly noTooling?: boolean | undefined;
201
218
  readonly preset?: InitPresetId | undefined;
219
+ readonly skipCommit?: boolean | undefined;
220
+ readonly skipGit?: boolean | undefined;
221
+ readonly skipInstall?: boolean | undefined;
222
+ readonly structure?: InitStructure | undefined;
223
+ readonly targetDir: string;
202
224
  /** @deprecated Use `preset` instead. */
203
225
  readonly template?: string | undefined;
204
- readonly structure?: InitStructure | undefined;
205
- readonly workspaceName?: string | undefined;
206
- readonly local?: boolean | undefined;
207
- readonly force: boolean;
208
226
  readonly with?: string | undefined;
209
- readonly noTooling?: boolean | undefined;
227
+ readonly workspaceName?: string | undefined;
210
228
  readonly yes?: boolean | undefined;
211
- readonly dryRun?: boolean | undefined;
212
- readonly skipInstall?: boolean | undefined;
213
- readonly skipGit?: boolean | undefined;
214
- readonly skipCommit?: boolean | undefined;
215
- readonly installTimeout?: number | undefined;
216
229
  }
217
230
  /**
218
231
  * Result of running init.
219
232
  */
220
233
  interface InitResult {
221
- readonly structure: InitStructure;
222
- readonly rootDir: string;
223
- readonly projectDir: string;
224
- readonly preset: InitPresetId;
225
- readonly packageName: string;
226
234
  readonly blocksAdded?: AddBlockResult | undefined;
227
- readonly postScaffold: PostScaffoldResult;
228
235
  readonly dryRunPlan?: {
229
236
  readonly operations: readonly unknown[];
230
237
  readonly summary: Record<string, number>;
231
238
  } | undefined;
239
+ readonly packageName: string;
240
+ readonly postScaffold: PostScaffoldResult;
241
+ readonly preset: InitPresetId;
242
+ readonly projectDir: string;
243
+ readonly rootDir: string;
244
+ readonly structure: InitStructure;
232
245
  }
233
246
  /**
234
247
  * Error returned when initialization fails.
@@ -245,67 +258,15 @@ declare function printInitResults(result: InitResult, options?: {
245
258
  * @deprecated Use action-registry CLI wiring via `buildCliCommands(outfitterActions, ...)`.
246
259
  */
247
260
  declare function initCommand(program: Command2): void;
248
- import { OutputMode as OutputMode3 } from "@outfitter/cli/types";
249
- import { Result as Result4 } from "@outfitter/contracts";
250
- import { Command as Command3 } from "commander";
251
- interface DiffPreview {
252
- readonly path: string;
253
- readonly preview: string;
254
- }
255
- /**
256
- * Options for the migrate-kit command.
257
- */
258
- interface MigrateKitOptions {
259
- /** Target directory to migrate (defaults to cwd). */
260
- readonly targetDir?: string | undefined;
261
- /** Run codemod without writing changes to disk. */
262
- readonly dryRun?: boolean | undefined;
263
- }
264
- /**
265
- * Result from migrate-kit execution.
266
- */
267
- interface MigrateKitResult {
268
- readonly targetDir: string;
269
- readonly dryRun: boolean;
270
- readonly packageJsonFiles: number;
271
- readonly sourceFiles: number;
272
- readonly manifestUpdates: number;
273
- readonly importRewrites: number;
274
- readonly changedFiles: readonly string[];
275
- readonly diffs: readonly DiffPreview[];
276
- }
277
- /**
278
- * Error returned when migration fails.
279
- */
280
- declare class MigrateKitError extends Error {
281
- readonly _tag: "MigrateKitError";
282
- constructor(message: string);
283
- }
284
- /**
285
- * Runs the migrate-kit codemod programmatically.
286
- */
287
- declare function runMigrateKit(options: MigrateKitOptions): Promise<Result4<MigrateKitResult, MigrateKitError>>;
288
- /**
289
- * Print migrate-kit results.
290
- */
291
- declare function printMigrateKitResults(result: MigrateKitResult, options?: {
292
- mode?: OutputMode3;
293
- }): Promise<void>;
294
- /**
295
- * Register `migrate kit` command directly on Commander.
296
- *
297
- * @deprecated Use action-registry CLI wiring via `buildCliCommands(outfitterActions, ...)`.
298
- */
299
- declare function migrateKitCommand(program: Command3): void;
300
- import { Command as Command5 } from "commander";
261
+ import { Command as Command4 } from "commander";
301
262
  type DocsMdxMode = "strict" | "lossy";
302
263
  interface DocsBaseOptions {
303
264
  readonly cwd?: string;
304
- readonly workspaceRoot?: string;
305
- readonly packagesDir?: string;
306
- readonly outputDir?: string;
307
265
  readonly excludedFilenames?: readonly string[];
308
266
  readonly mdxMode?: DocsMdxMode;
267
+ readonly outputDir?: string;
268
+ readonly packagesDir?: string;
269
+ readonly workspaceRoot?: string;
309
270
  }
310
271
  interface ExecuteCheckCommandOptions extends DocsBaseOptions {}
311
272
  interface ExecuteSyncCommandOptions extends DocsBaseOptions {}
@@ -317,70 +278,70 @@ interface ExecuteExportCommandOptions extends DocsBaseOptions {
317
278
  }
318
279
  type RepoCheckSubject = "docs" | "exports" | "readme" | "registry" | "changeset" | "tree" | "boundary-invocations";
319
280
  interface RepoCommandIo {
320
- readonly out?: (line: string) => void;
321
281
  readonly err?: (line: string) => void;
282
+ readonly out?: (line: string) => void;
322
283
  }
323
284
  interface RepoToolingInvocation {
324
- readonly command: "check-exports" | "check-readme-imports" | "check-bunup-registry" | "check-changeset" | "check-clean-tree" | "check-boundary-invocations";
325
285
  readonly args: readonly string[];
286
+ readonly command: "check-exports" | "check-readme-imports" | "check-bunup-registry" | "check-changeset" | "check-clean-tree" | "check-boundary-invocations";
326
287
  readonly cwd: string;
327
288
  }
328
289
  interface CreateRepoCommandOptions {
329
290
  readonly commandName?: string;
330
291
  readonly io?: RepoCommandIo;
331
292
  readonly runDocsCheck?: (options: ExecuteCheckCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
332
- readonly runDocsSync?: (options: ExecuteSyncCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
333
293
  readonly runDocsExport?: (options: ExecuteExportCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
294
+ readonly runDocsSync?: (options: ExecuteSyncCommandOptions, io: Required<RepoCommandIo>) => Promise<number>;
334
295
  readonly runToolingCommand?: (input: RepoToolingInvocation) => Promise<number>;
335
296
  }
336
- declare function createRepoCommand(options?: CreateRepoCommandOptions): Command5;
337
- import { OutputMode as OutputMode4 } from "@outfitter/cli/types";
338
- import { Result as Result5 } from "@outfitter/contracts";
297
+ declare function createRepoCommand(options?: CreateRepoCommandOptions): Command4;
298
+ import { OutputMode as OutputMode3 } from "@outfitter/cli/types";
299
+ import { Result as Result4 } from "@outfitter/contracts";
339
300
  import { AddBlockResult as AddBlockResult2 } from "@outfitter/tooling";
340
- import { Command as Command6 } from "commander";
301
+ import { Command as Command5 } from "commander";
341
302
  interface ScaffoldOptions {
342
- readonly target: string;
343
- readonly name?: string | undefined;
303
+ readonly cwd: string;
304
+ readonly dryRun: boolean;
344
305
  readonly force: boolean;
306
+ readonly installTimeout?: number | undefined;
307
+ readonly local?: boolean | undefined;
308
+ readonly name?: string | undefined;
309
+ readonly noTooling?: boolean | undefined;
345
310
  readonly skipInstall: boolean;
346
- readonly dryRun: boolean;
311
+ readonly target: string;
347
312
  readonly with?: string | undefined;
348
- readonly noTooling?: boolean | undefined;
349
- readonly local?: boolean | undefined;
350
- readonly cwd: string;
351
- readonly installTimeout?: number | undefined;
352
313
  }
353
314
  interface ScaffoldCommandResult {
354
- readonly target: string;
355
- readonly rootDir: string;
356
- readonly targetDir: string;
315
+ readonly blocksAdded?: AddBlockResult2 | undefined;
357
316
  readonly converted: boolean;
317
+ readonly dryRunPlan?: {
318
+ readonly operations: readonly unknown[];
319
+ readonly summary: Record<string, number>;
320
+ } | undefined;
358
321
  readonly movedExisting?: {
359
322
  readonly from: string;
360
323
  readonly to: string;
361
324
  readonly name: string;
362
325
  } | undefined;
363
- readonly workspacePatternsUpdated: boolean;
364
- readonly blocksAdded?: AddBlockResult2 | undefined;
365
326
  readonly postScaffold: PostScaffoldResult;
366
- readonly dryRunPlan?: {
367
- readonly operations: readonly unknown[];
368
- readonly summary: Record<string, number>;
369
- } | undefined;
327
+ readonly rootDir: string;
328
+ readonly target: string;
329
+ readonly targetDir: string;
330
+ readonly workspacePatternsUpdated: boolean;
370
331
  }
371
332
  declare class ScaffoldCommandError extends Error {
372
333
  readonly _tag: "ScaffoldCommandError";
373
334
  constructor(message: string);
374
335
  }
375
- declare function runScaffold(options: ScaffoldOptions): Promise<Result5<ScaffoldCommandResult, ScaffoldCommandError>>;
336
+ declare function runScaffold(options: ScaffoldOptions): Promise<Result4<ScaffoldCommandResult, ScaffoldCommandError>>;
376
337
  declare function printScaffoldResults(result: ScaffoldCommandResult, options?: {
377
- readonly mode?: OutputMode4;
338
+ readonly mode?: OutputMode3;
378
339
  }): Promise<void>;
379
340
  /**
380
341
  * @deprecated Use action-registry CLI wiring via `buildCliCommands(outfitterActions, ...)`.
381
342
  */
382
- declare function scaffoldCommand(program: Command6): void;
383
- import { Result as Result6, ValidationError as ValidationError2 } from "@outfitter/contracts";
343
+ declare function scaffoldCommand(program: Command5): void;
344
+ import { Result as Result5, ValidationError as ValidationError2 } from "@outfitter/contracts";
384
345
  /**
385
346
  * Create planner types for kit-first project scaffolding.
386
347
  *
@@ -389,20 +350,20 @@ import { Result as Result6, ValidationError as ValidationError2 } from "@outfitt
389
350
  */
390
351
  type CreatePresetId = "basic" | "cli" | "daemon" | "mcp";
391
352
  interface CreatePresetDefinition {
353
+ readonly defaultBlocks: readonly string[];
392
354
  readonly id: CreatePresetId;
393
- readonly template: CreatePresetId;
394
355
  readonly summary: string;
395
- readonly defaultBlocks: readonly string[];
356
+ readonly template: CreatePresetId;
396
357
  }
397
358
  interface CreateProjectInput {
398
- readonly name: string;
399
- readonly targetDir: string;
400
- readonly preset: CreatePresetId;
401
- readonly packageName?: string;
402
359
  readonly description?: string;
403
- readonly version?: string;
404
360
  readonly includeTooling?: boolean;
405
361
  readonly local?: boolean;
362
+ readonly name: string;
363
+ readonly packageName?: string;
364
+ readonly preset: CreatePresetId;
365
+ readonly targetDir: string;
366
+ readonly version?: string;
406
367
  readonly year?: string;
407
368
  }
408
369
  type CreatePlanChange = {
@@ -420,6 +381,7 @@ type CreatePlanChange = {
420
381
  readonly blocks: readonly string[];
421
382
  };
422
383
  interface CreateProjectPlan {
384
+ readonly changes: readonly CreatePlanChange[];
423
385
  readonly preset: CreatePresetDefinition;
424
386
  readonly values: {
425
387
  readonly packageName: string;
@@ -429,10 +391,9 @@ interface CreateProjectPlan {
429
391
  readonly binName: string;
430
392
  readonly year: string;
431
393
  };
432
- readonly changes: readonly CreatePlanChange[];
433
394
  }
434
- declare function planCreateProject(input: CreateProjectInput): Result6<CreateProjectPlan, ValidationError2>;
395
+ declare function planCreateProject(input: CreateProjectInput): Result5<CreateProjectPlan, ValidationError2>;
435
396
  declare const CREATE_PRESETS: Readonly<Record<CreatePresetId, CreatePresetDefinition>>;
436
397
  declare const CREATE_PRESET_IDS: CreatePresetId[];
437
398
  declare function getCreatePreset(id: string): CreatePresetDefinition | undefined;
438
- export { scaffoldCommand, runScaffold, runMigrateKit, runInit, runDoctor, resolvePlacement, printScaffoldResults, printMigrateKitResults, printInitResults, printDoctorResults, planCreateProject, outfitterActions, migrateKitCommand, listTargets, initCommand, getTarget, getScaffoldTarget, getReadyTarget, getInitTarget, getCreatePreset, doctorCommand, createRepoCommand, TargetStatus, TargetScope, TargetId, TargetDefinition, TargetCategory, TARGET_REGISTRY, TARGET_IDS, ScaffoldOptions, ScaffoldCommandResult, ScaffoldCommandError, SCAFFOLD_TARGET_IDS, RepoToolingInvocation, RepoCommandIo, RepoCheckSubject, READY_TARGET_IDS, PackageJsonCheck, MigrateKitResult, MigrateKitOptions, MigrateKitError, InitStructure, InitResult, InitPresetId, InitOptions, InitError, INIT_TARGET_IDS, DoctorSummary, DoctorResult, DoctorOptions, DirectoriesCheck, DependenciesCheck, CreateRepoCommandOptions, CreateProjectPlan, CreateProjectInput, CreatePresetId, CreatePresetDefinition, CreatePlanChange, ConfigFilesCheck, CheckResult, CREATE_PRESET_IDS, CREATE_PRESETS, BunVersionCheck };
399
+ export { scaffoldCommand, runScaffold, runInit, runDoctor, resolvePlacement, printScaffoldResults, printInitResults, printDoctorResults, planCreateProject, outfitterActions, listTargets, initCommand, getTarget, getScaffoldTarget, getReadyTarget, getInitTarget, getCreatePreset, doctorCommand, createRepoCommand, TargetStatus, TargetScope, TargetId, TargetDefinition, TargetCategory, TARGET_REGISTRY, TARGET_IDS, ScaffoldOptions, ScaffoldCommandResult, ScaffoldCommandError, SCAFFOLD_TARGET_IDS, RepoToolingInvocation, RepoCommandIo, RepoCheckSubject, READY_TARGET_IDS, PackageJsonCheck, InitStructure, InitResult, InitPresetId, InitOptions, InitError, INIT_TARGET_IDS, DoctorSummary, DoctorResult, DoctorOptions, DirectoriesCheck, DependenciesCheck, CreateRepoCommandOptions, CreateProjectPlan, CreateProjectInput, CreatePresetId, CreatePresetDefinition, CreatePlanChange, ConfigFilesCheck, CheckResult, CREATE_PRESET_IDS, CREATE_PRESETS, BunVersionCheck };
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  INIT_TARGET_IDS,
3
3
  InitError,
4
- MigrateKitError,
5
4
  READY_TARGET_IDS,
6
5
  SCAFFOLD_TARGET_IDS,
7
6
  ScaffoldCommandError,
@@ -17,19 +16,16 @@ import {
17
16
  getTarget,
18
17
  initCommand,
19
18
  listTargets,
20
- migrateKitCommand,
21
19
  outfitterActions,
22
20
  printDoctorResults,
23
21
  printInitResults,
24
- printMigrateKitResults,
25
22
  printScaffoldResults,
26
23
  resolvePlacement,
27
24
  runDoctor,
28
25
  runInit,
29
- runMigrateKit,
30
26
  runScaffold,
31
27
  scaffoldCommand
32
- } from "./shared/chunk-k59f60cp.js";
28
+ } from "./shared/chunk-x6644tk8.js";
33
29
  // src/create/planner.ts
34
30
  import { Result, ValidationError } from "@outfitter/contracts";
35
31
 
@@ -139,17 +135,14 @@ function planCreateProject(input) {
139
135
  export {
140
136
  scaffoldCommand,
141
137
  runScaffold,
142
- runMigrateKit,
143
138
  runInit,
144
139
  runDoctor,
145
140
  resolvePlacement,
146
141
  printScaffoldResults,
147
- printMigrateKitResults,
148
142
  printInitResults,
149
143
  printDoctorResults,
150
144
  planCreateProject,
151
145
  outfitterActions,
152
- migrateKitCommand,
153
146
  listTargets,
154
147
  initCommand,
155
148
  getTarget,
@@ -164,7 +157,6 @@ export {
164
157
  ScaffoldCommandError,
165
158
  SCAFFOLD_TARGET_IDS,
166
159
  READY_TARGET_IDS,
167
- MigrateKitError,
168
160
  InitError,
169
161
  INIT_TARGET_IDS,
170
162
  CREATE_PRESET_IDS,
@@ -2,17 +2,17 @@ import { OutfitterError, Result } from "@outfitter/contracts";
2
2
  import { ZodType } from "zod";
3
3
  /** A single block entry in the manifest. */
4
4
  interface BlockEntry {
5
- /** Tooling version the block was installed from. */
6
- installedFrom: string;
7
5
  /** ISO 8601 timestamp of when the block was installed or last updated. */
8
6
  installedAt: string;
7
+ /** Tooling version the block was installed from. */
8
+ installedFrom: string;
9
9
  }
10
10
  /** The full manifest structure. */
11
11
  interface Manifest {
12
- /** Manifest format version. Currently always 1. */
13
- version: 1;
14
12
  /** Map of block name to install metadata. */
15
13
  blocks: Record<string, BlockEntry>;
14
+ /** Manifest format version. Currently always 1. */
15
+ version: 1;
16
16
  }
17
17
  /**
18
18
  * Schema for a single block entry in the manifest.
@@ -1,2 +1,2 @@
1
- import { CliOutputMode, StructuredOutputMode, resolveOutputModeFromContext, resolveStructuredOutputMode } from "./shared/outfitter-a79xrm12";
1
+ import { CliOutputMode, StructuredOutputMode, resolveOutputModeFromContext, resolveStructuredOutputMode } from "./shared/outfitter-a79xrm12.js";
2
2
  export { resolveStructuredOutputMode, resolveOutputModeFromContext, StructuredOutputMode, CliOutputMode };