@codedrifters/configulator 0.0.256 → 0.0.258

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
@@ -1120,6 +1120,302 @@ interface FocusConfig {
1120
1120
  */
1121
1121
  readonly agentExpansionRules?: AgentExpansionRules;
1122
1122
  }
1123
+ /*******************************************************************************
1124
+ *
1125
+ * Meetings Config
1126
+ *
1127
+ ******************************************************************************/
1128
+ /**
1129
+ * Scope classifier for a meeting type. Used by the `meeting-analysis`
1130
+ * bundle to reason about where a given meeting belongs (internal vs
1131
+ * external) and, for external meetings, the nature of the other party.
1132
+ *
1133
+ * - `internal-recurring` — recurring internal meeting (weekly standup,
1134
+ * team sync, planning cadence).
1135
+ * - `internal-oneoff` — one-off internal meeting (brainstorm, kickoff,
1136
+ * retro).
1137
+ * - `external-customer` — meeting with an existing paying customer.
1138
+ * - `external-prospect` — meeting with a sales prospect not yet under
1139
+ * contract.
1140
+ * - `external-partner` — meeting with a partner (integration, vendor,
1141
+ * channel).
1142
+ * - `external-other` — any external meeting that does not fit the
1143
+ * customer / prospect / partner buckets.
1144
+ */
1145
+ type MeetingScope = "internal-recurring" | "internal-oneoff" | "external-customer" | "external-prospect" | "external-partner" | "external-other";
1146
+ /**
1147
+ * A single meeting-type taxonomy entry declared by the consuming repo.
1148
+ * Each entry names a kind of meeting the project recognizes
1149
+ * (`founders-weekly`, `customer-discovery`, etc.) and supplies the
1150
+ * per-type metadata agents need to route, default, and template that
1151
+ * meeting.
1152
+ *
1153
+ * When `AgentConfigOptions.meetings.meetingTypes` is non-empty, the
1154
+ * `meeting-analysis` bundle renders a "Recognized meeting types"
1155
+ * subsection listing every declared type so agents pick from the
1156
+ * project's vocabulary rather than guessing.
1157
+ *
1158
+ * @see MeetingsConfig
1159
+ * @see ./bundles/meeting-types.ts#renderMeetingTypesSection
1160
+ */
1161
+ interface MeetingType {
1162
+ /**
1163
+ * Stable machine identifier for the meeting type. Used as the
1164
+ * `meeting_type` frontmatter value on meeting notes and as the key
1165
+ * that the future `agenda` bundle will look up when selecting a
1166
+ * pre-meeting template.
1167
+ * @example 'founders-weekly', 'customer-discovery', 'sprint-review'
1168
+ */
1169
+ readonly id: string;
1170
+ /** Human-readable label shown in generated rule content. */
1171
+ readonly label: string;
1172
+ /**
1173
+ * Scope classification — whether the meeting is internal (recurring
1174
+ * or one-off) or external (customer / prospect / partner / other).
1175
+ */
1176
+ readonly scope: MeetingScope;
1177
+ /**
1178
+ * Default scheduled duration in minutes. Optional; agents may use
1179
+ * this when proposing calendar holds or when validating a
1180
+ * transcript's recorded duration against the type's expected
1181
+ * duration.
1182
+ */
1183
+ readonly defaultDurationMinutes?: number;
1184
+ /**
1185
+ * Path to a pre-meeting agenda skeleton for this type, resolved
1186
+ * relative to `MeetingsConfig.agendaTemplateRoot`. Optional — a
1187
+ * type without a template simply has no canned agenda.
1188
+ * @example 'founders-weekly.md', 'customer-discovery/v2.md'
1189
+ */
1190
+ readonly agendaTemplatePath?: string;
1191
+ /**
1192
+ * Human-readable cadence descriptor. Free-form text — agents
1193
+ * surface the string verbatim rather than parsing it.
1194
+ * @example 'weekly', 'every 2 weeks', 'one-off'
1195
+ */
1196
+ readonly cadence?: string;
1197
+ }
1198
+ /**
1199
+ * 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.
1203
+ *
1204
+ * Example: declaring `{ id: 'product-engineering', label: 'Product &
1205
+ * Engineering', docRoot: 'product' }` tells the `meeting-analysis`
1206
+ * bundle that a meeting whose frontmatter carries
1207
+ * `area: product-engineering` should have its direct edits routed
1208
+ * under `<docsRoot>/product/`.
1209
+ *
1210
+ * When `AgentConfigOptions.meetings.meetingAreas` is non-empty, the
1211
+ * `meeting-analysis` bundle renders an "Area → doc-root mapping"
1212
+ * subsection documenting every declared area and its resolved
1213
+ * destination.
1214
+ *
1215
+ * @see MeetingsConfig
1216
+ * @see ./bundles/meeting-types.ts#renderMeetingTypesSection
1217
+ */
1218
+ interface MeetingArea {
1219
+ /**
1220
+ * Stable machine identifier for the area. Matches the `area`
1221
+ * frontmatter value on meeting notes.
1222
+ * @example 'product-engineering', 'go-to-market', 'operations'
1223
+ */
1224
+ readonly id: string;
1225
+ /** Human-readable label shown in generated rule content. */
1226
+ readonly label: string;
1227
+ /**
1228
+ * Destination folder for phase-4 direct edits on meeting notes
1229
+ * carrying this area. Interpreted **relative to the resolved
1230
+ * docs root** (`AgentPathsConfig.docsRoot`, default
1231
+ * `docs/src/content/docs`). Do not include a leading slash.
1232
+ * @example 'product', 'gtm', 'operations'
1233
+ */
1234
+ readonly docRoot: string;
1235
+ }
1236
+ /**
1237
+ * Meeting-analysis injection points — the set of typed
1238
+ * configurations agents consult when classifying, routing, and
1239
+ * templating a meeting. Every field is optional.
1240
+ *
1241
+ * - `meetingTypes` — the set of meeting types the repo recognizes.
1242
+ * - `meetingAreas` — maps `area` frontmatter to doc-root sub-trees.
1243
+ * - `agendaTemplateRoot` — where pre-meeting agenda skeletons live.
1244
+ *
1245
+ * When supplied, the `meeting-analysis` bundle conditionally renders
1246
+ * two new subsections into the `meeting-processing-workflow` rule —
1247
+ * "Recognized meeting types" (when `meetingTypes` is non-empty) and
1248
+ * "Area → doc-root mapping" (when `meetingAreas` is non-empty).
1249
+ *
1250
+ * @see MeetingType
1251
+ * @see MeetingArea
1252
+ * @see ./bundles/meeting-types.ts#renderMeetingTypesSection
1253
+ */
1254
+ interface MeetingsConfig {
1255
+ /**
1256
+ * Meeting-type taxonomy. An empty or missing list means the
1257
+ * consuming repo does not classify meetings by type; the
1258
+ * `meeting-analysis` bundle falls back to its generic 4-phase
1259
+ * behaviour.
1260
+ */
1261
+ readonly meetingTypes?: ReadonlyArray<MeetingType>;
1262
+ /**
1263
+ * Meeting-area map. An empty or missing list means the consuming
1264
+ * repo does not route meetings by area; phase-4 direct edits
1265
+ * continue to land under the default meetings root.
1266
+ */
1267
+ readonly meetingAreas?: ReadonlyArray<MeetingArea>;
1268
+ /**
1269
+ * Root folder containing pre-meeting agenda-template skeletons.
1270
+ * Resolved at issue-creation time by the (future) `agenda` bundle
1271
+ * when selecting a template for a given `meeting_type`.
1272
+ *
1273
+ * When unset, the `meeting-analysis` bundle documents the default
1274
+ * of `<meetingsRoot>/_agenda-templates` — consumers that wire a
1275
+ * custom `AgentPathsConfig.meetingsRoot` inherit the override
1276
+ * automatically.
1277
+ * @default "<meetingsRoot>/_agenda-templates"
1278
+ */
1279
+ readonly agendaTemplateRoot?: string;
1280
+ }
1281
+ /*******************************************************************************
1282
+ *
1283
+ * Agent Features Config
1284
+ *
1285
+ ******************************************************************************/
1286
+ /**
1287
+ * Per-tier lists of domain-specific source examples injected into the
1288
+ * base bundle's "Source Quality & Verification" rule under each of the
1289
+ * T1 / T2 / T3 / T4 headings.
1290
+ *
1291
+ * Every field is optional. When a field is set, the `base` bundle
1292
+ * renders a bullet list of the supplied examples beneath the
1293
+ * corresponding tier heading; when a field is unset, the tier heading
1294
+ * renders with its generic examples only.
1295
+ *
1296
+ * The examples are emitted verbatim — supply fully-formed descriptive
1297
+ * strings ("FHIR R4 capability statements", "SEC EDGAR filings").
1298
+ *
1299
+ * @see AgentFeaturesConfig
1300
+ * @see ./bundles/features.ts#renderSourceTierExamples
1301
+ */
1302
+ interface SourceTierExamples {
1303
+ /**
1304
+ * Primary living sources — T1. Examples that update when reality
1305
+ * changes (official product docs, company about/leadership pages,
1306
+ * live government registries).
1307
+ */
1308
+ readonly t1?: ReadonlyArray<string>;
1309
+ /**
1310
+ * Primary snapshot sources — T2. Examples that capture a moment in
1311
+ * time from the authoritative party (press releases, earnings
1312
+ * transcripts, regulatory filings, conference presentations).
1313
+ */
1314
+ readonly t2?: ReadonlyArray<string>;
1315
+ /**
1316
+ * Secondary sources — T3. Examples that interpret primary material
1317
+ * (news articles, trade press, analyst reports, industry databases).
1318
+ */
1319
+ readonly t3?: ReadonlyArray<string>;
1320
+ /**
1321
+ * Self-reported or marketing sources — T4. Examples that require
1322
+ * corroboration before any factual claim rides on them (vendor
1323
+ * comparison pages, testimonials, social posts, job listings,
1324
+ * Wikipedia).
1325
+ */
1326
+ readonly t4?: ReadonlyArray<string>;
1327
+ }
1328
+ /**
1329
+ * A single consumer-supplied doc-section template injected into a
1330
+ * bundle's rule content at rule-generation time.
1331
+ *
1332
+ * The configulator framework is deliberately generic here — it
1333
+ * matches by `bundleName` and appends `body` verbatim under a new
1334
+ * `## <sectionTitle>` heading after the first rule in the target
1335
+ * bundle whose content contains `## <afterSection>`. Named feature
1336
+ * toggles (stealth-mode, consortium-model, etc.) belong in downstream
1337
+ * consumer repos that compose the primitive this interface exposes.
1338
+ *
1339
+ * Placeholder substitution (`{{foo}}`) is **not** performed at
1340
+ * rule-generation time — the `body` string is emitted verbatim.
1341
+ * Any templating is the agent's responsibility at document-authoring
1342
+ * time, not configulator's.
1343
+ *
1344
+ * @see AgentFeaturesConfig
1345
+ * @see ./bundles/features.ts#renderCustomDocSection
1346
+ */
1347
+ interface CustomDocSection {
1348
+ /**
1349
+ * Target bundle id. Must match an `AgentRuleBundle.name` that is
1350
+ * active in the project. If no active bundle has this name, the
1351
+ * section is silently dropped.
1352
+ * @example 'company-profile', 'meeting-analysis', 'bcm-writer'
1353
+ */
1354
+ readonly bundleName: string;
1355
+ /**
1356
+ * Heading text (without any leading `#` characters) of the existing
1357
+ * section this custom section is inserted after. The framework
1358
+ * searches every rule in the target bundle for a heading line at
1359
+ * any level (`#` through `######`) whose text equals `afterSection`;
1360
+ * the first rule that contains such a heading is the insertion site.
1361
+ * Matching any level lets consumers hook into single-`#` bundle-rule
1362
+ * titles (e.g. `# Company Profile Workflow`) as well as nested `##` /
1363
+ * `###` subsections. If no rule contains a matching heading, the
1364
+ * section is silently dropped.
1365
+ *
1366
+ * Multiple entries targeting the same heading render in supplied
1367
+ * order — the first entry lands directly beneath the target heading
1368
+ * block, the second below it, and so on.
1369
+ * @example 'Company Profile Workflow', 'Company Type Taxonomy', 'Output Boundaries'
1370
+ */
1371
+ readonly afterSection: string;
1372
+ /**
1373
+ * Heading text for the injected section, rendered as
1374
+ * `## <sectionTitle>`.
1375
+ * @example 'Consortium Membership', 'Vortex Relevance'
1376
+ */
1377
+ readonly sectionTitle: string;
1378
+ /**
1379
+ * Markdown body emitted verbatim beneath the `## <sectionTitle>`
1380
+ * heading. Trailing newlines are trimmed before rendering.
1381
+ */
1382
+ readonly body: string;
1383
+ }
1384
+ /**
1385
+ * Framework injection points for source-tier customization and
1386
+ * custom doc sections. Supplied via `AgentConfigOptions.features`.
1387
+ *
1388
+ * - `sourceTierExamples` — per-tier domain-specific examples that get
1389
+ * listed under each tier in the base bundle's "Source Quality &
1390
+ * Verification" rule.
1391
+ * - `customDocSections` — per-bundle section templates that render
1392
+ * verbatim after an existing section heading in the target bundle's
1393
+ * rule content.
1394
+ *
1395
+ * Named feature toggles (`consortium-model`, `stealth-mode`, etc.)
1396
+ * are deliberately **not** part of this config surface. They belong
1397
+ * in downstream consumer repos built on top of the generic
1398
+ * `customDocSections` primitive.
1399
+ *
1400
+ * @see SourceTierExamples
1401
+ * @see CustomDocSection
1402
+ * @see ./bundles/features.ts
1403
+ */
1404
+ interface AgentFeaturesConfig {
1405
+ /**
1406
+ * Per-tier lists of domain-specific source examples injected under
1407
+ * T1 / T2 / T3 / T4 in the base bundle's "Source Quality &
1408
+ * Verification" rule.
1409
+ */
1410
+ readonly sourceTierExamples?: SourceTierExamples;
1411
+ /**
1412
+ * Custom doc-section templates to inject into active bundles at
1413
+ * rule-generation time. Each entry names the target bundle, the
1414
+ * section heading to insert after, the injected section's title,
1415
+ * and the body to emit verbatim.
1416
+ */
1417
+ readonly customDocSections?: ReadonlyArray<CustomDocSection>;
1418
+ }
1123
1419
  /*******************************************************************************
1124
1420
  *
1125
1421
  * AgentConfig Options
@@ -1252,6 +1548,47 @@ interface AgentConfigOptions {
1252
1548
  * @see ./bundles/focus.ts#renderFocusSection
1253
1549
  */
