@codedrifters/configulator 0.0.261 → 0.0.263

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
@@ -1143,6 +1143,33 @@ interface FocusConfig {
1143
1143
  * customer / prospect / partner buckets.
1144
1144
  */
1145
1145
  type MeetingScope = "internal-recurring" | "internal-oneoff" | "external-customer" | "external-prospect" | "external-partner" | "external-other";
1146
+ /**
1147
+ * Generic meeting-kind taxonomy. Each recognized meeting type maps to
1148
+ * one of these kinds, which the `meeting-analysis` bundle uses to
1149
+ * apply type-specific extraction rules in phases 1–2.
1150
+ *
1151
+ * The kind captures the **family** of meeting (how it should be
1152
+ * extracted), independent of the concrete project-specific `id`. For
1153
+ * example a repo may declare `founders-weekly` and `sprint-planning`
1154
+ * as two distinct `id`s that both map to `kind: 'planning'`.
1155
+ *
1156
+ * - `planning` — sprint or project planning. Focus on tasks, goals,
1157
+ * and assignments. Produces direct sprint-plan edits and task
1158
+ * issues.
1159
+ * - `review` — sprint review, retrospective, or decision review.
1160
+ * Captures retro learnings, status updates, and follow-ups.
1161
+ * - `brainstorm` — open-ended ideation. Lower bar for Open Questions
1162
+ * and Future Features; higher bar for requirement/ADR creation
1163
+ * (only Firm items).
1164
+ * - `standup` — short status meeting. Action items, blockers, sprint
1165
+ * status. Phase 3 (Draft) is almost always skipped.
1166
+ * - `external` — customer, prospect, partner, or conference debrief.
1167
+ * Emphasizes people/company profiles, customer pain points (as BR
1168
+ * candidates, not FR), and competitive intel.
1169
+ * - `other` — general meeting with no type-specific handling; the
1170
+ * default workflow applies.
1171
+ */
1172
+ type MeetingTypeKind = "planning" | "review" | "brainstorm" | "standup" | "external" | "other";
1146
1173
  /**
1147
1174
  * A single meeting-type taxonomy entry declared by the consuming repo.
1148
1175
  * Each entry names a kind of meeting the project recognizes
@@ -1174,6 +1201,18 @@ interface MeetingType {
1174
1201
  * or one-off) or external (customer / prospect / partner / other).
1175
1202
  */
1176
1203
  readonly scope: MeetingScope;
1204
+ /**
1205
+ * Generic meeting kind this type maps to. Drives which type-specific
1206
+ * extraction rules (Meeting Type Handling table) the `meeting-analysis`
1207
+ * bundle applies in phases 1–2. Optional — when omitted, the bundle
1208
+ * falls back to `other` (no type-specific rules).
1209
+ *
1210
+ * Multiple concrete `id`s can share the same `kind` (e.g., both
1211
+ * `founders-weekly` and `sprint-planning` may map to `planning`).
1212
+ *
1213
+ * @example 'planning', 'standup', 'external'
1214
+ */
1215
+ readonly kind?: MeetingTypeKind;
1177
1216
  /**
1178
1217
  * Default scheduled duration in minutes. Optional; agents may use
1179
1218
  * this when proposing calendar holds or when validating a
@@ -1197,14 +1236,17 @@ interface MeetingType {
1197
1236
  }
1198
1237
  /**
1199
1238
  * A single meeting-area entry. Meeting areas provide a coarse
1200
- * routing map from an `area` frontmatter value on a meeting note to
1201
- * the sub-tree of the docs root where phase-4 direct edits should
1202
- * land.
1239
+ * routing map from entries in an `areas:` frontmatter list on a
1240
+ * meeting note to the sub-tree of the docs root where phase-4
1241
+ * direct edits should land. A single meeting may declare multiple
1242
+ * areas; every matching entry's `docRoot` is in-scope for direct
1243
+ * edits on that meeting (see the `meeting-analyst` agent's
1244
+ * **Areas filtering** section for the full gating contract).
1203
1245
  *
1204
1246
  * Example: declaring `{ id: 'product-engineering', label: 'Product &
1205
1247
  * Engineering', docRoot: 'product' }` tells the `meeting-analysis`
1206
1248
  * bundle that a meeting whose frontmatter carries
1207
- * `area: product-engineering` should have its direct edits routed
1249
+ * `areas: [product-engineering]` should have its direct edits routed
1208
1250
  * under `<docsRoot>/product/`.
1209
1251
  *
1210
1252
  * When `AgentConfigOptions.meetings.meetingAreas` is non-empty, the
@@ -1217,8 +1259,8 @@ interface MeetingType {
1217
1259
  */
1218
1260
  interface MeetingArea {
1219
1261
  /**
1220
- * Stable machine identifier for the area. Matches the `area`
1221
- * frontmatter value on meeting notes.
1262
+ * Stable machine identifier for the area. Matches one of the
1263
+ * entries in the `areas:` frontmatter list on meeting notes.
1222
1264
  * @example 'product-engineering', 'go-to-market', 'operations'
1223
1265
  */
1224
1266
  readonly id: string;
@@ -1239,7 +1281,8 @@ interface MeetingArea {
1239
1281
  * templating a meeting. Every field is optional.
1240
1282
  *
1241
1283
  * - `meetingTypes` — the set of meeting types the repo recognizes.
1242
- * - `meetingAreas` — maps `area` frontmatter to doc-root sub-trees.
1284
+ * - `meetingAreas` — maps entries in the `areas:` frontmatter list
1285
+ * to doc-root sub-trees.
1243
1286
  * - `agendaTemplateRoot` — where pre-meeting agenda skeletons live.
1244
1287
  *
1245
1288
  * When supplied, the `meeting-analysis` bundle conditionally renders
@@ -1947,9 +1990,9 @@ declare function renderFocusSection(focus: FocusConfig | undefined): string;
1947
1990
  * Two subsections are rendered, each gated on its own input array:
1948
1991
  *
1949
1992
  * 1. **Recognized meeting types** — rendered when `meetingTypes` is
1950
- * non-empty. Lists every declared type with its scope, optional
1951
- * cadence, default duration, and agenda template path. Also
1952
- * documents the resolved `agendaTemplateRoot`.
1993
+ * non-empty. Lists every declared type with its scope, kind,
1994
+ * optional cadence, default duration, and agenda template path.
1995
+ * Also documents the resolved `agendaTemplateRoot`.
1953
1996
  * 2. **Area → doc-root mapping** — rendered when `meetingAreas` is
1954
1997
  * non-empty. Lists every declared area with its `id`, label, and
1955
1998
  * docs-root-relative destination folder.
@@ -2084,13 +2127,14 @@ declare const slackBundle: AgentRuleBundle;
2084
2127
  * Consuming projects can disable it with
2085
2128
  * `excludeBundles: ["software-profile"]`. `appliesWhen` always returns
2086
2129
  * `true` per the operating-system directive that bundles assume peers
2087
- * are present — in Phase 4 this bundle hands work off to
2088
- * `company-profile` (via `company:research`) and `people-profile` (via
2089
- * `people:research`).
2130
+ * are present — in Phase 4 this bundle hands work off to `bcm-writer`
2131
+ * (via `bcm:outline`) for unmapped features, and in Phase 5 it hands
2132
+ * off to `company-profile` (via `company:research`) and `people-profile`
2133
+ * (via `people:research`).
2090
2134
  *
2091
- * Ships a sub-agent (`software-profile-analyst`), a user-invocable skill
2092
- * (`/profile-software`), and `type:software-profile` plus `software:*`
2093
- * phase labels.
2135
+ * Ships a sub-agent (`software-profile-analyst`), two user-invocable
2136
+ * skills (`/profile-software` and `/map-software`), and
2137
+ * `type:software-profile` plus `software:*` phase labels.
2094
2138
  */
2095
2139
  declare const softwareProfileBundle: AgentRuleBundle;
2096
2140
 
@@ -4694,4 +4738,4 @@ declare const COMPLETE_JOB_ID = "complete";
4694
4738
  */
4695
4739
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
4696
4740
 
4697
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, 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 CustomDocSection, DEFAULT_AGENT_PATHS, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, type DeployWorkflowOptions, type DeploymentMetadata, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MeetingArea, type MeetingScope, type MeetingType, type MeetingsConfig, type MergeMethod, type MonorepoLayoutRoot, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, type PriorityRule, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedProjectMetadata, STARLIGHT_ROLE, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, 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, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, bcmWriterBundle, companyProfileBundle, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, renderCustomDocSectionBlock, renderCustomDocSections, renderFocusSection, renderMeetingTypesSection, renderPriorityRulesSection, renderSourceTierExamples, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
4741
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, 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 CustomDocSection, DEFAULT_AGENT_PATHS, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, type DeployWorkflowOptions, type DeploymentMetadata, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MeetingArea, type MeetingScope, type MeetingType, type MeetingTypeKind, type MeetingsConfig, type MergeMethod, type MonorepoLayoutRoot, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, type PriorityRule, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedProjectMetadata, STARLIGHT_ROLE, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, 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, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, bcmWriterBundle, companyProfileBundle, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, renderCustomDocSectionBlock, renderCustomDocSections, renderFocusSection, renderMeetingTypesSection, renderPriorityRulesSection, renderSourceTierExamples, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
package/lib/index.d.ts CHANGED
@@ -1192,6 +1192,33 @@ interface FocusConfig {
1192
1192
  * customer / prospect / partner buckets.
1193
1193
  */
1194
1194
  type MeetingScope = "internal-recurring" | "internal-oneoff" | "external-customer" | "external-prospect" | "external-partner" | "external-other";
1195
+ /**
1196
+ * Generic meeting-kind taxonomy. Each recognized meeting type maps to
1197
+ * one of these kinds, which the `meeting-analysis` bundle uses to
1198
+ * apply type-specific extraction rules in phases 1–2.
1199
+ *
1200
+ * The kind captures the **family** of meeting (how it should be
1201
+ * extracted), independent of the concrete project-specific `id`. For
1202
+ * example a repo may declare `founders-weekly` and `sprint-planning`
1203
+ * as two distinct `id`s that both map to `kind: 'planning'`.
1204
+ *
1205
+ * - `planning` — sprint or project planning. Focus on tasks, goals,
1206
+ * and assignments. Produces direct sprint-plan edits and task
1207
+ * issues.
1208
+ * - `review` — sprint review, retrospective, or decision review.
1209
+ * Captures retro learnings, status updates, and follow-ups.
1210
+ * - `brainstorm` — open-ended ideation. Lower bar for Open Questions
1211
+ * and Future Features; higher bar for requirement/ADR creation
1212
+ * (only Firm items).
1213
+ * - `standup` — short status meeting. Action items, blockers, sprint
1214
+ * status. Phase 3 (Draft) is almost always skipped.
1215
+ * - `external` — customer, prospect, partner, or conference debrief.
1216
+ * Emphasizes people/company profiles, customer pain points (as BR
1217
+ * candidates, not FR), and competitive intel.
1218
+ * - `other` — general meeting with no type-specific handling; the
1219
+ * default workflow applies.
1220
+ */
1221
+ type MeetingTypeKind = "planning" | "review" | "brainstorm" | "standup" | "external" | "other";
1195
1222
  /**
1196
1223
  * A single meeting-type taxonomy entry declared by the consuming repo.
1197
1224
  * Each entry names a kind of meeting the project recognizes
@@ -1223,6 +1250,18 @@ interface MeetingType {
1223
1250
  * or one-off) or external (customer / prospect / partner / other).
1224
1251
  */
1225
1252
  readonly scope: MeetingScope;
1253
+ /**
1254
+ * Generic meeting kind this type maps to. Drives which type-specific
1255
+ * extraction rules (Meeting Type Handling table) the `meeting-analysis`
1256
+ * bundle applies in phases 1–2. Optional — when omitted, the bundle
1257
+ * falls back to `other` (no type-specific rules).
1258
+ *
1259
+ * Multiple concrete `id`s can share the same `kind` (e.g., both
1260
+ * `founders-weekly` and `sprint-planning` may map to `planning`).
1261
+ *
1262
+ * @example 'planning', 'standup', 'external'
1263
+ */
1264
+ readonly kind?: MeetingTypeKind;
1226
1265
  /**
1227
1266
  * Default scheduled duration in minutes. Optional; agents may use
1228
1267
  * this when proposing calendar holds or when validating a
@@ -1246,14 +1285,17 @@ interface MeetingType {
1246
1285
  }
1247
1286
  /**
1248
1287
  * A single meeting-area entry. Meeting areas provide a coarse
1249
- * routing map from an `area` frontmatter value on a meeting note to
1250
- * the sub-tree of the docs root where phase-4 direct edits should
1251
- * land.
1288
+ * routing map from entries in an `areas:` frontmatter list on a
1289
+ * meeting note to the sub-tree of the docs root where phase-4
1290
+ * direct edits should land. A single meeting may declare multiple
1291
+ * areas; every matching entry's `docRoot` is in-scope for direct
1292
+ * edits on that meeting (see the `meeting-analyst` agent's
1293
+ * **Areas filtering** section for the full gating contract).
1252
1294
  *
1253
1295
  * Example: declaring `{ id: 'product-engineering', label: 'Product &
1254
1296
  * Engineering', docRoot: 'product' }` tells the `meeting-analysis`
1255
1297
  * bundle that a meeting whose frontmatter carries
1256
- * `area: product-engineering` should have its direct edits routed
1298
+ * `areas: [product-engineering]` should have its direct edits routed
1257
1299
  * under `<docsRoot>/product/`.
1258
1300
  *
1259
1301
  * When `AgentConfigOptions.meetings.meetingAreas` is non-empty, the
@@ -1266,8 +1308,8 @@ interface MeetingType {
1266
1308
  */
1267
1309
  interface MeetingArea {
1268
1310
  /**
1269
- * Stable machine identifier for the area. Matches the `area`
1270
- * frontmatter value on meeting notes.
1311
+ * Stable machine identifier for the area. Matches one of the
1312
+ * entries in the `areas:` frontmatter list on meeting notes.
1271
1313
  * @example 'product-engineering', 'go-to-market', 'operations'
1272
1314
  */
1273
1315
  readonly id: string;
@@ -1288,7 +1330,8 @@ interface MeetingArea {
1288
1330
  * templating a meeting. Every field is optional.
1289
1331
  *
1290
1332
  * - `meetingTypes` — the set of meeting types the repo recognizes.
1291
- * - `meetingAreas` — maps `area` frontmatter to doc-root sub-trees.
1333
+ * - `meetingAreas` — maps entries in the `areas:` frontmatter list
1334
+ * to doc-root sub-trees.
1292
1335
  * - `agendaTemplateRoot` — where pre-meeting agenda skeletons live.
1293
1336
  *
1294
1337
  * When supplied, the `meeting-analysis` bundle conditionally renders
@@ -1996,9 +2039,9 @@ declare function renderFocusSection(focus: FocusConfig | undefined): string;
1996
2039
  * Two subsections are rendered, each gated on its own input array:
1997
2040
  *
1998
2041
  * 1. **Recognized meeting types** — rendered when `meetingTypes` is
1999
- * non-empty. Lists every declared type with its scope, optional
2000
- * cadence, default duration, and agenda template path. Also
2001
- * documents the resolved `agendaTemplateRoot`.
2042
+ * non-empty. Lists every declared type with its scope, kind,
2043
+ * optional cadence, default duration, and agenda template path.
2044
+ * Also documents the resolved `agendaTemplateRoot`.
2002
2045
  * 2. **Area → doc-root mapping** — rendered when `meetingAreas` is
2003
2046
  * non-empty. Lists every declared area with its `id`, label, and
2004
2047
  * docs-root-relative destination folder.
@@ -2133,13 +2176,14 @@ declare const slackBundle: AgentRuleBundle;
2133
2176
  * Consuming projects can disable it with
2134
2177
  * `excludeBundles: ["software-profile"]`. `appliesWhen` always returns
2135
2178
  * `true` per the operating-system directive that bundles assume peers
2136
- * are present — in Phase 4 this bundle hands work off to
2137
- * `company-profile` (via `company:research`) and `people-profile` (via
2138
- * `people:research`).
2179
+ * are present — in Phase 4 this bundle hands work off to `bcm-writer`
2180
+ * (via `bcm:outline`) for unmapped features, and in Phase 5 it hands
2181
+ * off to `company-profile` (via `company:research`) and `people-profile`
2182
+ * (via `people:research`).
2139
2183
  *
2140
- * Ships a sub-agent (`software-profile-analyst`), a user-invocable skill
2141
- * (`/profile-software`), and `type:software-profile` plus `software:*`
2142
- * phase labels.
2184
+ * Ships a sub-agent (`software-profile-analyst`), two user-invocable
2185
+ * skills (`/profile-software` and `/map-software`), and
2186
+ * `type:software-profile` plus `software:*` phase labels.
2143
2187
  */
2144
2188
  declare const softwareProfileBundle: AgentRuleBundle;
2145
2189
 
@@ -4744,4 +4788,4 @@ declare const COMPLETE_JOB_ID = "complete";
4744
4788
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
4745
4789
 
4746
4790
  export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, DEFAULT_AGENT_PATHS, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, PROD_DEPLOY_NAME, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, STARLIGHT_ROLE, StarlightProject, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, bcmWriterBundle, companyProfileBundle, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, renderCustomDocSectionBlock, renderCustomDocSections, renderFocusSection, renderMeetingTypesSection, renderPriorityRulesSection, renderSourceTierExamples, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
4747
- export type { AgentConfigOptions, AgentExpansionRules, AgentFeaturesConfig, AgentModel, AgentPathsConfig, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, AwsTeardownWorkflowOptions, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, CustomDocSection, DeployWorkflowOptions, DeploymentMetadata, FocusArea, FocusAreaMatch, FocusConfig, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MeetingArea, MeetingScope, MeetingType, MeetingsConfig, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, PriorityRule, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedAgentPaths, ResolvedProjectMetadata, SlackMetadata, SourceTierExamples, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
4791
+ export type { AgentConfigOptions, AgentExpansionRules, AgentFeaturesConfig, AgentModel, AgentPathsConfig, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, AwsTeardownWorkflowOptions, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, CustomDocSection, DeployWorkflowOptions, DeploymentMetadata, FocusArea, FocusAreaMatch, FocusConfig, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MeetingArea, MeetingScope, MeetingType, MeetingTypeKind, MeetingsConfig, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, PriorityRule, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedAgentPaths, ResolvedProjectMetadata, SlackMetadata, SourceTierExamples, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };