@codedrifters/configulator 0.0.159 → 0.0.161

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.mts CHANGED
@@ -2464,17 +2464,17 @@ interface MonorepoProjectOptions extends Omit<TypeScriptProjectOptions$1, "defau
2464
2464
  */
2465
2465
  readonly projectMetadata?: ProjectMetadataOptions | false;
2466
2466
  /**
2467
- * Enable AI agent configuration (Cursor, Claude Code rules).
2468
- * When true, generates rule files at the monorepo root with auto-detected
2469
- * bundles based on project and subproject introspection.
2467
+ * AI agent configuration (Cursor, Claude Code rules).
2468
+ * Generates rule files at the monorepo root with auto-detected bundles
2469
+ * based on project and subproject introspection.
2470
+ *
2471
+ * - `true` or `{}`: enable with auto-detected defaults
2472
+ * - `AgentConfigOptions`: enable with explicit configuration
2473
+ * - `false` or `undefined`: disabled (default)
2470
2474
  *
2471
2475
  * @default false
2472
2476
  */
2473
- readonly agentConfig?: boolean;
2474
- /**
2475
- * Options for the AgentConfig component. Only used when `agentConfig` is true.
2476
- */
2477
- readonly agentConfigOptions?: AgentConfigOptions;
2477
+ readonly agentConfig?: AgentConfigOptions | boolean;
2478
2478
  }
2479
2479
  declare class MonorepoProject extends TypeScriptAppProject {
2480
2480
  /**
@@ -2659,6 +2659,20 @@ interface TypeScriptProjectOptions extends Omit<typescript.TypeScriptProjectOpti
2659
2659
  * Options for the reset task.
2660
2660
  */
2661
2661
  readonly resetTaskOptions?: ResetTaskOptions;
2662
+ /**
2663
+ * AI agent configuration (Cursor, Claude Code rules).
2664
+ * Generates rule files with auto-detected bundles based on project tooling.
2665
+ *
2666
+ * - `true` or `{}`: enable with auto-detected defaults
2667
+ * - `AgentConfigOptions`: enable with explicit configuration
2668
+ * - `false` or `undefined`: disabled (default)
2669
+ *
2670
+ * When the parent is a MonorepoProject with AgentConfig enabled and this
2671
+ * option is not explicitly set, the sub-project inherits enablement.
2672
+ *
2673
+ * @default false
2674
+ */
2675
+ readonly agentConfig?: AgentConfigOptions | boolean;
2662
2676
  }
2663
2677
  declare class TypeScriptProject extends typescript.TypeScriptProject {
2664
2678
  constructor(userOptions: TypeScriptProjectOptions);
package/lib/index.d.ts CHANGED
@@ -2513,17 +2513,17 @@ interface MonorepoProjectOptions extends Omit<TypeScriptProjectOptions$1, "defau
2513
2513
  */
2514
2514
  readonly projectMetadata?: ProjectMetadataOptions | false;
2515
2515
  /**
2516
- * Enable AI agent configuration (Cursor, Claude Code rules).
2517
- * When true, generates rule files at the monorepo root with auto-detected
2518
- * bundles based on project and subproject introspection.
2516
+ * AI agent configuration (Cursor, Claude Code rules).
2517
+ * Generates rule files at the monorepo root with auto-detected bundles
2518
+ * based on project and subproject introspection.
2519
+ *
2520
+ * - `true` or `{}`: enable with auto-detected defaults
2521
+ * - `AgentConfigOptions`: enable with explicit configuration
2522
+ * - `false` or `undefined`: disabled (default)
2519
2523
  *
2520
2524
  * @default false
2521
2525
  */
2522
- readonly agentConfig?: boolean;
2523
- /**
2524
- * Options for the AgentConfig component. Only used when `agentConfig` is true.
2525
- */
2526
- readonly agentConfigOptions?: AgentConfigOptions;
2526
+ readonly agentConfig?: AgentConfigOptions | boolean;
2527
2527
  }
2528
2528
  declare class MonorepoProject extends TypeScriptAppProject {
2529
2529
  /**
@@ -2708,6 +2708,20 @@ interface TypeScriptProjectOptions extends Omit<typescript.TypeScriptProjectOpti
2708
2708
  * Options for the reset task.
2709
2709
  */
2710
2710
  readonly resetTaskOptions?: ResetTaskOptions;
2711
+ /**
2712
+ * AI agent configuration (Cursor, Claude Code rules).
2713
+ * Generates rule files with auto-detected bundles based on project tooling.
2714
+ *
2715
+ * - `true` or `{}`: enable with auto-detected defaults
2716
+ * - `AgentConfigOptions`: enable with explicit configuration
2717
+ * - `false` or `undefined`: disabled (default)
2718
+ *
2719
+ * When the parent is a MonorepoProject with AgentConfig enabled and this
2720
+ * option is not explicitly set, the sub-project inherits enablement.
2721
+ *
2722
+ * @default false
2723
+ */
2724
+ readonly agentConfig?: AgentConfigOptions | boolean;
2711
2725
  }
2712
2726
  declare class TypeScriptProject extends typescript.TypeScriptProject {
2713
2727
  constructor(userOptions: TypeScriptProjectOptions);
package/lib/index.js CHANGED
@@ -2761,6 +2761,16 @@ var TypeScriptProject = class extends import_projen12.typescript.TypeScriptProje
2761
2761
  turbo.compileTask?.outputs.push("dist/**");
2762
2762
  turbo.compileTask?.outputs.push("lib/**");
2763
2763
  }
2764
+ const parentHasAgentConfig = userOptions.parent instanceof MonorepoProject && AgentConfig.of(userOptions.parent) !== void 0;
2765
+ if (options.agentConfig !== false) {
2766
+ const shouldEnable = typeof options.agentConfig === "object" || options.agentConfig === true || parentHasAgentConfig;
2767
+ if (shouldEnable) {
2768
+ new AgentConfig(
2769
+ this,
2770
+ typeof options.agentConfig === "object" ? options.agentConfig : {}
2771
+ );
2772
+ }
2773
+ }
2764
2774
  if (options.resetTask !== false) {
2765
2775
  const defaultResetTaskOptions = {
2766
2776
  pathsToRemove: [
@@ -3258,7 +3268,10 @@ var MonorepoProject = class extends import_typescript3.TypeScriptAppProject {
3258
3268
  );
3259
3269
  }
3260
3270
  if (options.agentConfig) {
3261
- new AgentConfig(this, options.agentConfigOptions);
3271
+ new AgentConfig(
3272
+ this,
3273
+ typeof options.agentConfig === "object" ? options.agentConfig : {}
3274
+ );
3262
3275
  }
3263
3276
  if (this.buildWorkflow) {
3264
3277
  addBuildCompleteJob(this.buildWorkflow);