1254
1550
  readonly focus?: FocusConfig;
1551
+ /**
1552
+ * Meeting-analysis injection points — typed configs the
1553
+ * `meeting-analysis` bundle consults when classifying, routing, and
1554
+ * templating meetings. Supplies the meeting-type taxonomy, the
1555
+ * area → doc-root routing map, and the agenda-template root used
1556
+ * by the (future) `agenda` bundle.
1557
+ *
1558
+ * When `meetingTypes` is non-empty, the `meeting-analysis` bundle
1559
+ * appends a "Recognized meeting types" subsection to the
1560
+ * `meeting-processing-workflow` rule. When `meetingAreas` is
1561
+ * non-empty, it appends an "Area → doc-root mapping" subsection.
1562
+ * When both are empty or unset, the generated rule content is
1563
+ * unchanged from the no-config baseline.
1564
+ *
1565
+ * @see MeetingsConfig
1566
+ * @see MeetingType
1567
+ * @see MeetingArea
1568
+ * @see ./bundles/meeting-types.ts#renderMeetingTypesSection
1569
+ */
1570
+ readonly meetings?: MeetingsConfig;
1571
+ /**
1572
+ * Framework injection points for source-tier customization and
1573
+ * custom doc sections.
1574
+ *
1575
+ * - `sourceTierExamples` — domain-specific examples injected under
1576
+ * T1 / T2 / T3 / T4 in the base bundle's "Source Quality &
1577
+ * Verification" rule.
1578
+ * - `customDocSections` — consumer-supplied section templates that
1579
+ * render verbatim after an existing section heading in a target
1580
+ * bundle's rule content.
1581
+ *
1582
+ * Named feature toggles (`consortium-model`, `stealth-mode`, etc.)
1583
+ * are intentionally out of scope here — build those on top of
1584
+ * `customDocSections` inside the consuming repo's projen config.
1585
+ *
1586
+ * @see AgentFeaturesConfig
1587
+ * @see SourceTierExamples
1588
+ * @see CustomDocSection
1589
+ * @see ./bundles/features.ts
1590
+ */
1591
+ readonly features?: AgentFeaturesConfig;
1255
1592
  }
1256
1593
 
1257
1594
  /**
@@ -1281,6 +1618,14 @@ declare class AgentConfig extends Component {
1281
1618
  * Find the AgentConfig component on a project.
1282
1619
  */
1283
1620
  static of(project: Project$1): AgentConfig | undefined;
1621
+ /**
1622
+ * Returns `true` when at least one tier array on the supplied
1623
+ * `SourceTierExamples` is non-empty, signalling that the consuming
1624
+ * repo has opted into rendering the base bundle's
1625
+ * `source-quality-verification` rule. Returns `false` for
1626
+ * `undefined`, `{}`, or a fully-empty `{ t1: [], t2: [], t3: [], t4: [] }`.
1627
+ */
1628
+ private static hasActiveTierExamples;
1284
1629
  /**
1285
1630
  * Merges default Claude permissions with bundle and user-supplied settings.
1286
1631
  *
@@ -1305,8 +1650,11 @@ declare class AgentConfig extends Component {
1305
1650
  /**
1306
1651
  * Return a bundle's rules with `filePatterns` narrowed to the projects
1307
1652
  * that actually matched the bundle's detection predicate (when the bundle
1308
- * provides `findApplicableProjects`). Rules with `ALWAYS` scope and rules
1309
- * on bundles that don't implement the hook are returned unchanged.
1653
+ * provides `findApplicableProjects`) and any project-specified
1654
+ * `features.customDocSections` entries injected into the matching rule
1655
+ * content. Rules with `ALWAYS` scope and rules on bundles that don't
1656
+ * implement the hook are returned with only the custom-section
1657
+ * transformation (if any) applied.
1310
1658
  */
