@codedrifters/configulator 0.0.175 → 0.0.177

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
@@ -888,6 +888,12 @@ declare const pnpmBundle: AgentRuleBundle;
888
888
  */
889
889
  declare const projenBundle: AgentRuleBundle;
890
890
 
891
+ /**
892
+ * Slack bundle — opt-in via `includeBundles: ["slack"]`.
893
+ * Never auto-detected (no Slack dependency to introspect).
894
+ */
895
+ declare const slackBundle: AgentRuleBundle;
896
+
891
897
  /**
892
898
  * Turborepo bundle — auto-detected when the TurboRepo component is present.
893
899
  */
@@ -1530,7 +1536,7 @@ declare const VERSION: {
1530
1536
  *
1531
1537
  * CLI and lib are versioned separately, so this is the CLI version.
1532
1538
  */
1533
- readonly AWS_CDK_CLI_VERSION: "2.1117.0";
1539
+ readonly AWS_CDK_CLI_VERSION: "2.1118.0";
1534
1540
  /**
1535
1541
  * CDK Version to use for construct projects.
1536
1542
  *
@@ -1552,7 +1558,7 @@ declare const VERSION: {
1552
1558
  /**
1553
1559
  * Version of Projen to use.
1554
1560
  */
1555
- readonly PROJEN_VERSION: "0.99.38";
1561
+ readonly PROJEN_VERSION: "0.99.42";
1556
1562
  /**
1557
1563
  * What version of the turborepo library should we use?
1558
1564
  */
@@ -1560,7 +1566,7 @@ declare const VERSION: {
1560
1566
  /**
1561
1567
  * Version of @types/node to use across all packages (pnpm catalog).
1562
1568
  */
1563
- readonly TYPES_NODE_VERSION: "24.12.2";
1569
+ readonly TYPES_NODE_VERSION: "25.5.2";
1564
1570
  /**
1565
1571
  * What version of Vite to use (pnpm override). Pinned to 5.x so Vitest 4.x
1566
1572
  * can load config (Vite 6+/7+ are ESM-only; see issue #142). Remove override
@@ -2838,4 +2844,4 @@ declare const COMPLETE_JOB_ID = "complete";
2838
2844
  */
2839
2845
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
2840
2846
 
2841
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentModel, type AgentPlatform, type AgentPlatformOverrides, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type ApproveMergeUpgradeOptions, type AwsAccount, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, type DeployWorkflowOptions, type DeploymentMetadata, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, type McpServerConfig, type McpTransport, type MergeMethod, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, ProjectMetadata, type ProjectMetadataOptions, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedProjectMetadata, type SlackMetadata, type TemplateResolveResult, TestRunner, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, pnpmBundle, projenBundle, resolveTemplateVariables, turborepoBundle, typescriptBundle, vitestBundle };
2847
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentModel, type AgentPlatform, type AgentPlatformOverrides, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type ApproveMergeUpgradeOptions, type AwsAccount, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, type DeployWorkflowOptions, type DeploymentMetadata, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, type McpServerConfig, type McpTransport, type MergeMethod, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, ProjectMetadata, type ProjectMetadataOptions, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedProjectMetadata, type SlackMetadata, type TemplateResolveResult, TestRunner, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, pnpmBundle, projenBundle, resolveTemplateVariables, slackBundle, turborepoBundle, typescriptBundle, vitestBundle };
package/lib/index.d.ts CHANGED
@@ -937,6 +937,12 @@ declare const pnpmBundle: AgentRuleBundle;
937
937
  */
938
938
  declare const projenBundle: AgentRuleBundle;
939
939
 
940
+ /**
941
+ * Slack bundle — opt-in via `includeBundles: ["slack"]`.
942
+ * Never auto-detected (no Slack dependency to introspect).
943
+ */
944
+ declare const slackBundle: AgentRuleBundle;
945
+
940
946
  /**
941
947
  * Turborepo bundle — auto-detected when the TurboRepo component is present.
942
948
  */
@@ -1579,7 +1585,7 @@ declare const VERSION: {
1579
1585
  *
1580
1586
  * CLI and lib are versioned separately, so this is the CLI version.
1581
1587
  */
1582
- readonly AWS_CDK_CLI_VERSION: "2.1117.0";
1588
+ readonly AWS_CDK_CLI_VERSION: "2.1118.0";
1583
1589
  /**
1584
1590
  * CDK Version to use for construct projects.
1585
1591
  *
@@ -1601,7 +1607,7 @@ declare const VERSION: {
1601
1607
  /**
1602
1608
  * Version of Projen to use.
1603
1609
  */
1604
- readonly PROJEN_VERSION: "0.99.38";
1610
+ readonly PROJEN_VERSION: "0.99.42";
1605
1611
  /**
1606
1612
  * What version of the turborepo library should we use?
1607
1613
  */
@@ -1609,7 +1615,7 @@ declare const VERSION: {
1609
1615
  /**
1610
1616
  * Version of @types/node to use across all packages (pnpm catalog).
1611
1617
  */
1612
- readonly TYPES_NODE_VERSION: "24.12.2";
1618
+ readonly TYPES_NODE_VERSION: "25.5.2";
1613
1619
  /**
1614
1620
  * What version of Vite to use (pnpm override). Pinned to 5.x so Vitest 4.x
1615
1621
  * can load config (Vite 6+/7+ are ESM-only; see issue #142). Remove override
@@ -2887,5 +2893,5 @@ declare const COMPLETE_JOB_ID = "complete";
2887
2893
  */
2888
2894
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
2889
2895
 
2890
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, JsiiFaker, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MonorepoProject, PROD_DEPLOY_NAME, PnpmWorkspace, ProjectMetadata, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, pnpmBundle, projenBundle, resolveTemplateVariables, turborepoBundle, typescriptBundle, vitestBundle };
2896
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, JsiiFaker, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MonorepoProject, PROD_DEPLOY_NAME, PnpmWorkspace, ProjectMetadata, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, pnpmBundle, projenBundle, resolveTemplateVariables, slackBundle, turborepoBundle, typescriptBundle, vitestBundle };
2891
2897
  export type { AgentConfigOptions, AgentModel, AgentPlatform, AgentPlatformOverrides, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, ApproveMergeUpgradeOptions, AwsAccount, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, DeployWorkflowOptions, DeploymentMetadata, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, McpServerConfig, McpTransport, MergeMethod, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedProjectMetadata, SlackMetadata, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
package/lib/index.js CHANGED
@@ -217,6 +217,7 @@ __export(index_exports, {
217
217
  pnpmBundle: () => pnpmBundle,
218
218
  projenBundle: () => projenBundle,
219
219
  resolveTemplateVariables: () => resolveTemplateVariables,
220
+ slackBundle: () => slackBundle,
220
221
  turborepoBundle: () => turborepoBundle,
221
222
  typescriptBundle: () => typescriptBundle,
222
223
  vitestBundle: () => vitestBundle
@@ -322,12 +323,16 @@ var awsCdkBundle = {
322
323
  "## Filename / Class Name Matching",
323
324
  "",
324
325
  "- Kebab-case filenames must mirror PascalCase class names (e.g., `my-construct.ts` \u2192 `MyConstruct`)",
326
+ "- Name props interfaces `ClassNameProps` (e.g., `MyConstructProps`)",
325
327
  "- One primary construct per file; supporting types (props interface, enums) live in the same file",
326
328
  "- Test files follow the same pattern: `my-construct.spec.ts`",
329
+ "- When renaming, prefer renaming the class to match the filename",
327
330
  "",
328
331
  "## Cross-Stack Lookup Patterns",
329
332
  "",
330
- "- Lookups live on **service classes**, not component/construct classes",
333
+ "- Lookups live on **service classes**, not component/construct classes \u2014 do not add `fromConstruct()` or similar lookup methods to component classes",
334
+ "- Use `*.of(this)` for stack or service references where the pattern exists in the codebase",
335
+ "- Within services, prefer creating resources in protected methods; expose retrieval via static methods on the owning service",
331
336
  "- Use static methods for cross-stack lookups so consumers don't need an instance:",
332
337
  "",
333
338
  "```typescript",
@@ -353,6 +358,11 @@ var awsCdkBundle = {
353
358
  "- Use SSM parameters for cross-stack references when needed",
354
359
  "- Do not pass values between stacks; use SSM parameters instead",
355
360
  "",
361
+ "## Lambda Handlers (NodejsFunction)",
362
+ "",
363
+ "- When adding a `NodejsFunction` with a bundled handler, ensure the `entry` path is explicitly configured",
364
+ "- Verify the entry is included in the build tool config (e.g., tsup entry list) so the runtime can find the handler",
365
+ "",
356
366
  "## CDK Testing",
357
367
  "",
358
368
  "- Mock `Code.fromAsset` in any test file that synthesizes CDK stacks",
@@ -592,7 +602,7 @@ var baseBundle = {
592
602
  "## Code Formatting",
593
603
  "",
594
604
  "- Use **Prettier** for formatting (runs automatically on save in VS Code)",
595
- "- Always use curly braces for control flow, even single-line statements",
605
+ "- Always use curly braces for control flow, even single-line statements; use multi-line format for complex conditionals",
596
606
  "- Prefer `const` over `let`; avoid `var`",
597
607
  "- Use trailing commas in multi-line objects/arrays",
598
608
  "",
@@ -606,13 +616,15 @@ var baseBundle = {
606
616
  "",
607
617
  "## Import Conventions",
608
618
  "",
609
- "- **Always use ES modules** (`import`/`export`), never `require()`",
619
+ "- **Always use ES modules** (`import`/`export`), never `require()` (exception: `.projenrc.ts` files where `require` is allowed)",
610
620
  "- Import order:",
611
621
  " 1. Built-in Node.js modules (e.g., `node:path`, `node:fs`)",
612
622
  " 2. External dependencies (alphabetically sorted)",
613
623
  " 3. Internal imports (relative paths)",
614
624
  "- Group imports with blank lines between groups",
615
625
  "- Alphabetize imports within each group (case-insensitive)",
626
+ "- Use absolute imports from package root when possible",
627
+ "- Avoid duplicate imports (`import/no-duplicates`); all imports must be resolvable (`import/no-unresolved`)",
616
628
  "",
617
629
  "## Error Handling",
618
630
  "",
@@ -1347,6 +1359,46 @@ var projenBundle = {
1347
1359
  ]
1348
1360
  };
1349
1361
 
1362
+ // src/agent/bundles/slack.ts
1363
+ var slackBundle = {
1364
+ name: "slack",
1365
+ description: "Slack MCP message formatting and best practices",
1366
+ appliesWhen: () => false,
1367
+ rules: [
1368
+ {
1369
+ name: "slack-message-formatting",
1370
+ description: "Format Slack messages with explicit links so bullets and labels render correctly",
1371
+ scope: AGENT_RULE_SCOPE.ALWAYS,
1372
+ content: [
1373
+ "# Slack Message Formatting",
1374
+ "",
1375
+ "When composing or sending messages to Slack (e.g., via Slack MCP tools like `slack_send_message`), use formatting that Slack's mrkdwn parser renders correctly.",
1376
+ "",
1377
+ "## Rules",
1378
+ "",
1379
+ "1. **Use Slack's explicit link syntax** for any link in a message:",
1380
+ " - Format: `<https://example.com|display text>`",
1381
+ " - Text outside the angle brackets (bullets, labels) stays separate and won't merge into the link",
1382
+ "",
1383
+ "2. **Do not rely on auto-linkification** when the message has bullets or labels before URLs \u2014 auto-linked URLs can break or merge with surrounding text",
1384
+ "",
1385
+ "3. **Put each list item on its own line** with a newline between items so list structure is clear",
1386
+ "",
1387
+ "4. **Example \u2014 preferred:**",
1388
+ " ```",
1389
+ " Status update:",
1390
+ "",
1391
+ " \u2022 Feature A: <https://github.com/org/repo/pull/1|repo#1>",
1392
+ " \u2022 Feature B: <https://github.com/org/repo/pull/2|repo#2>",
1393
+ " ```",
1394
+ "",
1395
+ "5. **Avoid:** Plain URLs immediately after a bullet/label on the same line (e.g., `\u2022 Feature A: https://github.com/...`) when sending via API, as it can render with bullets inside or between links"
1396
+ ].join("\n"),
1397
+ tags: ["workflow"]
1398
+ }
1399
+ ]
1400
+ };
1401
+
1350
1402
  // src/turbo/turbo-repo.ts
1351
1403
  var import_lib2 = require("projen/lib");
1352
1404
  var import_workflows_model = require("projen/lib/github/workflows-model");
@@ -1730,7 +1782,7 @@ var VERSION = {
1730
1782
  *
1731
1783
  * CLI and lib are versioned separately, so this is the CLI version.
1732
1784
  */
1733
- AWS_CDK_CLI_VERSION: "2.1117.0",
1785
+ AWS_CDK_CLI_VERSION: "2.1118.0",
1734
1786
  /**
1735
1787
  * CDK Version to use for construct projects.
1736
1788
  *
@@ -1752,7 +1804,7 @@ var VERSION = {
1752
1804
  /**
1753
1805
  * Version of Projen to use.
1754
1806
  */
1755
- PROJEN_VERSION: "0.99.38",
1807
+ PROJEN_VERSION: "0.99.42",
1756
1808
  /**
1757
1809
  * What version of the turborepo library should we use?
1758
1810
  */
@@ -1760,7 +1812,7 @@ var VERSION = {
1760
1812
  /**
1761
1813
  * Version of @types/node to use across all packages (pnpm catalog).
1762
1814
  */
1763
- TYPES_NODE_VERSION: "24.12.2",
1815
+ TYPES_NODE_VERSION: "25.5.2",
1764
1816
  /**
1765
1817
  * What version of Vite to use (pnpm override). Pinned to 5.x so Vitest 4.x
1766
1818
  * can load config (Vite 6+/7+ are ESM-only; see issue #142). Remove override
@@ -1927,7 +1979,8 @@ var BUILT_IN_BUNDLES = [
1927
1979
  pnpmBundle,
1928
1980
  awsCdkBundle,
1929
1981
  projenBundle,
1930
- githubWorkflowBundle
1982
+ githubWorkflowBundle,
1983
+ slackBundle
1931
1984
  ];
1932
1985
 
1933
1986
  // src/projects/project-metadata.ts
@@ -4362,6 +4415,7 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen16.Compone
4362
4415
  pnpmBundle,
4363
4416
  projenBundle,
4364
4417
  resolveTemplateVariables,
4418
+ slackBundle,
4365
4419
  turborepoBundle,
4366
4420
  typescriptBundle,
4367
4421
  vitestBundle