@codedrifters/configulator 0.0.253 → 0.0.255
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 +213 -1
- package/lib/index.d.ts +214 -2
- package/lib/index.js +102 -2
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +99 -2
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.mts
CHANGED
|
@@ -846,6 +846,130 @@ interface ClaudeSettingsConfig {
|
|
|
846
846
|
*/
|
|
847
847
|
readonly respectGitignore?: boolean;
|
|
848
848
|
}
|
|
849
|
+
/*******************************************************************************
|
|
850
|
+
*
|
|
851
|
+
* Agent Paths Config
|
|
852
|
+
*
|
|
853
|
+
******************************************************************************/
|
|
854
|
+
/**
|
|
855
|
+
* Consumer-facing overrides for the output-path roots used by agent
|
|
856
|
+
* bundles. Every field is optional; unset fields cascade from their
|
|
857
|
+
* parent root (resolved by `resolveAgentPaths()` in
|
|
858
|
+
* `./bundles/paths.ts`).
|
|
859
|
+
*
|
|
860
|
+
* Bundles read these values indirectly through `DEFAULT_AGENT_PATHS`
|
|
861
|
+
* (module-eval-time defaults) today. Per-project propagation through
|
|
862
|
+
* `AgentConfig.resolveRules` lands in a follow-up change.
|
|
863
|
+
*/
|
|
864
|
+
interface AgentPathsConfig {
|
|
865
|
+
/**
|
|
866
|
+
* Root folder for the monorepo-wide Starlight docs site content.
|
|
867
|
+
* @default "docs/src/content/docs"
|
|
868
|
+
*/
|
|
869
|
+
readonly docsRoot?: string;
|
|
870
|
+
/**
|
|
871
|
+
* Root folder for all research outputs (scopes, slices,
|
|
872
|
+
* deliverables) produced by the `research-analyst` pipeline.
|
|
873
|
+
* @default "docs/research"
|
|
874
|
+
*/
|
|
875
|
+
readonly researchRoot?: string;
|
|
876
|
+
/**
|
|
877
|
+
* Root folder for profile documents (people, companies, software,
|
|
878
|
+
* industries).
|
|
879
|
+
* @default "<docsRoot>/profiles"
|
|
880
|
+
*/
|
|
881
|
+
readonly profilesRoot?: string;
|
|
882
|
+
/**
|
|
883
|
+
* Root folder for meeting notes and transcripts produced by the
|
|
884
|
+
* `meeting-analyst` pipeline.
|
|
885
|
+
* @default "<docsRoot>/meetings"
|
|
886
|
+
*/
|
|
887
|
+
readonly meetingsRoot?: string;
|
|
888
|
+
/**
|
|
889
|
+
* Root folder for final requirement documents produced by the
|
|
890
|
+
* `requirements-writer` agent.
|
|
891
|
+
* @default "<docsRoot>/requirements"
|
|
892
|
+
*/
|
|
893
|
+
readonly requirementsRoot?: string;
|
|
894
|
+
/**
|
|
895
|
+
* Root folder where the `requirements-analyst` writes requirement
|
|
896
|
+
* proposals before they are promoted into the final requirements
|
|
897
|
+
* tree.
|
|
898
|
+
* @default "<researchRoot>/requirements"
|
|
899
|
+
*/
|
|
900
|
+
readonly researchRequirementsRoot?: string;
|
|
901
|
+
/**
|
|
902
|
+
* Root folder for BCM (Business Capability Model) capability-model
|
|
903
|
+
* documents produced by the `bcm-writer` agent.
|
|
904
|
+
* @default "<docsRoot>/concepts"
|
|
905
|
+
*/
|
|
906
|
+
readonly bcmRoot?: string;
|
|
907
|
+
/**
|
|
908
|
+
* Root folder for people profiles.
|
|
909
|
+
* @default "<profilesRoot>/people"
|
|
910
|
+
*/
|
|
911
|
+
readonly peopleRoot?: string;
|
|
912
|
+
/**
|
|
913
|
+
* Root folder for company profiles.
|
|
914
|
+
* @default "<profilesRoot>/companies"
|
|
915
|
+
*/
|
|
916
|
+
readonly companiesRoot?: string;
|
|
917
|
+
/**
|
|
918
|
+
* Root folder for software profiles.
|
|
919
|
+
* @default "<profilesRoot>/software"
|
|
920
|
+
*/
|
|
921
|
+
readonly softwareRoot?: string;
|
|
922
|
+
/**
|
|
923
|
+
* Root folder for industry profiles.
|
|
924
|
+
* @default "<profilesRoot>/industries"
|
|
925
|
+
*/
|
|
926
|
+
readonly industriesRoot?: string;
|
|
927
|
+
}
|
|
928
|
+
/*******************************************************************************
|
|
929
|
+
*
|
|
930
|
+
* Priority Rules
|
|
931
|
+
*
|
|
932
|
+
******************************************************************************/
|
|
933
|
+
/**
|
|
934
|
+
* A single project-specific priority-detection rule.
|
|
935
|
+
*
|
|
936
|
+
* Rules let consuming repos declare a sector-prefix regex, label, body
|
|
937
|
+
* regex, or explicit issue-number pin that maps to one of the five
|
|
938
|
+
* `priority:*` tiers. The `base` bundle renders a "Project-specific
|
|
939
|
+
* priority rules" subsection into the `issue-label-conventions` rule
|
|
940
|
+
* when `AgentConfigOptions.priorityRules` is non-empty, in precedence
|
|
941
|
+
* order.
|
|
942
|
+
*
|
|
943
|
+
* Precedence is **first match wins** — rules are evaluated in the
|
|
944
|
+
* order supplied, and the bundle's default inference heuristics act as
|
|
945
|
+
* the fallback when nothing matches.
|
|
946
|
+
*
|
|
947
|
+
* @see AgentConfigOptions.priorityRules
|
|
948
|
+
*/
|
|
949
|
+
interface PriorityRule {
|
|
950
|
+
/** Target priority tier the rule maps matched issues to. */
|
|
951
|
+
readonly priority: "critical" | "high" | "medium" | "low" | "trivial";
|
|
952
|
+
/**
|
|
953
|
+
* Match predicate. At least one sub-field should be set; multiple
|
|
954
|
+
* sub-fields on the same rule combine as a logical OR (any one
|
|
955
|
+
* matching fires the rule).
|
|
956
|
+
*/
|
|
957
|
+
readonly match: {
|
|
958
|
+
/** Any of these labels present on the issue matches. */
|
|
959
|
+
readonly labels?: ReadonlyArray<string>;
|
|
960
|
+
/** Regex applied to the issue title, anchored as supplied. */
|
|
961
|
+
readonly titleRegex?: string;
|
|
962
|
+
/** Regex applied to the issue body, anchored as supplied. */
|
|
963
|
+
readonly bodyRegex?: string;
|
|
964
|
+
/** Explicit issue numbers pinned to this priority. */
|
|
965
|
+
readonly issueNumbers?: ReadonlyArray<number>;
|
|
966
|
+
};
|
|
967
|
+
/**
|
|
968
|
+
* Human-readable rationale rendered into the generated rule
|
|
969
|
+
* content so reviewers understand why the rule exists.
|
|
970
|
+
*/
|
|
971
|
+
readonly rationale: string;
|
|
972
|
+
}
|
|
849
973
|
/*******************************************************************************
|
|
850
974
|
*
|
|
851
975
|
* AgentConfig Options
|
|
@@ -932,6 +1056,32 @@ interface AgentConfigOptions {
|
|
|
932
1056
|
* file visibility control.
|
|
933
1057
|
*/
|
|
934
1058
|
readonly cursorSettings?: CursorSettingsConfig;
|
|
1059
|
+
/**
|
|
1060
|
+
* Overrides for the output-path roots used by agent bundles
|
|
1061
|
+
* (requirements, BCM, profiles, meetings, research). Unset fields
|
|
1062
|
+
* fall back to the defaults captured in
|
|
1063
|
+
* `bundles/paths.ts#DEFAULT_AGENT_PATHS`.
|
|
1064
|
+
*
|
|
1065
|
+
* This option is the first of the Group A framework injection
|
|
1066
|
+
* points from epic #414. Per-project propagation of these values
|
|
1067
|
+
* into bundle rule content lands in a follow-up — setting it today
|
|
1068
|
+
* does not yet alter generated rules.
|
|
1069
|
+
*/
|
|
1070
|
+
readonly paths?: AgentPathsConfig;
|
|
1071
|
+
/**
|
|
1072
|
+
* Project-specific priority-detection rules. Each rule declares a
|
|
1073
|
+
* match predicate (labels, title regex, body regex, or explicit
|
|
1074
|
+
* issue numbers) and a target `priority:*` tier.
|
|
1075
|
+
*
|
|
1076
|
+
* When non-empty, the `base` bundle renders a "Project-specific
|
|
1077
|
+
* priority rules" subsection into the `issue-label-conventions`
|
|
1078
|
+
* rule. Precedence is **first match wins**; the bundle's default
|
|
1079
|
+
* inference heuristics act as the fallback when no rule matches.
|
|
1080
|
+
*
|
|
1081
|
+
* @see PriorityRule
|
|
1082
|
+
* @see ./bundles/priority-rules.ts#renderPriorityRulesSection
|
|
1083
|
+
*/
|
|
1084
|
+
readonly priorityRules?: ReadonlyArray<PriorityRule>;
|
|
935
1085
|
}
|
|
936
1086
|
|
|
937
1087
|
/**
|
|
@@ -1119,6 +1269,56 @@ declare const meetingAnalysisBundle: AgentRuleBundle;
|
|
|
1119
1269
|
******************************************************************************/
|
|
1120
1270
|
declare const orchestratorBundle: AgentRuleBundle;
|
|
1121
1271
|
|
|
1272
|
+
/**
|
|
1273
|
+
* Fully-resolved agent output-path roots. Every property is required.
|
|
1274
|
+
*
|
|
1275
|
+
* This is the shape that bundle code consumes at module-eval time via
|
|
1276
|
+
* `DEFAULT_AGENT_PATHS`, and the shape that `resolveAgentPaths()`
|
|
1277
|
+
* returns when consumers supply a partial `AgentPathsConfig` override.
|
|
1278
|
+
*/
|
|
1279
|
+
interface ResolvedAgentPaths {
|
|
1280
|
+
readonly docsRoot: string;
|
|
1281
|
+
readonly researchRoot: string;
|
|
1282
|
+
readonly profilesRoot: string;
|
|
1283
|
+
readonly meetingsRoot: string;
|
|
1284
|
+
readonly requirementsRoot: string;
|
|
1285
|
+
readonly researchRequirementsRoot: string;
|
|
1286
|
+
readonly bcmRoot: string;
|
|
1287
|
+
readonly peopleRoot: string;
|
|
1288
|
+
readonly companiesRoot: string;
|
|
1289
|
+
readonly softwareRoot: string;
|
|
1290
|
+
readonly industriesRoot: string;
|
|
1291
|
+
}
|
|
1292
|
+
/**
|
|
1293
|
+
* Canonical default values for every agent path. These mirror the
|
|
1294
|
+
* hardcoded paths that bundles used before `AgentPathsConfig` existed,
|
|
1295
|
+
* so `DEFAULT_AGENT_PATHS.*` can be substituted into bundle rule
|
|
1296
|
+
* content at module-eval time without changing the generated
|
|
1297
|
+
* `.claude/rules/*.md` snapshot.
|
|
1298
|
+
*
|
|
1299
|
+
* Consumers override the defaults by passing an `AgentPathsConfig`
|
|
1300
|
+
* through `AgentConfigOptions.paths` and resolving it with
|
|
1301
|
+
* `resolveAgentPaths()`. Per-project propagation into bundle rule
|
|
1302
|
+
* content is a follow-up — this export is the first step: interface +
|
|
1303
|
+
* resolver land in this PR; the `AgentConfig.resolveRules` wiring lands
|
|
1304
|
+
* next.
|
|
1305
|
+
*/
|
|
1306
|
+
declare const DEFAULT_AGENT_PATHS: ResolvedAgentPaths;
|
|
1307
|
+
/**
|
|
1308
|
+
* Resolve a partial `AgentPathsConfig` into a fully-populated
|
|
1309
|
+
* `ResolvedAgentPaths`. Unset fields cascade from their parent root:
|
|
1310
|
+
*
|
|
1311
|
+
* - `profilesRoot`, `meetingsRoot`, `requirementsRoot`, and `bcmRoot`
|
|
1312
|
+
* derive from `docsRoot` when not explicitly set.
|
|
1313
|
+
* - `researchRequirementsRoot` derives from `researchRoot` when not
|
|
1314
|
+
* explicitly set.
|
|
1315
|
+
* - `peopleRoot`, `companiesRoot`, `softwareRoot`, and `industriesRoot`
|
|
1316
|
+
* derive from the resolved `profilesRoot` when not explicitly set,
|
|
1317
|
+
* so that overriding `docsRoot` alone (or overriding `profilesRoot`
|
|
1318
|
+
* alone) propagates correctly through every dependent root.
|
|
1319
|
+
*/
|
|
1320
|
+
declare function resolveAgentPaths(paths?: AgentPathsConfig): ResolvedAgentPaths;
|
|
1321
|
+
|
|
1122
1322
|
/**
|
|
1123
1323
|
* People-profile bundle — enabled by default.
|
|
1124
1324
|
*
|
|
@@ -1154,6 +1354,18 @@ declare const prReviewBundle: AgentRuleBundle;
|
|
|
1154
1354
|
*/
|
|
1155
1355
|
declare const projenBundle: AgentRuleBundle;
|
|
1156
1356
|
|
|
1357
|
+
/**
|
|
1358
|
+
* Render the markdown subsection appended to the
|
|
1359
|
+
* `issue-label-conventions` rule when `AgentConfigOptions.priorityRules`
|
|
1360
|
+
* is non-empty. Returns an empty string when the supplied array is
|
|
1361
|
+
* empty so callers can unconditionally concatenate the result.
|
|
1362
|
+
*
|
|
1363
|
+
* Precedence is **first match wins** — rules render in the order
|
|
1364
|
+
* supplied. The bundle's default inference heuristics act as the
|
|
1365
|
+
* fallback when no rule matches.
|
|
1366
|
+
*/
|
|
1367
|
+
declare function renderPriorityRulesSection(rules: ReadonlyArray<PriorityRule>): string;
|
|
1368
|
+
|
|
1157
1369
|
/**
|
|
1158
1370
|
* Requirements-analyst bundle — opt-in via `includeBundles: [\"requirements-analyst\"]`.
|
|
1159
1371
|
*
|
|
@@ -3876,4 +4088,4 @@ declare const COMPLETE_JOB_ID = "complete";
|
|
|
3876
4088
|
*/
|
|
3877
4089
|
declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
|
|
3878
4090
|
|
|
3879
|
-
export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentModel, 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_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, type DeployWorkflowOptions, type DeploymentMetadata, 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, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, 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, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
|
|
4091
|
+
export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, 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 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, renderPriorityRulesSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
|
package/lib/index.d.ts
CHANGED
|
@@ -895,6 +895,130 @@ interface ClaudeSettingsConfig {
|
|
|
895
895
|
*/
|
|
896
896
|
readonly respectGitignore?: boolean;
|
|
897
897
|
}
|
|
898
|
+
/*******************************************************************************
|
|
899
|
+
*
|
|
900
|
+
* Agent Paths Config
|
|
901
|
+
*
|
|
902
|
+
******************************************************************************/
|
|
903
|
+
/**
|
|
904
|
+
* Consumer-facing overrides for the output-path roots used by agent
|
|
905
|
+
* bundles. Every field is optional; unset fields cascade from their
|
|
906
|
+
* parent root (resolved by `resolveAgentPaths()` in
|
|
907
|
+
* `./bundles/paths.ts`).
|
|
908
|
+
*
|
|
909
|
+
* Bundles read these values indirectly through `DEFAULT_AGENT_PATHS`
|
|
910
|
+
* (module-eval-time defaults) today. Per-project propagation through
|
|
911
|
+
* `AgentConfig.resolveRules` lands in a follow-up change.
|
|
912
|
+
*/
|
|
913
|
+
interface AgentPathsConfig {
|
|
914
|
+
/**
|
|
915
|
+
* Root folder for the monorepo-wide Starlight docs site content.
|
|
916
|
+
* @default "docs/src/content/docs"
|
|
917
|
+
*/
|
|
918
|
+
readonly docsRoot?: string;
|
|
919
|
+
/**
|
|
920
|
+
* Root folder for all research outputs (scopes, slices,
|
|
921
|
+
* deliverables) produced by the `research-analyst` pipeline.
|
|
922
|
+
* @default "docs/research"
|
|
923
|
+
*/
|
|
924
|
+
readonly researchRoot?: string;
|
|
925
|
+
/**
|
|
926
|
+
* Root folder for profile documents (people, companies, software,
|
|
927
|
+
* industries).
|
|
928
|
+
* @default "<docsRoot>/profiles"
|
|
929
|
+
*/
|
|
930
|
+
readonly profilesRoot?: string;
|
|
931
|
+
/**
|
|
932
|
+
* Root folder for meeting notes and transcripts produced by the
|
|
933
|
+
* `meeting-analyst` pipeline.
|
|
934
|
+
* @default "<docsRoot>/meetings"
|
|
935
|
+
*/
|
|
936
|
+
readonly meetingsRoot?: string;
|
|
937
|
+
/**
|
|
938
|
+
* Root folder for final requirement documents produced by the
|
|
939
|
+
* `requirements-writer` agent.
|
|
940
|
+
* @default "<docsRoot>/requirements"
|
|
941
|
+
*/
|
|
942
|
+
readonly requirementsRoot?: string;
|
|
943
|
+
/**
|
|
944
|
+
* Root folder where the `requirements-analyst` writes requirement
|
|
945
|
+
* proposals before they are promoted into the final requirements
|
|
946
|
+
* tree.
|
|
947
|
+
* @default "<researchRoot>/requirements"
|
|
948
|
+
*/
|
|
949
|
+
readonly researchRequirementsRoot?: string;
|
|
950
|
+
/**
|
|
951
|
+
* Root folder for BCM (Business Capability Model) capability-model
|
|
952
|
+
* documents produced by the `bcm-writer` agent.
|
|
953
|
+
* @default "<docsRoot>/concepts"
|
|
954
|
+
*/
|
|
955
|
+
readonly bcmRoot?: string;
|
|
956
|
+
/**
|
|
957
|
+
* Root folder for people profiles.
|
|
958
|
+
* @default "<profilesRoot>/people"
|
|
959
|
+
*/
|
|
960
|
+
readonly peopleRoot?: string;
|
|
961
|
+
/**
|
|
962
|
+
* Root folder for company profiles.
|
|
963
|
+
* @default "<profilesRoot>/companies"
|
|
964
|
+
*/
|
|
965
|
+
readonly companiesRoot?: string;
|
|
966
|
+
/**
|
|
967
|
+
* Root folder for software profiles.
|
|
968
|
+
* @default "<profilesRoot>/software"
|
|
969
|
+
*/
|
|
970
|
+
readonly softwareRoot?: string;
|
|
971
|
+
/**
|
|
972
|
+
* Root folder for industry profiles.
|
|
973
|
+
* @default "<profilesRoot>/industries"
|
|
974
|
+
*/
|
|
975
|
+
readonly industriesRoot?: string;
|
|
976
|
+
}
|
|
977
|
+
/*******************************************************************************
|
|
978
|
+
*
|
|
979
|
+
* Priority Rules
|
|
980
|
+
*
|
|
981
|
+
******************************************************************************/
|
|
982
|
+
/**
|
|
983
|
+
* A single project-specific priority-detection rule.
|
|
984
|
+
*
|
|
985
|
+
* Rules let consuming repos declare a sector-prefix regex, label, body
|
|
986
|
+
* regex, or explicit issue-number pin that maps to one of the five
|
|
987
|
+
* `priority:*` tiers. The `base` bundle renders a "Project-specific
|
|
988
|
+
* priority rules" subsection into the `issue-label-conventions` rule
|
|
989
|
+
* when `AgentConfigOptions.priorityRules` is non-empty, in precedence
|
|
990
|
+
* order.
|
|
991
|
+
*
|
|
992
|
+
* Precedence is **first match wins** — rules are evaluated in the
|
|
993
|
+
* order supplied, and the bundle's default inference heuristics act as
|
|
994
|
+
* the fallback when nothing matches.
|
|
995
|
+
*
|
|
996
|
+
* @see AgentConfigOptions.priorityRules
|
|
997
|
+
*/
|
|
998
|
+
interface PriorityRule {
|
|
999
|
+
/** Target priority tier the rule maps matched issues to. */
|
|
1000
|
+
readonly priority: "critical" | "high" | "medium" | "low" | "trivial";
|
|
1001
|
+
/**
|
|
1002
|
+
* Match predicate. At least one sub-field should be set; multiple
|
|
1003
|
+
* sub-fields on the same rule combine as a logical OR (any one
|
|
1004
|
+
* matching fires the rule).
|
|
1005
|
+
*/
|
|
1006
|
+
readonly match: {
|
|
1007
|
+
/** Any of these labels present on the issue matches. */
|
|
1008
|
+
readonly labels?: ReadonlyArray<string>;
|
|
1009
|
+
/** Regex applied to the issue title, anchored as supplied. */
|
|
1010
|
+
readonly titleRegex?: string;
|
|
1011
|
+
/** Regex applied to the issue body, anchored as supplied. */
|
|
1012
|
+
readonly bodyRegex?: string;
|
|
1013
|
+
/** Explicit issue numbers pinned to this priority. */
|
|
1014
|
+
readonly issueNumbers?: ReadonlyArray<number>;
|
|
1015
|
+
};
|
|
1016
|
+
/**
|
|
1017
|
+
* Human-readable rationale rendered into the generated rule
|
|
1018
|
+
* content so reviewers understand why the rule exists.
|
|
1019
|
+
*/
|
|
1020
|
+
readonly rationale: string;
|
|
1021
|
+
}
|
|
898
1022
|
/*******************************************************************************
|
|
899
1023
|
*
|
|
900
1024
|
* AgentConfig Options
|
|
@@ -981,6 +1105,32 @@ interface AgentConfigOptions {
|
|
|
981
1105
|
* file visibility control.
|
|
982
1106
|
*/
|
|
983
1107
|
readonly cursorSettings?: CursorSettingsConfig;
|
|
1108
|
+
/**
|
|
1109
|
+
* Overrides for the output-path roots used by agent bundles
|
|
1110
|
+
* (requirements, BCM, profiles, meetings, research). Unset fields
|
|
1111
|
+
* fall back to the defaults captured in
|
|
1112
|
+
* `bundles/paths.ts#DEFAULT_AGENT_PATHS`.
|
|
1113
|
+
*
|
|
1114
|
+
* This option is the first of the Group A framework injection
|
|
1115
|
+
* points from epic #414. Per-project propagation of these values
|
|
1116
|
+
* into bundle rule content lands in a follow-up — setting it today
|
|
1117
|
+
* does not yet alter generated rules.
|
|
1118
|
+
*/
|
|
1119
|
+
readonly paths?: AgentPathsConfig;
|
|
1120
|
+
/**
|
|
1121
|
+
* Project-specific priority-detection rules. Each rule declares a
|
|
1122
|
+
* match predicate (labels, title regex, body regex, or explicit
|
|
1123
|
+
* issue numbers) and a target `priority:*` tier.
|
|
1124
|
+
*
|
|
1125
|
+
* When non-empty, the `base` bundle renders a "Project-specific
|
|
1126
|
+
* priority rules" subsection into the `issue-label-conventions`
|
|
1127
|
+
* rule. Precedence is **first match wins**; the bundle's default
|
|
1128
|
+
* inference heuristics act as the fallback when no rule matches.
|
|
1129
|
+
*
|
|
1130
|
+
* @see PriorityRule
|
|
1131
|
+
* @see ./bundles/priority-rules.ts#renderPriorityRulesSection
|
|
1132
|
+
*/
|
|
1133
|
+
readonly priorityRules?: ReadonlyArray<PriorityRule>;
|
|
984
1134
|
}
|
|
985
1135
|
|
|
986
1136
|
/**
|
|
@@ -1168,6 +1318,56 @@ declare const meetingAnalysisBundle: AgentRuleBundle;
|
|
|
1168
1318
|
******************************************************************************/
|
|
1169
1319
|
declare const orchestratorBundle: AgentRuleBundle;
|
|
1170
1320
|
|
|
1321
|
+
/**
|
|
1322
|
+
* Fully-resolved agent output-path roots. Every property is required.
|
|
1323
|
+
*
|
|
1324
|
+
* This is the shape that bundle code consumes at module-eval time via
|
|
1325
|
+
* `DEFAULT_AGENT_PATHS`, and the shape that `resolveAgentPaths()`
|
|
1326
|
+
* returns when consumers supply a partial `AgentPathsConfig` override.
|
|
1327
|
+
*/
|
|
1328
|
+
interface ResolvedAgentPaths {
|
|
1329
|
+
readonly docsRoot: string;
|
|
1330
|
+
readonly researchRoot: string;
|
|
1331
|
+
readonly profilesRoot: string;
|
|
1332
|
+
readonly meetingsRoot: string;
|
|
1333
|
+
readonly requirementsRoot: string;
|
|
1334
|
+
readonly researchRequirementsRoot: string;
|
|
1335
|
+
readonly bcmRoot: string;
|
|
1336
|
+
readonly peopleRoot: string;
|
|
1337
|
+
readonly companiesRoot: string;
|
|
1338
|
+
readonly softwareRoot: string;
|
|
1339
|
+
readonly industriesRoot: string;
|
|
1340
|
+
}
|
|
1341
|
+
/**
|
|
1342
|
+
* Canonical default values for every agent path. These mirror the
|
|
1343
|
+
* hardcoded paths that bundles used before `AgentPathsConfig` existed,
|
|
1344
|
+
* so `DEFAULT_AGENT_PATHS.*` can be substituted into bundle rule
|
|
1345
|
+
* content at module-eval time without changing the generated
|
|
1346
|
+
* `.claude/rules/*.md` snapshot.
|
|
1347
|
+
*
|
|
1348
|
+
* Consumers override the defaults by passing an `AgentPathsConfig`
|
|
1349
|
+
* through `AgentConfigOptions.paths` and resolving it with
|
|
1350
|
+
* `resolveAgentPaths()`. Per-project propagation into bundle rule
|
|
1351
|
+
* content is a follow-up — this export is the first step: interface +
|
|
1352
|
+
* resolver land in this PR; the `AgentConfig.resolveRules` wiring lands
|
|
1353
|
+
* next.
|
|
1354
|
+
*/
|
|
1355
|
+
declare const DEFAULT_AGENT_PATHS: ResolvedAgentPaths;
|
|
1356
|
+
/**
|
|
1357
|
+
* Resolve a partial `AgentPathsConfig` into a fully-populated
|
|
1358
|
+
* `ResolvedAgentPaths`. Unset fields cascade from their parent root:
|
|
1359
|
+
*
|
|
1360
|
+
* - `profilesRoot`, `meetingsRoot`, `requirementsRoot`, and `bcmRoot`
|
|
1361
|
+
* derive from `docsRoot` when not explicitly set.
|
|
1362
|
+
* - `researchRequirementsRoot` derives from `researchRoot` when not
|
|
1363
|
+
* explicitly set.
|
|
1364
|
+
* - `peopleRoot`, `companiesRoot`, `softwareRoot`, and `industriesRoot`
|
|
1365
|
+
* derive from the resolved `profilesRoot` when not explicitly set,
|
|
1366
|
+
* so that overriding `docsRoot` alone (or overriding `profilesRoot`
|
|
1367
|
+
* alone) propagates correctly through every dependent root.
|
|
1368
|
+
*/
|
|
1369
|
+
declare function resolveAgentPaths(paths?: AgentPathsConfig): ResolvedAgentPaths;
|
|
1370
|
+
|
|
1171
1371
|
/**
|
|
1172
1372
|
* People-profile bundle — enabled by default.
|
|
1173
1373
|
*
|
|
@@ -1203,6 +1403,18 @@ declare const prReviewBundle: AgentRuleBundle;
|
|
|
1203
1403
|
*/
|
|
1204
1404
|
declare const projenBundle: AgentRuleBundle;
|
|
1205
1405
|
|
|
1406
|
+
/**
|
|
1407
|
+
* Render the markdown subsection appended to the
|
|
1408
|
+
* `issue-label-conventions` rule when `AgentConfigOptions.priorityRules`
|
|
1409
|
+
* is non-empty. Returns an empty string when the supplied array is
|
|
1410
|
+
* empty so callers can unconditionally concatenate the result.
|
|
1411
|
+
*
|
|
1412
|
+
* Precedence is **first match wins** — rules render in the order
|
|
1413
|
+
* supplied. The bundle's default inference heuristics act as the
|
|
1414
|
+
* fallback when no rule matches.
|
|
1415
|
+
*/
|
|
1416
|
+
declare function renderPriorityRulesSection(rules: ReadonlyArray<PriorityRule>): string;
|
|
1417
|
+
|
|
1206
1418
|
/**
|
|
1207
1419
|
* Requirements-analyst bundle — opt-in via `includeBundles: [\"requirements-analyst\"]`.
|
|
1208
1420
|
*
|
|
@@ -3925,5 +4137,5 @@ declare const COMPLETE_JOB_ID = "complete";
|
|
|
3925
4137
|
*/
|
|
3926
4138
|
declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
|
|
3927
4139
|
|
|
3928
|
-
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_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, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
|
|
3929
|
-
export type { AgentConfigOptions, AgentModel, 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, DeployWorkflowOptions, DeploymentMetadata, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedProjectMetadata, SlackMetadata, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
|
|
4140
|
+
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, renderPriorityRulesSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, validateStarlightSingleton, vitestBundle };
|
|
4141
|
+
export type { AgentConfigOptions, 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, DeployWorkflowOptions, DeploymentMetadata, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, PriorityRule, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedAgentPaths, ResolvedProjectMetadata, SlackMetadata, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
|