1311
1659
  private bundleRulesFor;
1312
1660
  private resolveSkills;
@@ -1524,6 +1872,51 @@ declare const prReviewBundle: AgentRuleBundle;
1524
1872
  */
1525
1873
  declare const projenBundle: AgentRuleBundle;
1526
1874
 
1875
+ /**
1876
+ * Inject domain-specific source-tier examples into the content of the
1877
+ * base bundle's "Source Quality & Verification" rule.
1878
+ *
1879
+ * For every tier whose examples array is non-empty, a
1880
+ * `**Project-specific examples:**` line followed by a bullet list of
1881
+ * the supplied strings is appended immediately beneath the tier's
1882
+ * `### T<n> — ...` heading paragraph block. Tiers whose examples array
1883
+ * is missing or empty are left untouched.
1884
+ *
1885
+ * Returns the original `content` verbatim when the supplied config is
1886
+ * undefined or has no non-empty tier arrays, so callers can
1887
+ * unconditionally pipe content through this function.
1888
+ */
1889
+ declare function renderSourceTierExamples(content: string, examples: SourceTierExamples | undefined): string;
1890
+ /**
1891
+ * Apply every {@link CustomDocSection} that targets `bundle.name` to
1892
+ * the bundle's rules, returning a new bundle whose matched rules have
1893
+ * the section bodies appended after the configured `afterSection`
1894
+ * heading. Entries that reference a bundle name other than
1895
+ * `bundle.name`, or whose `afterSection` cannot be located in any
1896
+ * rule in the bundle, are silently dropped.
1897
+ *
1898
+ * Entries that target the same `afterSection` heading render in
1899
+ * supplied order — the first supplied entry appears immediately
1900
+ * beneath the target heading block, the second below that, and so on.
1901
+ * This is achieved by advancing the insertion anchor to each
1902
+ * just-injected section's `## <sectionTitle>` heading; the next
1903
+ * same-target entry then lands at the end of that newly-opened
1904
+ * section, which places it immediately after the previous entry
1905
+ * regardless of the original heading's level.
1906
+ *
1907
+ * Returns `bundle` unchanged when `sections` is empty or no entries
1908
+ * match, so callers can unconditionally pipe bundles through this
1909
+ * function without penalty.
1910
+ */
1911
+ declare function renderCustomDocSections(bundle: AgentRuleBundle, sections: ReadonlyArray<CustomDocSection>): AgentRuleBundle;
1912
+ /**
1913
+ * Render a {@link CustomDocSection} into the markdown block that
1914
+ * `renderCustomDocSections` splices after the target heading block.
1915
+ * Exposed for tests that exercise the renderer directly without
1916
+ * touching a full bundle.
1917
+ */
1918
+ declare function renderCustomDocSectionBlock(section: CustomDocSection): string;
1919
+
1527
1920
  /**
1528
1921
  * Render the markdown subsection appended to the
1529
1922
  * `issue-label-conventions` rule when `AgentConfigOptions.focus` is
@@ -1542,6 +1935,29 @@ declare const projenBundle: AgentRuleBundle;
1542
1935
  */
