@codedrifters/configulator 0.0.271 → 0.0.273

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
@@ -3436,6 +3436,39 @@ declare function renderExtractApiProcedure(): string;
3436
3436
  * (see `orchestratorBundle.procedures`).
3437
3437
  */
3438
3438
  declare const extractApiProcedure: AgentProcedure;
3439
+ /**
3440
+ * Render the shell body of the `.claude/procedures/check-links.sh`
3441
+ * helper. Exported so the docs-sync bundle can register it as an
3442
+ * `AgentProcedure` and the bundles test suite can assert on the
3443
+ * script's contents.
3444
+ *
3445
+ * The helper wraps two external tools — `astro check` (internal
3446
+ * links) and `lychee` (external `https://…` URLs) — and normalizes
3447
+ * their per-finding output into a single JSON-array stream of
3448
+ * `{ url, docPath, line, kind, reason }` records on stdout. The
3449
+ * downstream docs-sync scan phase (#519/#520) consumes that stream
3450
+ * and decides which findings are advisory and which block the PR.
3451
+ *
3452
+ * Detection is **data**, not failure: the helper exits `0` whenever
3453
+ * a tool ran successfully, regardless of how many broken links it
3454
+ * reported. Non-zero exits are reserved for tool-level failures
3455
+ * (missing binary, config error, IO failure).
3456
+ *
3457
+ * Exit codes: `0` success, `1` usage error or unreadable docs
3458
+ * root, `2` a required external tool is missing, `3` a tool ran
3459
+ * but exited non-zero for a reason other than broken-link
3460
+ * detection.
3461
+ */
3462
+ declare function renderCheckLinksProcedure(): string;
3463
+ /**
3464
+ * `AgentProcedure` definition for `.claude/procedures/check-links.sh`.
3465
+ * Registered on the docs-sync bundle so it ships when the bundle is
3466
+ * force-included — matches the packaging of `extractApiProcedure`
3467
+ * above. Provides the link-integrity input the docs-sync scan phase
3468
+ * (#519/#520) consumes alongside API-extractor and TSDoc-coverage
3469
+ * findings.
3470
+ */
3471
+ declare const checkLinksProcedure: AgentProcedure;
3439
3472
  /**
3440
3473
  * Docs-sync bundle — scaffolding release.
3441
3474
  *
@@ -8386,7 +8419,7 @@ interface StarlightProjectOptions extends AstroProjectOptions {
8386
8419
  readonly sharpVersion?: string;
8387
8420
  /**
8388
8421
  * Emit sample Starlight content (`src/content/docs/index.mdx`,
8389
- * `src/content/config.ts`).
8422
+ * `src/content.config.ts`).
8390
8423
  *
8391
8424
  * @default false
8392
8425
  */
@@ -8441,4 +8474,4 @@ declare const COMPLETE_JOB_ID = "complete";
8441
8474
  */
8442
8475
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
8443
8476
 
8444
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, 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 AgentTier, type AgentTierConfig, type AgentTierEntry, type AnalyzeTsDocCoverageOptions, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, 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_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, type DeployWorkflowOptions, type DeploymentMetadata, type DocReferenceRecord, type ExtractDocReferencesOptions, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, type IssueTemplatesConfig, 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, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, type PnpmWorkspaceOptions, type PreflightMergeMethod, type PreflightPrConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedIssueTemplates, type ResolvedPreflightPr, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedUnblockDependents, type ResolvedWorkflowDiagrams, type RunRatioConfig, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, type ScopeGateConfig, type ScopeGateThresholds, type SharedEditingConfig, type SkillEvalsConfig, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, type TemplateResolveResult, TestRunner, TsDocCoverageKind, type TsDocCoverageRecord, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, type WorkflowDiagramsConfig, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, extractDocReferences, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
8477
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, 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 AgentTier, type AgentTierConfig, type AgentTierEntry, type AnalyzeTsDocCoverageOptions, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, 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_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, type DeployWorkflowOptions, type DeploymentMetadata, type DocReferenceRecord, type ExtractDocReferencesOptions, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, type IssueTemplatesConfig, 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, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, type PnpmWorkspaceOptions, type PreflightMergeMethod, type PreflightPrConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedIssueTemplates, type ResolvedPreflightPr, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedUnblockDependents, type ResolvedWorkflowDiagrams, type RunRatioConfig, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, type ScopeGateConfig, type ScopeGateThresholds, type SharedEditingConfig, type SkillEvalsConfig, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, type TemplateResolveResult, TestRunner, TsDocCoverageKind, type TsDocCoverageRecord, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, type WorkflowDiagramsConfig, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, checkLinksProcedure, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, extractDocReferences, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
package/lib/index.d.ts CHANGED
@@ -3485,6 +3485,39 @@ declare function renderExtractApiProcedure(): string;
3485
3485
  * (see `orchestratorBundle.procedures`).
3486
3486
  */
3487
3487
  declare const extractApiProcedure: AgentProcedure;
3488
+ /**
3489
+ * Render the shell body of the `.claude/procedures/check-links.sh`
3490
+ * helper. Exported so the docs-sync bundle can register it as an
3491
+ * `AgentProcedure` and the bundles test suite can assert on the
3492
+ * script's contents.
3493
+ *
3494
+ * The helper wraps two external tools — `astro check` (internal
3495
+ * links) and `lychee` (external `https://…` URLs) — and normalizes
3496
+ * their per-finding output into a single JSON-array stream of
3497
+ * `{ url, docPath, line, kind, reason }` records on stdout. The
3498
+ * downstream docs-sync scan phase (#519/#520) consumes that stream
3499
+ * and decides which findings are advisory and which block the PR.
3500
+ *
3501
+ * Detection is **data**, not failure: the helper exits `0` whenever
3502
+ * a tool ran successfully, regardless of how many broken links it
3503
+ * reported. Non-zero exits are reserved for tool-level failures
3504
+ * (missing binary, config error, IO failure).
3505
+ *
3506
+ * Exit codes: `0` success, `1` usage error or unreadable docs
3507
+ * root, `2` a required external tool is missing, `3` a tool ran
3508
+ * but exited non-zero for a reason other than broken-link
3509
+ * detection.
3510
+ */
3511
+ declare function renderCheckLinksProcedure(): string;
3512
+ /**
3513
+ * `AgentProcedure` definition for `.claude/procedures/check-links.sh`.
3514
+ * Registered on the docs-sync bundle so it ships when the bundle is
3515
+ * force-included — matches the packaging of `extractApiProcedure`
3516
+ * above. Provides the link-integrity input the docs-sync scan phase
3517
+ * (#519/#520) consumes alongside API-extractor and TSDoc-coverage
3518
+ * findings.
3519
+ */
3520
+ declare const checkLinksProcedure: AgentProcedure;
3488
3521
  /**
3489
3522
  * Docs-sync bundle — scaffolding release.
3490
3523
  *
@@ -8435,7 +8468,7 @@ interface StarlightProjectOptions extends AstroProjectOptions {
8435
8468
  readonly sharpVersion?: string;
8436
8469
  /**
8437
8470
  * Emit sample Starlight content (`src/content/docs/index.mdx`,
8438
- * `src/content/config.ts`).
8471
+ * `src/content.config.ts`).
8439
8472
  *
8440
8473
  * @default false
8441
8474
  */
@@ -8490,5 +8523,5 @@ declare const COMPLETE_JOB_ID = "complete";
8490
8523
  */
8491
8524
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
8492
8525
 
8493
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AgentConfig, ApiExtractor, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, StarlightProject, TestRunner, TsDocCoverageKind, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, UNKNOWN_TYPE_FALLBACK_TIER, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, extractDocReferences, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
8526
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AgentConfig, ApiExtractor, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, StarlightProject, TestRunner, TsDocCoverageKind, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, UNKNOWN_TYPE_FALLBACK_TIER, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, checkLinksProcedure, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, extractDocReferences, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
8494
8527
  export type { AgentConfigOptions, AgentExpansionRules, AgentFeaturesConfig, AgentModel, AgentPathsConfig, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, AgentTier, AgentTierConfig, AgentTierEntry, AnalyzeTsDocCoverageOptions, ApiExtractorOptions, ApiExtractorReportOptions, 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, DocReferenceRecord, ExtractDocReferencesOptions, FocusArea, FocusAreaMatch, FocusConfig, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, IssueTemplatesConfig, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MeetingArea, MeetingScope, MeetingType, MeetingTypeKind, MeetingsConfig, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, PreflightMergeMethod, PreflightPrConfig, PriorityRule, ProgressFilesConfig, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedAgentPaths, ResolvedAgentTier, ResolvedIssueTemplates, ResolvedPreflightPr, ResolvedProgressFiles, ResolvedProjectMetadata, ResolvedRunRatio, ResolvedScheduledTask, ResolvedScheduledTasks, ResolvedScopeGate, ResolvedSharedEditing, ResolvedSkillEvals, ResolvedUnblockDependents, ResolvedWorkflowDiagrams, RunRatioConfig, ScheduledTaskEntry, ScheduledTaskModel, ScheduledTaskOverride, ScheduledTasksConfig, ScopeClass, ScopeGateConfig, ScopeGateThresholds, SharedEditingConfig, SkillEvalsConfig, SlackMetadata, SourceTierExamples, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TsDocCoverageRecord, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, UnblockDependentsConfig, VersionKey, VitestConfigOptions, VitestOptions, WorkflowDiagramsConfig };
package/lib/index.js CHANGED
@@ -310,6 +310,7 @@ __export(index_exports, {
310
310
  buildStandardsResearchBundle: () => buildStandardsResearchBundle,
311
311
  buildUnblockDependentsProcedure: () => buildUnblockDependentsProcedure,
312
312
  businessModelsBundle: () => businessModelsBundle,
313
+ checkLinksProcedure: () => checkLinksProcedure,
313
314
  classifyIssueScope: () => classifyIssueScope,
314
315
  classifyRun: () => classifyRun,
315
316
  companyProfileBundle: () => companyProfileBundle,
@@ -333,6 +334,7 @@ __export(index_exports, {
333
334
  regulatoryResearchBundle: () => regulatoryResearchBundle,
334
335
  renderAgentTierCaseStatement: () => renderAgentTierCaseStatement,
335
336
  renderAgentTierSection: () => renderAgentTierSection,
337
+ renderCheckLinksProcedure: () => renderCheckLinksProcedure,
336
338
  renderCustomDocSectionBlock: () => renderCustomDocSectionBlock,
337
339
  renderCustomDocSections: () => renderCustomDocSections,
338
340
  renderExtractApiProcedure: () => renderExtractApiProcedure,
@@ -8978,6 +8980,295 @@ var extractApiProcedure = {
8978
8980
  description: "Run @microsoft/api-extractor for a single package and write the .api.md rollup to the scratch folder declared by the package's api-extractor.json. Rollups are regenerate-on-scan per docs-sync epic #448 resolved decision #3 \u2014 never committed to git.",
8979
8981
  content: renderExtractApiProcedure()
8980
8982
  };
8983
+ function renderCheckLinksProcedure() {
8984
+ return [
8985
+ "#!/usr/bin/env bash",
8986
+ "# check-links.sh \u2014 Link integrity checker for the Starlight docs site.",
8987
+ "#",
8988
+ "# Usage:",
8989
+ "# .claude/procedures/check-links.sh <mode> <docs-root> [<site-dir>]",
8990
+ "#",
8991
+ "# Where:",
8992
+ "# <mode> \u2014 one of `internal`, `external`, or `all`.",
8993
+ "# <docs-root> \u2014 path to the markdown content tree",
8994
+ "# (e.g. `docs/src/content/docs`). Walked recursively",
8995
+ "# for `*.md` / `*.mdx` files.",
8996
+ "# <site-dir> \u2014 (optional, internal/all only) path to the Starlight",
8997
+ "# project root that contains `astro.config.{ts,mjs,js}`.",
8998
+ "# Defaults to two levels up from `<docs-root>` so the",
8999
+ "# standard Starlight layout (`<site>/src/content/docs`)",
9000
+ "# resolves automatically.",
9001
+ "#",
9002
+ "# Wraps two external tools:",
9003
+ "# - `astro check` \u2014 internal links and content-collection refs",
9004
+ "# inside the Starlight site.",
9005
+ "# - `lychee` \u2014 external `https://\u2026` URLs across the docs tree",
9006
+ "# (https://github.com/lycheeverse/lychee).",
9007
+ "#",
9008
+ "# Output (stdout, single JSON array):",
9009
+ "#",
9010
+ "# [",
9011
+ "# {",
9012
+ '# "url": "<href as written in the markdown source>",',
9013
+ '# "docPath": "<path relative to <docs-root>>",',
9014
+ '# "line": <1-indexed line number>,',
9015
+ '# "kind": "internal" | "external",',
9016
+ '# "reason": "<short tool-supplied diagnostic>"',
9017
+ "# },",
9018
+ "# ...",
9019
+ "# ]",
9020
+ "#",
9021
+ "# An empty array (`[]`) is emitted when no broken links are found.",
9022
+ "# Detection is **data**, not failure: this helper exits 0 when a",
9023
+ "# tool ran successfully and reported zero or more broken links.",
9024
+ "# The downstream docs-sync scan phase (#519/#520) is responsible",
9025
+ "# for deciding which findings are advisory and which block.",
9026
+ "#",
9027
+ "# Exit codes:",
9028
+ "# 0 \u2014 every requested tool ran successfully; findings (zero or",
9029
+ "# more) are on stdout as a JSON array.",
9030
+ "# 1 \u2014 usage error (missing args, unreadable docs root).",
9031
+ "# 2 \u2014 a required external tool is not installed or not on PATH",
9032
+ "# (`astro` / `lychee` / `node` / `jq`).",
9033
+ "# 3 \u2014 a tool ran but exited non-zero for a reason other than",
9034
+ "# broken-link detection (config error, IO error, network",
9035
+ "# failure for lychee, etc.). Stderr carries the diagnostic.",
9036
+ "#",
9037
+ "# The script never edits files. Diagnostics flow to stderr; the",
9038
+ "# only thing on stdout is the normalized JSON array.",
9039
+ "",
9040
+ "set -uo pipefail",
9041
+ "",
9042
+ "err() {",
9043
+ ' printf "check-links.sh: %s\\n" "$*" >&2',
9044
+ "}",
9045
+ "",
9046
+ 'if [ "$#" -lt 2 ]; then',
9047
+ ' err "usage: check-links.sh <internal|external|all> <docs-root> [<site-dir>]"',
9048
+ " exit 1",
9049
+ "fi",
9050
+ "",
9051
+ 'mode="$1"',
9052
+ 'docs_root="$2"',
9053
+ 'site_dir="${3:-}"',
9054
+ "",
9055
+ 'case "$mode" in',
9056
+ " internal | external | all) ;;",
9057
+ " *)",
9058
+ ` err "unknown mode '$mode' \u2014 expected 'internal', 'external', or 'all'"`,
9059
+ " exit 1",
9060
+ " ;;",
9061
+ "esac",
9062
+ "",
9063
+ 'if [ ! -d "$docs_root" ]; then',
9064
+ ' err "docs root not found: $docs_root"',
9065
+ " exit 1",
9066
+ "fi",
9067
+ "",
9068
+ 'if [ -z "$site_dir" ]; then',
9069
+ " # Standard Starlight layout: <site>/src/content/docs. Walk two",
9070
+ " # parents up from the content root to recover the site dir.",
9071
+ ' site_dir="$(cd "$docs_root/../../.." && pwd)"',
9072
+ "fi",
9073
+ "",
9074
+ "# `jq` is required to merge the per-tool JSON output streams. Fail",
9075
+ "# fast with the dedicated tool-missing exit code if it is absent.",
9076
+ "if ! command -v jq >/dev/null 2>&1; then",
9077
+ ' err "jq is required but not on PATH"',
9078
+ " exit 2",
9079
+ "fi",
9080
+ "",
9081
+ 'tmp_dir="$(mktemp -d -t check-links-XXXXXX)"',
9082
+ "# shellcheck disable=SC2064",
9083
+ `trap "rm -rf '$tmp_dir'" EXIT`,
9084
+ "",
9085
+ 'internal_json="$tmp_dir/internal.json"',
9086
+ 'external_json="$tmp_dir/external.json"',
9087
+ 'printf "[]" > "$internal_json"',
9088
+ 'printf "[]" > "$external_json"',
9089
+ "",
9090
+ "# ---------------------------------------------------------------",
9091
+ "# Internal-link check",
9092
+ "# ---------------------------------------------------------------",
9093
+ "# `astro check` runs inside the Starlight project root and walks",
9094
+ "# content collections to validate internal references. It exits",
9095
+ "# non-zero when references are broken \u2014 that is a *finding* for",
9096
+ "# this helper, not a tool failure, so we capture stderr and parse",
9097
+ "# it into the normalized record shape rather than propagating the",
9098
+ "# non-zero exit.",
9099
+ 'if [ "$mode" = "internal" ] || [ "$mode" = "all" ]; then',
9100
+ " if ! command -v node >/dev/null 2>&1; then",
9101
+ ' err "node is required but not on PATH"',
9102
+ " exit 2",
9103
+ " fi",
9104
+ "",
9105
+ ' if [ ! -d "$site_dir" ]; then',
9106
+ ' err "site dir not found: $site_dir"',
9107
+ " exit 1",
9108
+ " fi",
9109
+ "",
9110
+ " # Locate the astro binary in the site's local node_modules first",
9111
+ " # so the version matches what `pnpm install` resolved for the",
9112
+ " # Starlight site. Fall back to a workspace-aware `pnpm exec`.",
9113
+ ' if [ -x "$site_dir/node_modules/.bin/astro" ]; then',
9114
+ ' astro_bin=("$site_dir/node_modules/.bin/astro")',
9115
+ " elif command -v pnpm >/dev/null 2>&1; then",
9116
+ ' astro_bin=(pnpm --dir "$site_dir" exec astro)',
9117
+ " else",
9118
+ ' err "astro binary not found in $site_dir/node_modules/.bin and pnpm is unavailable"',
9119
+ " exit 2",
9120
+ " fi",
9121
+ "",
9122
+ ' astro_log="$tmp_dir/astro.log"',
9123
+ " set +e",
9124
+ ' ( cd "$site_dir" && "${astro_bin[@]}" check ) > "$astro_log" 2>&1',
9125
+ " astro_status=$?",
9126
+ " set -e",
9127
+ "",
9128
+ " # `astro check` exits 1 on findings and >=2 on tool failure.",
9129
+ " # Translate to the normalized record stream regardless of exit.",
9130
+ ' if [ "$astro_status" -ge 2 ]; then',
9131
+ ' err "astro check exited with status $astro_status (tool failure)"',
9132
+ ' cat "$astro_log" >&2 || true',
9133
+ " exit 3",
9134
+ " fi",
9135
+ "",
9136
+ " # Parse the line-oriented log into JSON records. The `astro",
9137
+ " # check` output for a broken reference looks like:",
9138
+ " #",
9139
+ " # src/content/docs/foo.md:42:8 - error <code>: <reason>",
9140
+ " #",
9141
+ " # The helper extracts `<docPath>`, `<line>`, and `<reason>` and",
9142
+ " # synthesises a `url` field by quoting the offending excerpt",
9143
+ " # when astro reports one (it does not always); when no excerpt",
9144
+ " # is available we fall back to an empty string so the schema",
9145
+ " # stays uniform.",
9146
+ ` awk -v docs_root="$docs_root" -v site_dir="$site_dir" '`,
9147
+ " BEGIN {",
9148
+ ' printf "[";',
9149
+ " first = 1;",
9150
+ " }",
9151
+ ' # Match "<path>:<line>:<col> - <severity> <code>: <message>"',
9152
+ " /^.+:[0-9]+:[0-9]+ - / {",
9153
+ ' split($0, head, " - ");',
9154
+ ' n = split(head[1], loc, ":");',
9155
+ " file = loc[1];",
9156
+ ' for (i = 2; i < n - 1; i++) { file = file ":" loc[i]; }',
9157
+ " line = loc[n - 1];",
9158
+ ' message = "";',
9159
+ " for (i = 2; i <= length(head); i++) {",
9160
+ ' if (i > 2) message = message " - ";',
9161
+ " message = message head[i];",
9162
+ " }",
9163
+ " # Resolve the file relative to docs_root for stability.",
9164
+ " abs = file;",
9165
+ ' if (substr(abs, 1, 1) != "/") {',
9166
+ ' abs = site_dir "/" abs;',
9167
+ " }",
9168
+ ' sub(docs_root "/", "", abs);',
9169
+ ' gsub(/"/, "\\\\\\"", message);',
9170
+ ' gsub(/"/, "\\\\\\"", abs);',
9171
+ ' if (!first) printf ",";',
9172
+ " first = 0;",
9173
+ ' printf "{\\"url\\":\\"\\",\\"docPath\\":\\"%s\\",\\"line\\":%s,\\"kind\\":\\"internal\\",\\"reason\\":\\"%s\\"}", abs, line, message;',
9174
+ " }",
9175
+ " END {",
9176
+ ' printf "]";',
9177
+ " }",
9178
+ ` ' "$astro_log" > "$internal_json"`,
9179
+ "",
9180
+ " # Validate the JSON we synthesised. Catches awk escaping bugs",
9181
+ " # before we hand the payload to the merge step.",
9182
+ ' if ! jq -e . "$internal_json" >/dev/null 2>&1; then',
9183
+ ' err "failed to normalize astro check output to JSON"',
9184
+ ' cat "$internal_json" >&2 || true',
9185
+ " exit 3",
9186
+ " fi",
9187
+ "fi",
9188
+ "",
9189
+ "# ---------------------------------------------------------------",
9190
+ "# External-link check",
9191
+ "# ---------------------------------------------------------------",
9192
+ "# `lychee` walks the markdown tree and reports unreachable URLs.",
9193
+ "# Its `--format json` output is structured per-link; we project",
9194
+ "# only the failed entries into the normalized record shape.",
9195
+ 'if [ "$mode" = "external" ] || [ "$mode" = "all" ]; then',
9196
+ " if ! command -v lychee >/dev/null 2>&1; then",
9197
+ ' err "lychee is required but not on PATH (https://github.com/lycheeverse/lychee)"',
9198
+ " exit 2",
9199
+ " fi",
9200
+ "",
9201
+ ' lychee_json="$tmp_dir/lychee.json"',
9202
+ " set +e",
9203
+ " # `--no-progress` avoids interactive carriage-returns mangling",
9204
+ " # the JSON. `--format json` emits a single object whose `fail_map`",
9205
+ " # field lists the broken URLs grouped by source file.",
9206
+ " # `--exclude-mail` skips mailto: links (out of scope for this",
9207
+ " # helper).",
9208
+ ' lychee --no-progress --format json --exclude-mail "$docs_root" > "$lychee_json" 2>"$tmp_dir/lychee.err"',
9209
+ " lychee_status=$?",
9210
+ " set -e",
9211
+ "",
9212
+ " # lychee exits 0 when every link resolved, 2 when one or more",
9213
+ " # links failed. Anything else is a tool failure (config, IO).",
9214
+ ' if [ "$lychee_status" -ne 0 ] && [ "$lychee_status" -ne 2 ]; then',
9215
+ ' err "lychee exited with status $lychee_status (tool failure)"',
9216
+ ' cat "$tmp_dir/lychee.err" >&2 || true',
9217
+ " exit 3",
9218
+ " fi",
9219
+ "",
9220
+ " # Project lychee's `fail_map` into the normalized record shape.",
9221
+ ' # The `fail_map` is `{ "<source-path>": [ { url, status: { details? } }, ... ] }`.',
9222
+ " # lychee does not report a line number for every match, so we",
9223
+ " # default to 0 when it is missing (downstream consumers treat",
9224
+ ' # 0 as "unknown line").',
9225
+ ` jq --arg root "$docs_root" '`,
9226
+ " def trim_root($p; $r):",
9227
+ ' if ($p | startswith($r + "/")) then ($p | ltrimstr($r + "/"))',
9228
+ ' elif ($p == $r) then ""',
9229
+ " else $p end;",
9230
+ " [",
9231
+ " ( .fail_map // {} ) as $map",
9232
+ " | $map | to_entries[]",
9233
+ " | .key as $src",
9234
+ " | .value[]",
9235
+ " | {",
9236
+ ' url: (.url // ""),',
9237
+ " docPath: trim_root($src; $root),",
9238
+ " line: ((.line // 0) | tonumber? // 0),",
9239
+ ' kind: "external",',
9240
+ ' reason: ( (.status.details // .status.text // .status.code // "broken") | tostring )',
9241
+ " }",
9242
+ " ]",
9243
+ ` ' "$lychee_json" > "$external_json" 2>"$tmp_dir/lychee.parse.err"`,
9244
+ "",
9245
+ ' if ! jq -e . "$external_json" >/dev/null 2>&1; then',
9246
+ ' err "failed to parse lychee JSON output"',
9247
+ ' cat "$tmp_dir/lychee.parse.err" >&2 || true',
9248
+ ' cat "$lychee_json" >&2 || true',
9249
+ " exit 3",
9250
+ " fi",
9251
+ "fi",
9252
+ "",
9253
+ "# ---------------------------------------------------------------",
9254
+ "# Merge & emit",
9255
+ "# ---------------------------------------------------------------",
9256
+ "# Sort records deterministically (kind, docPath, line, url) so",
9257
+ "# downstream consumers can compare reports across runs without",
9258
+ "# fighting platform-specific ordering noise.",
9259
+ "jq -s '",
9260
+ " add",
9261
+ " | sort_by(.kind, .docPath, .line, .url)",
9262
+ `' "$internal_json" "$external_json"`,
9263
+ "",
9264
+ "exit 0"
9265
+ ].join("\n");
9266
+ }
9267
+ var checkLinksProcedure = {
9268
+ name: "check-links.sh",
9269
+ description: "Link integrity checker that wraps `astro check` (internal links) and `lychee` (external URLs) and normalizes their output into a single JSON-array stream of { url, docPath, line, kind, reason } records. Detection is data: the helper exits 0 when a tool ran successfully regardless of how many broken links it reported. Non-zero exits are reserved for tool-level failures.",
9270
+ content: renderCheckLinksProcedure()
9271
+ };
8981
9272
  function buildDocsSyncBundle(paths = DEFAULT_AGENT_PATHS) {
8982
9273
  return {
8983
9274
  name: "docs-sync",
@@ -9027,7 +9318,7 @@ function buildDocsSyncBundle(paths = DEFAULT_AGENT_PATHS) {
9027
9318
  ],
9028
9319
  skills: [buildDocsSyncPrSkill(), buildDocsSyncAuditSkill()],
9029
9320
  subAgents: [buildDocsSyncSubAgent(paths)],
9030
- procedures: [extractApiProcedure],
9321
+ procedures: [extractApiProcedure, checkLinksProcedure],
9031
9322
  labels: [
9032
9323
  {
9033
9324
  name: "type:docs-sync",
@@ -29253,6 +29544,7 @@ var JsiiFaker = class _JsiiFaker extends import_projen13.Component {
29253
29544
 
29254
29545
  // src/projects/astro-project.ts
29255
29546
  var import_projen18 = require("projen");
29547
+ var import_ts_deepmerge3 = require("ts-deepmerge");
29256
29548
 
29257
29549
  // src/projects/monorepo-layout.ts
29258
29550
  var MONOREPO_LAYOUT = {
@@ -30437,20 +30729,27 @@ var TypeScriptProject = class extends import_projen17.typescript.TypeScriptProje
30437
30729
  var AstroProject = class extends TypeScriptProject {
30438
30730
  constructor(userOptions) {
30439
30731
  const resolvedOutdir = userOptions.outdir ?? resolveAstroProjectOutdir(userOptions.packageName ?? userOptions.name);
30440
- const options = {
30732
+ const defaultOptions = {
30441
30733
  testRunner: TestRunner.VITEST,
30442
30734
  // Astro sites don't expose a library API surface — skip the
30443
30735
  // `@microsoft/api-extractor` wiring the TypeScriptProject base adds
30444
30736
  // by default. Callers can opt in with `apiExtractor: { ... }` if a
30445
30737
  // given site genuinely ships typed re-exports.
30446
30738
  apiExtractor: false,
30447
- ...userOptions,
30448
- outdir: resolvedOutdir,
30739
+ tsconfig: {
30740
+ compilerOptions: {
30741
+ declaration: false
30742
+ }
30743
+ },
30449
30744
  depsUpgradeOptions: {
30450
- ...userOptions.depsUpgradeOptions,
30451
- exclude: [...userOptions.depsUpgradeOptions?.exclude ?? [], "astro"]
30745
+ exclude: ["astro"]
30452
30746
  }
30453
30747
  };
30748
+ const merged = (0, import_ts_deepmerge3.merge)(defaultOptions, userOptions);
30749
+ const options = {
30750
+ ...merged,
30751
+ outdir: resolvedOutdir
30752
+ };
30454
30753
  super(options);
30455
30754
  const astroVersion = options.astroVersion ?? VERSION.ASTRO_VERSION;
30456
30755
  const astroTsconfigExtends = options.astroTsconfigExtends ?? "astro/tsconfigs/strict";
@@ -30502,6 +30801,9 @@ var AstroProject = class extends TypeScriptProject {
30502
30801
  parser: "astro-eslint-parser"
30503
30802
  });
30504
30803
  this.eslint?.addLintPattern("src/**/*.astro");
30804
+ this.eslint?.addRules({
30805
+ "import/no-unresolved": ["error", { ignore: ["^astro:"] }]
30806
+ });
30505
30807
  this.gitignore.addPatterns(".astro", ".vercel", ".netlify");
30506
30808
  const turbo = TurboRepo.of(this);
30507
30809
  if (turbo?.compileTask) {
@@ -30547,7 +30849,7 @@ var DEFAULT_FAVICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0
30547
30849
  var import_projen21 = require("projen");
30548
30850
  var import_javascript5 = require("projen/lib/javascript");
30549
30851
  var import_release2 = require("projen/lib/release");
30550
- var import_ts_deepmerge3 = require("ts-deepmerge");
30852
+ var import_ts_deepmerge4 = require("ts-deepmerge");
30551
30853
 
30552
30854
  // src/workflows/aws-deploy-workflow.ts
30553
30855
  var import_utils11 = __toESM(require_lib());
@@ -31117,7 +31419,7 @@ var AwsCdkProject = class extends import_projen21.awscdk.AwsCdkTypeScriptApp {
31117
31419
  paths: [`${resolvedOutdir}/src/**`, `${resolvedOutdir}/package.json`]
31118
31420
  })
31119
31421
  };
31120
- const options = (0, import_ts_deepmerge3.merge)(defaultOptions, userOptions);
31422
+ const options = (0, import_ts_deepmerge4.merge)(defaultOptions, userOptions);
31121
31423
  super(options);
31122
31424
  this.addDevDeps("@types/node@catalog:");
31123
31425
  this.tsconfig?.addExclude("**/*.test.*");
@@ -31189,7 +31491,7 @@ var AwsCdkProject = class extends import_projen21.awscdk.AwsCdkTypeScriptApp {
31189
31491
  ]
31190
31492
  };
31191
31493
  const userResetTaskOptions = options.resetTaskOptions ?? {};
31192
- const resetTaskOptions = (0, import_ts_deepmerge3.merge)(
31494
+ const resetTaskOptions = (0, import_ts_deepmerge4.merge)(
31193
31495
  defaultResetTaskOptions,
31194
31496
  {
31195
31497
  ...userResetTaskOptions,
@@ -31266,7 +31568,7 @@ var StarlightProject = class extends AstroProject {
31266
31568
  new import_projen22.SampleFile(this, "src/content/docs/index.mdx", {
31267
31569
  contents: DEFAULT_INDEX_MDX
31268
31570
  });
31269
- new import_projen22.SampleFile(this, "src/content/config.ts", {
31571
+ new import_projen22.SampleFile(this, "src/content.config.ts", {
31270
31572
  contents: DEFAULT_CONTENT_CONFIG_TS
31271
31573
  });
31272
31574
  }
@@ -31306,10 +31608,11 @@ description: Starlight-powered documentation site.
31306
31608
  Edit \`src/content/docs/index.mdx\` to replace this page.
31307
31609
  `;
31308
31610
  var DEFAULT_CONTENT_CONFIG_TS = `import { defineCollection } from "astro:content";
31611
+ import { docsLoader } from "@astrojs/starlight/loaders";
31309
31612
  import { docsSchema } from "@astrojs/starlight/schema";
31310
31613
 
31311
31614
  export const collections = {
31312
- docs: defineCollection({ schema: docsSchema() }),
31615
+ docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
31313
31616
  };
31314
31617
  `;
31315
31618
 
@@ -31479,6 +31782,7 @@ var TypeScriptConfig = class extends import_projen23.Component {
31479
31782
  buildStandardsResearchBundle,
31480
31783
  buildUnblockDependentsProcedure,
31481
31784
  businessModelsBundle,
31785
+ checkLinksProcedure,
31482
31786
  classifyIssueScope,
31483
31787
  classifyRun,
31484
31788
  companyProfileBundle,
@@ -31502,6 +31806,7 @@ var TypeScriptConfig = class extends import_projen23.Component {
31502
31806
  regulatoryResearchBundle,
31503
31807
  renderAgentTierCaseStatement,
31504
31808
  renderAgentTierSection,
31809
+ renderCheckLinksProcedure,
31505
31810
  renderCustomDocSectionBlock,
31506
31811
  renderCustomDocSections,
31507
31812
  renderExtractApiProcedure,