1543
1936
  declare function renderFocusSection(focus: FocusConfig | undefined): string;
1544
1937
 
1938
+ /**
1939
+ * Render the markdown subsections appended to the
1940
+ * `meeting-processing-workflow` rule when `AgentConfigOptions.meetings`
1941
+ * is supplied. Returns an empty string when the supplied config has
1942
+ * nothing to render (no meeting types and no meeting areas) so callers
1943
+ * can unconditionally concatenate the result.
1944
+ *
1945
+ * Two subsections are rendered, each gated on its own input array:
1946
+ *
1947
+ * 1. **Recognized meeting types** — rendered when `meetingTypes` is
1948
+ * non-empty. Lists every declared type with its scope, optional
1949
+ * cadence, default duration, and agenda template path. Also
1950
+ * documents the resolved `agendaTemplateRoot`.
1951
+ * 2. **Area → doc-root mapping** — rendered when `meetingAreas` is
1952
+ * non-empty. Lists every declared area with its `id`, label, and
1953
+ * docs-root-relative destination folder.
1954
+ *
1955
+ * Bundles consume the rendered string by appending it to their own
1956
+ * rule content. A caller that has no meeting types and no meeting
1957
+ * areas receives an empty string and can safely concatenate.
1958
+ */
1959
+ declare function renderMeetingTypesSection(meetings: MeetingsConfig | undefined): string;
1960
+
1545
1961
  /**
1546
1962
  * Render the markdown subsection appended to the
1547
1963
  * `issue-label-conventions` rule when `AgentConfigOptions.priorityRules`
@@ -4276,4 +4692,4 @@ declare const COMPLETE_JOB_ID = "complete";
4276
4692
  */
4277
4693
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
4278
4694
 
4279
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, 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, 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 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 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, renderFocusSection, renderPriorityRulesSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
4695
+ 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 };