@3fn/core 13.0.0
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/.kiro/agents/ada-prompt.md +265 -0
- package/.kiro/agents/ada.json +87 -0
- package/.kiro/agents/data-prompt.md +315 -0
- package/.kiro/agents/data.json +58 -0
- package/.kiro/agents/kenya-prompt.md +298 -0
- package/.kiro/agents/kenya.json +54 -0
- package/.kiro/agents/leonardo-prompt.md +417 -0
- package/.kiro/agents/leonardo.json +55 -0
- package/.kiro/agents/lina-prompt.md +385 -0
- package/.kiro/agents/lina.json +77 -0
- package/.kiro/agents/sparky-prompt.md +295 -0
- package/.kiro/agents/sparky.json +56 -0
- package/.kiro/agents/stacy-prompt.md +278 -0
- package/.kiro/agents/stacy.json +48 -0
- package/.kiro/agents/thurgood-prompt.md +407 -0
- package/.kiro/agents/thurgood.json +51 -0
- package/.kiro/steering/AI-Collaboration-Principles.md +105 -0
- package/.kiro/steering/Agent-Directory.md +141 -0
- package/.kiro/steering/Civitas-System-Overview.md +134 -0
- package/.kiro/steering/DesignerPunk-Systems-Overview.md +318 -0
- package/.kiro/steering/Spec-Feedback-Protocol.md +242 -0
- package/.kiro/steering/Task-Completion-Protocol.md +73 -0
- package/.kiro/steering/core-goals.md +91 -0
- package/.kiro/steering/personal-note.md +35 -0
- package/.kiro/steering/start-up-tasks.md +114 -0
- package/LICENSE +201 -0
- package/README.md +184 -0
- package/application-mcp-server/package.json +34 -0
- package/application-mcp-server/src/__tests__/__mocks__/mcp-sdk-server.js +25 -0
- package/application-mcp-server/src/__tests__/__mocks__/mcp-sdk-stdio.js +11 -0
- package/application-mcp-server/src/__tests__/__mocks__/mcp-sdk-types.js +14 -0
- package/application-mcp-server/src/__tests__/tool-boundary.contract.test.ts +1086 -0
- package/application-mcp-server/src/index.ts +607 -0
- package/application-mcp-server/src/indexer/ComponentIndexer.ts +631 -0
- package/application-mcp-server/src/indexer/CompositionChecker.ts +109 -0
- package/application-mcp-server/src/indexer/ContractTokenDeriver.ts +68 -0
- package/application-mcp-server/src/indexer/DesignPhilosophyIndexer.ts +114 -0
- package/application-mcp-server/src/indexer/FamilyGuidanceIndexer.ts +248 -0
- package/application-mcp-server/src/indexer/InheritanceResolver.ts +154 -0
- package/application-mcp-server/src/indexer/LayoutTemplateIndexer.ts +254 -0
- package/application-mcp-server/src/indexer/ModeClassifier.ts +102 -0
- package/application-mcp-server/src/indexer/PatternIndexer.ts +195 -0
- package/application-mcp-server/src/indexer/TokenIndexer.ts +210 -0
- package/application-mcp-server/src/indexer/TokenRefResolver.ts +187 -0
- package/application-mcp-server/src/indexer/__tests__/ComponentIndexer.test.ts +141 -0
- package/application-mcp-server/src/indexer/__tests__/CompositionChecker.test.ts +148 -0
- package/application-mcp-server/src/indexer/__tests__/ContractTokenDeriver.test.ts +111 -0
- package/application-mcp-server/src/indexer/__tests__/CoverageDrift.test.ts +53 -0
- package/application-mcp-server/src/indexer/__tests__/DesignPhilosophyIndexer.test.ts +102 -0
- package/application-mcp-server/src/indexer/__tests__/FamilyGuidanceIndexer.test.ts +316 -0
- package/application-mcp-server/src/indexer/__tests__/FamilyNameValidation.test.ts +98 -0
- package/application-mcp-server/src/indexer/__tests__/GuidanceCompleteness.test.ts +63 -0
- package/application-mcp-server/src/indexer/__tests__/HealthStates.test.ts +129 -0
- package/application-mcp-server/src/indexer/__tests__/InheritanceResolver.test.ts +145 -0
- package/application-mcp-server/src/indexer/__tests__/LayoutTemplateIndexer.test.ts +378 -0
- package/application-mcp-server/src/indexer/__tests__/PatternIndexer.test.ts +323 -0
- package/application-mcp-server/src/indexer/__tests__/ReadinessCompliance.test.ts +212 -0
- package/application-mcp-server/src/indexer/__tests__/TokenIndexer.test.ts +131 -0
- package/application-mcp-server/src/indexer/__tests__/fixtures/design-philosophy.yaml +40 -0
- package/application-mcp-server/src/indexer/__tests__/parsers.test.ts +102 -0
- package/application-mcp-server/src/indexer/parsers.ts +284 -0
- package/application-mcp-server/src/models/index.ts +449 -0
- package/application-mcp-server/src/query/QueryEngine.ts +477 -0
- package/application-mcp-server/src/query/__tests__/QueryEngine.test.ts +282 -0
- package/application-mcp-server/src/query/__tests__/deriveMatchConfidence.test.ts +83 -0
- package/application-mcp-server/src/staleness/StalenessGate.ts +112 -0
- package/application-mcp-server/src/staleness/__tests__/GateIntegration.test.ts +141 -0
- package/application-mcp-server/src/staleness/__tests__/StalenessGate.test.ts +214 -0
- package/application-mcp-server/src/validation/AccessibilityChecker.ts +72 -0
- package/application-mcp-server/src/validation/AssemblyValidator.ts +77 -0
- package/application-mcp-server/src/validation/__tests__/AccessibilityChecker.test.ts +105 -0
- package/application-mcp-server/src/validation/__tests__/AssemblyValidator.test.ts +140 -0
- package/application-mcp-server/src/watcher/FileWatcher.ts +104 -0
- package/application-mcp-server/src/watcher/__tests__/FileWatcher.test.ts +59 -0
- package/application-mcp-server/tsconfig.json +24 -0
- package/bin/designerpunk.js +45 -0
- package/design-language/design-philosophy.yaml +139 -0
- package/designerpunk.config.ts +27 -0
- package/dist/ComponentTokens.android.kt +105 -0
- package/dist/ComponentTokens.ios.swift +105 -0
- package/dist/ComponentTokens.web.css +92 -0
- package/dist/DesignTokens.android.kt +696 -0
- package/dist/DesignTokens.dtcg.json +5759 -0
- package/dist/DesignTokens.figma.json +5053 -0
- package/dist/DesignTokens.ios.swift +696 -0
- package/dist/DesignTokens.web.css +940 -0
- package/dist/TokenEngine.d.ts +200 -0
- package/dist/TokenEngine.js +480 -0
- package/dist/__tests__/fixtures/acknowledged-differences.json +127 -0
- package/dist/analytics/PrimitiveTokenFallbackTracker.d.ts +91 -0
- package/dist/analytics/PrimitiveTokenFallbackTracker.js +168 -0
- package/dist/analytics/SemanticTokenUsageTracker.d.ts +79 -0
- package/dist/analytics/SemanticTokenUsageTracker.js +142 -0
- package/dist/analytics/StrategicFlexibilityTracker.d.ts +99 -0
- package/dist/analytics/StrategicFlexibilityTracker.js +165 -0
- package/dist/analytics/TokenUsageTracker.d.ts +87 -0
- package/dist/analytics/TokenUsageTracker.js +128 -0
- package/dist/analytics/UsagePatternAnalyzer.d.ts +64 -0
- package/dist/analytics/UsagePatternAnalyzer.js +126 -0
- package/dist/analytics/index.d.ts +15 -0
- package/dist/analytics/index.js +27 -0
- package/dist/android/DesignTokens.android.kt +695 -0
- package/dist/blend/BlendCalculator.d.ts +65 -0
- package/dist/blend/BlendCalculator.js +98 -0
- package/dist/blend/ColorSpaceUtils.d.ts +164 -0
- package/dist/blend/ColorSpaceUtils.js +292 -0
- package/dist/blend/OklchBlendCalculator.d.ts +64 -0
- package/dist/blend/OklchBlendCalculator.js +77 -0
- package/dist/blend/ThemeAwareBlendUtilities.web.d.ts +202 -0
- package/dist/blend/ThemeAwareBlendUtilities.web.js +212 -0
- package/dist/blend/index.d.ts +12 -0
- package/dist/blend/index.js +30 -0
- package/dist/browser/demo-styles.css +492 -0
- package/dist/browser/designerpunk.esm.js +18472 -0
- package/dist/browser/designerpunk.esm.min.js +705 -0
- package/dist/browser/designerpunk.umd.js +18540 -0
- package/dist/browser/designerpunk.umd.min.js +705 -0
- package/dist/browser/tokens.css +1028 -0
- package/dist/browser-entry.d.ts +82 -0
- package/dist/browser-entry.js +297 -0
- package/dist/build/BuildOrchestrator.d.ts +89 -0
- package/dist/build/BuildOrchestrator.js +583 -0
- package/dist/build/errors/BuildError.d.ts +87 -0
- package/dist/build/errors/BuildError.js +67 -0
- package/dist/build/errors/ErrorDocumentation.d.ts +66 -0
- package/dist/build/errors/ErrorDocumentation.js +557 -0
- package/dist/build/errors/ErrorHandler.d.ts +120 -0
- package/dist/build/errors/ErrorHandler.js +299 -0
- package/dist/build/errors/ErrorReporter.d.ts +102 -0
- package/dist/build/errors/ErrorReporter.js +397 -0
- package/dist/build/errors/PlatformGenerationError.d.ts +73 -0
- package/dist/build/errors/PlatformGenerationError.js +163 -0
- package/dist/build/errors/RecoveryStrategy.d.ts +145 -0
- package/dist/build/errors/RecoveryStrategy.js +297 -0
- package/dist/build/errors/TokenGenerationError.d.ts +65 -0
- package/dist/build/errors/TokenGenerationError.js +161 -0
- package/dist/build/errors/TokenReferenceError.d.ts +65 -0
- package/dist/build/errors/TokenReferenceError.js +168 -0
- package/dist/build/errors/index.d.ts +18 -0
- package/dist/build/errors/index.js +63 -0
- package/dist/build/index.d.ts +19 -0
- package/dist/build/index.js +26 -0
- package/dist/build/orchestration/IncrementalBuilder.d.ts +180 -0
- package/dist/build/orchestration/IncrementalBuilder.js +393 -0
- package/dist/build/orchestration/ParallelExecutor.d.ts +87 -0
- package/dist/build/orchestration/ParallelExecutor.js +242 -0
- package/dist/build/orchestration/ProgressTracker.d.ts +181 -0
- package/dist/build/orchestration/ProgressTracker.js +371 -0
- package/dist/build/orchestration/SequentialExecutor.d.ts +96 -0
- package/dist/build/orchestration/SequentialExecutor.js +211 -0
- package/dist/build/orchestration/index.d.ts +10 -0
- package/dist/build/orchestration/index.js +17 -0
- package/dist/build/platforms/AndroidBuilder.d.ts +288 -0
- package/dist/build/platforms/AndroidBuilder.js +1134 -0
- package/dist/build/platforms/AndroidShadowGenerator.d.ts +101 -0
- package/dist/build/platforms/AndroidShadowGenerator.js +298 -0
- package/dist/build/platforms/IOSShadowGenerator.d.ts +84 -0
- package/dist/build/platforms/IOSShadowGenerator.js +254 -0
- package/dist/build/platforms/PlatformBuilder.d.ts +111 -0
- package/dist/build/platforms/PlatformBuilder.js +10 -0
- package/dist/build/platforms/WebBuilder.d.ts +294 -0
- package/dist/build/platforms/WebBuilder.js +1133 -0
- package/dist/build/platforms/WebShadowGenerator.d.ts +78 -0
- package/dist/build/platforms/WebShadowGenerator.js +226 -0
- package/dist/build/platforms/iOSBuilder.d.ts +352 -0
- package/dist/build/platforms/iOSBuilder.js +1461 -0
- package/dist/build/platforms/index.d.ts +8 -0
- package/dist/build/platforms/index.js +24 -0
- package/dist/build/product/ProductTokenGenerator.d.ts +62 -0
- package/dist/build/product/ProductTokenGenerator.js +141 -0
- package/dist/build/product/TokenIndexReader.d.ts +28 -0
- package/dist/build/product/TokenIndexReader.js +101 -0
- package/dist/build/product/emitters/KotlinEmitter.d.ts +8 -0
- package/dist/build/product/emitters/KotlinEmitter.js +80 -0
- package/dist/build/product/emitters/SwiftEmitter.d.ts +8 -0
- package/dist/build/product/emitters/SwiftEmitter.js +87 -0
- package/dist/build/product/emitters/WebEmitter.d.ts +8 -0
- package/dist/build/product/emitters/WebEmitter.js +66 -0
- package/dist/build/tokens/ComponentToken.d.ts +239 -0
- package/dist/build/tokens/ComponentToken.js +51 -0
- package/dist/build/tokens/ComponentTokenGenerator.d.ts +117 -0
- package/dist/build/tokens/ComponentTokenGenerator.js +324 -0
- package/dist/build/tokens/PlatformTokens.d.ts +144 -0
- package/dist/build/tokens/PlatformTokens.js +9 -0
- package/dist/build/tokens/TokenIntegrator.d.ts +156 -0
- package/dist/build/tokens/TokenIntegrator.js +259 -0
- package/dist/build/tokens/TokenSelection.d.ts +105 -0
- package/dist/build/tokens/TokenSelection.js +9 -0
- package/dist/build/tokens/TokenSelector.d.ts +73 -0
- package/dist/build/tokens/TokenSelector.js +336 -0
- package/dist/build/tokens/UnitConverter.d.ts +126 -0
- package/dist/build/tokens/UnitConverter.js +222 -0
- package/dist/build/tokens/defineComponentTokens.d.ts +186 -0
- package/dist/build/tokens/defineComponentTokens.js +193 -0
- package/dist/build/tokens/index.d.ts +18 -0
- package/dist/build/tokens/index.js +23 -0
- package/dist/build/tokens/types.d.ts +24 -0
- package/dist/build/tokens/types.js +8 -0
- package/dist/build/types/BuildConfig.d.ts +92 -0
- package/dist/build/types/BuildConfig.js +28 -0
- package/dist/build/types/BuildOrchestrator.d.ts +95 -0
- package/dist/build/types/BuildOrchestrator.js +9 -0
- package/dist/build/types/BuildResult.d.ts +91 -0
- package/dist/build/types/BuildResult.js +10 -0
- package/dist/build/types/Platform.d.ts +25 -0
- package/dist/build/types/Platform.js +39 -0
- package/dist/build/types/index.d.ts +14 -0
- package/dist/build/types/index.js +15 -0
- package/dist/build/validation/AndroidBuildValidator.d.ts +77 -0
- package/dist/build/validation/AndroidBuildValidator.js +562 -0
- package/dist/build/validation/CrossPlatformValidationReporter.d.ts +295 -0
- package/dist/build/validation/CrossPlatformValidationReporter.js +817 -0
- package/dist/build/validation/InterfaceContractValidator.d.ts +102 -0
- package/dist/build/validation/InterfaceContractValidator.js +303 -0
- package/dist/build/validation/InterfaceValidator.d.ts +48 -0
- package/dist/build/validation/InterfaceValidator.js +214 -0
- package/dist/build/validation/MathematicalConsistencyValidator.d.ts +194 -0
- package/dist/build/validation/MathematicalConsistencyValidator.js +656 -0
- package/dist/build/validation/MethodSignatureValidator.d.ts +72 -0
- package/dist/build/validation/MethodSignatureValidator.js +283 -0
- package/dist/build/validation/PropertyTypeValidator.d.ts +73 -0
- package/dist/build/validation/PropertyTypeValidator.js +241 -0
- package/dist/build/validation/TokenComparator.d.ts +221 -0
- package/dist/build/validation/TokenComparator.js +478 -0
- package/dist/build/validation/ValidationReporter.d.ts +173 -0
- package/dist/build/validation/ValidationReporter.example.d.ts +17 -0
- package/dist/build/validation/ValidationReporter.example.js +259 -0
- package/dist/build/validation/ValidationReporter.js +517 -0
- package/dist/build/validation/WebBuildValidator.d.ts +112 -0
- package/dist/build/validation/WebBuildValidator.js +470 -0
- package/dist/build/validation/iOSBuildValidator.d.ts +155 -0
- package/dist/build/validation/iOSBuildValidator.js +670 -0
- package/dist/build/validation/index.d.ts +26 -0
- package/dist/build/validation/index.js +34 -0
- package/dist/build/validation/types/InterfaceDefinition.d.ts +74 -0
- package/dist/build/validation/types/InterfaceDefinition.js +9 -0
- package/dist/build/validation/types/ValidationResult.d.ts +74 -0
- package/dist/build/validation/types/ValidationResult.js +9 -0
- package/dist/build/workflow/BuildMode.d.ts +147 -0
- package/dist/build/workflow/BuildMode.js +205 -0
- package/dist/build/workflow/CICDIntegration.d.ts +179 -0
- package/dist/build/workflow/CICDIntegration.js +347 -0
- package/dist/build/workflow/ConfigHelpers.d.ts +139 -0
- package/dist/build/workflow/ConfigHelpers.example.d.ts +8 -0
- package/dist/build/workflow/ConfigHelpers.example.js +269 -0
- package/dist/build/workflow/ConfigHelpers.js +714 -0
- package/dist/build/workflow/SourceMapGenerator.d.ts +89 -0
- package/dist/build/workflow/SourceMapGenerator.js +268 -0
- package/dist/build/workflow/index.d.ts +13 -0
- package/dist/build/workflow/index.js +23 -0
- package/dist/cli/designerpunk.d.ts +20 -0
- package/dist/cli/designerpunk.js +416 -0
- package/dist/cli/figma-extract.d.ts +64 -0
- package/dist/cli/figma-extract.js +338 -0
- package/dist/cli/figma-push.d.ts +63 -0
- package/dist/cli/figma-push.js +292 -0
- package/dist/cli/generateProductTokens.d.ts +11 -0
- package/dist/cli/generateProductTokens.js +96 -0
- package/dist/cli/init.d.ts +11 -0
- package/dist/cli/init.js +385 -0
- package/dist/cli/loadComponentTokens.d.ts +46 -0
- package/dist/cli/loadComponentTokens.js +163 -0
- package/dist/cli/resolveTokens.d.ts +40 -0
- package/dist/cli/resolveTokens.js +94 -0
- package/dist/cli/shared/mcpDataRoots.d.ts +38 -0
- package/dist/cli/shared/mcpDataRoots.js +75 -0
- package/dist/cli/shared/resolvePackageRoot.d.ts +2 -0
- package/dist/cli/shared/resolvePackageRoot.js +50 -0
- package/dist/cli/shared/transforms.d.ts +13 -0
- package/dist/cli/shared/transforms.js +18 -0
- package/dist/cli/staleness.d.ts +23 -0
- package/dist/cli/staleness.js +113 -0
- package/dist/cli/sync/Applier.d.ts +32 -0
- package/dist/cli/sync/Applier.js +127 -0
- package/dist/cli/sync/Classifier.d.ts +27 -0
- package/dist/cli/sync/Classifier.js +103 -0
- package/dist/cli/sync/FileScanner.d.ts +19 -0
- package/dist/cli/sync/FileScanner.js +82 -0
- package/dist/cli/sync/IgnoreFilter.d.ts +10 -0
- package/dist/cli/sync/IgnoreFilter.js +70 -0
- package/dist/cli/sync/Manifest.d.ts +24 -0
- package/dist/cli/sync/Manifest.js +85 -0
- package/dist/cli/sync/PackageResolver.d.ts +14 -0
- package/dist/cli/sync/PackageResolver.js +67 -0
- package/dist/cli/sync/Prompter.d.ts +22 -0
- package/dist/cli/sync/Prompter.js +169 -0
- package/dist/cli/sync/Reporter.d.ts +11 -0
- package/dist/cli/sync/Reporter.js +66 -0
- package/dist/cli/sync/SteeringDirCheck.d.ts +50 -0
- package/dist/cli/sync/SteeringDirCheck.js +174 -0
- package/dist/cli/sync/index.d.ts +14 -0
- package/dist/cli/sync/index.js +94 -0
- package/dist/cli/validate.d.ts +18 -0
- package/dist/cli/validate.js +147 -0
- package/dist/cli/validateProductTokens.d.ts +10 -0
- package/dist/cli/validateProductTokens.js +84 -0
- package/dist/color/OklchConverter.d.ts +50 -0
- package/dist/color/OklchConverter.js +242 -0
- package/dist/color/OklchValidator.d.ts +49 -0
- package/dist/color/OklchValidator.js +147 -0
- package/dist/components/core/Avatar-Base/avatar.tokens.d.ts +327 -0
- package/dist/components/core/Avatar-Base/avatar.tokens.js +344 -0
- package/dist/components/core/Avatar-Base/index.d.ts +12 -0
- package/dist/components/core/Avatar-Base/index.js +24 -0
- package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.d.ts +315 -0
- package/dist/components/core/Avatar-Base/platforms/web/Avatar.web.js +803 -0
- package/dist/components/core/Avatar-Base/types.d.ts +72 -0
- package/dist/components/core/Avatar-Base/types.js +21 -0
- package/dist/components/core/Badge-Count-Base/index.d.ts +24 -0
- package/dist/components/core/Badge-Count-Base/index.js +36 -0
- package/dist/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.d.ts +192 -0
- package/dist/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.js +337 -0
- package/dist/components/core/Badge-Count-Base/types.d.ts +137 -0
- package/dist/components/core/Badge-Count-Base/types.js +67 -0
- package/dist/components/core/Badge-Count-Notification/index.d.ts +33 -0
- package/dist/components/core/Badge-Count-Notification/index.js +56 -0
- package/dist/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.d.ts +179 -0
- package/dist/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.js +365 -0
- package/dist/components/core/Badge-Count-Notification/tokens.d.ts +118 -0
- package/dist/components/core/Badge-Count-Notification/tokens.js +120 -0
- package/dist/components/core/Badge-Count-Notification/types.d.ts +112 -0
- package/dist/components/core/Badge-Count-Notification/types.js +33 -0
- package/dist/components/core/Badge-Label-Base/index.d.ts +24 -0
- package/dist/components/core/Badge-Label-Base/index.js +39 -0
- package/dist/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.d.ts +178 -0
- package/dist/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.js +315 -0
- package/dist/components/core/Badge-Label-Base/tokens.d.ts +69 -0
- package/dist/components/core/Badge-Label-Base/tokens.js +81 -0
- package/dist/components/core/Badge-Label-Base/types.d.ts +139 -0
- package/dist/components/core/Badge-Label-Base/types.js +61 -0
- package/dist/components/core/Button-CTA/Button-CTA.tokens.d.ts +73 -0
- package/dist/components/core/Button-CTA/Button-CTA.tokens.js +75 -0
- package/dist/components/core/Button-CTA/examples/BasicUsage.d.ts +146 -0
- package/dist/components/core/Button-CTA/examples/BasicUsage.js +231 -0
- package/dist/components/core/Button-CTA/index.d.ts +14 -0
- package/dist/components/core/Button-CTA/index.js +20 -0
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.d.ts +273 -0
- package/dist/components/core/Button-CTA/platforms/web/ButtonCTA.web.js +635 -0
- package/dist/components/core/Button-CTA/types.d.ts +247 -0
- package/dist/components/core/Button-CTA/types.js +14 -0
- package/dist/components/core/Button-Icon/buttonIcon.tokens.d.ts +171 -0
- package/dist/components/core/Button-Icon/buttonIcon.tokens.js +188 -0
- package/dist/components/core/Button-Icon/platforms/web/ButtonIcon.web.d.ts +267 -0
- package/dist/components/core/Button-Icon/platforms/web/ButtonIcon.web.js +570 -0
- package/dist/components/core/Button-Icon/types.d.ts +177 -0
- package/dist/components/core/Button-Icon/types.js +35 -0
- package/dist/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.d.ts +96 -0
- package/dist/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.js +107 -0
- package/dist/components/core/Button-VerticalList-Item/index.d.ts +19 -0
- package/dist/components/core/Button-VerticalList-Item/index.js +39 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.d.ts +378 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.js +916 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.d.ts +227 -0
- package/dist/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.js +370 -0
- package/dist/components/core/Button-VerticalList-Item/types.d.ts +301 -0
- package/dist/components/core/Button-VerticalList-Item/types.js +16 -0
- package/dist/components/core/Button-VerticalList-Set/index.d.ts +16 -0
- package/dist/components/core/Button-VerticalList-Set/index.js +26 -0
- package/dist/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.d.ts +492 -0
- package/dist/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.js +1263 -0
- package/dist/components/core/Button-VerticalList-Set/types.d.ts +586 -0
- package/dist/components/core/Button-VerticalList-Set/types.js +375 -0
- package/dist/components/core/Chip-Base/index.d.ts +28 -0
- package/dist/components/core/Chip-Base/index.js +40 -0
- package/dist/components/core/Chip-Base/platforms/web/ChipBase.web.d.ts +214 -0
- package/dist/components/core/Chip-Base/platforms/web/ChipBase.web.js +434 -0
- package/dist/components/core/Chip-Base/types.d.ts +174 -0
- package/dist/components/core/Chip-Base/types.js +34 -0
- package/dist/components/core/Chip-Filter/index.d.ts +22 -0
- package/dist/components/core/Chip-Filter/index.js +31 -0
- package/dist/components/core/Chip-Filter/platforms/web/ChipFilter.web.d.ts +222 -0
- package/dist/components/core/Chip-Filter/platforms/web/ChipFilter.web.js +467 -0
- package/dist/components/core/Chip-Filter/types.d.ts +45 -0
- package/dist/components/core/Chip-Filter/types.js +19 -0
- package/dist/components/core/Chip-Input/index.d.ts +22 -0
- package/dist/components/core/Chip-Input/index.js +31 -0
- package/dist/components/core/Chip-Input/platforms/web/ChipInput.web.d.ts +205 -0
- package/dist/components/core/Chip-Input/platforms/web/ChipInput.web.js +419 -0
- package/dist/components/core/Chip-Input/types.d.ts +34 -0
- package/dist/components/core/Chip-Input/types.js +19 -0
- package/dist/components/core/Container-Base/index.d.ts +19 -0
- package/dist/components/core/Container-Base/index.js +34 -0
- package/dist/components/core/Container-Base/platforms/web/ContainerBase.web.d.ts +128 -0
- package/dist/components/core/Container-Base/platforms/web/ContainerBase.web.js +349 -0
- package/dist/components/core/Container-Base/platforms/web/token-mapping.d.ts +357 -0
- package/dist/components/core/Container-Base/platforms/web/token-mapping.js +518 -0
- package/dist/components/core/Container-Base/tokens.d.ts +179 -0
- package/dist/components/core/Container-Base/tokens.js +221 -0
- package/dist/components/core/Container-Base/types.d.ts +237 -0
- package/dist/components/core/Container-Base/types.js +50 -0
- package/dist/components/core/Container-Card-Base/index.d.ts +18 -0
- package/dist/components/core/Container-Card-Base/index.js +49 -0
- package/dist/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.d.ts +58 -0
- package/dist/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.js +324 -0
- package/dist/components/core/Container-Card-Base/tokens.d.ts +149 -0
- package/dist/components/core/Container-Card-Base/tokens.js +207 -0
- package/dist/components/core/Container-Card-Base/types.d.ts +268 -0
- package/dist/components/core/Container-Card-Base/types.js +85 -0
- package/dist/components/core/Icon-Base/index.d.ts +14 -0
- package/dist/components/core/Icon-Base/index.js +27 -0
- package/dist/components/core/Icon-Base/platforms/web/IconBase.web.d.ts +175 -0
- package/dist/components/core/Icon-Base/platforms/web/IconBase.web.js +503 -0
- package/dist/components/core/Icon-Base/types.d.ts +276 -0
- package/dist/components/core/Icon-Base/types.js +69 -0
- package/dist/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.d.ts +30 -0
- package/dist/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.js +39 -0
- package/dist/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.d.ts +147 -0
- package/dist/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.js +486 -0
- package/dist/components/core/Input-Checkbox-Base/types.d.ts +357 -0
- package/dist/components/core/Input-Checkbox-Base/types.js +60 -0
- package/dist/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.d.ts +110 -0
- package/dist/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.js +423 -0
- package/dist/components/core/Input-Checkbox-Legal/types.d.ts +311 -0
- package/dist/components/core/Input-Checkbox-Legal/types.js +69 -0
- package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.d.ts +250 -0
- package/dist/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.js +564 -0
- package/dist/components/core/Input-Radio-Base/radio-sizing.tokens.d.ts +30 -0
- package/dist/components/core/Input-Radio-Base/radio-sizing.tokens.js +39 -0
- package/dist/components/core/Input-Radio-Base/types.d.ts +327 -0
- package/dist/components/core/Input-Radio-Base/types.js +63 -0
- package/dist/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.d.ts +304 -0
- package/dist/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.js +691 -0
- package/dist/components/core/Input-Radio-Set/types.d.ts +275 -0
- package/dist/components/core/Input-Radio-Set/types.js +70 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.d.ts +26 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.js +224 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.web.d.ts +116 -0
- package/dist/components/core/Input-Text-Base/platforms/web/InputTextBase.web.js +394 -0
- package/dist/components/core/Input-Text-Base/stateManagement.d.ts +172 -0
- package/dist/components/core/Input-Text-Base/stateManagement.js +224 -0
- package/dist/components/core/Input-Text-Base/tokens.d.ts +331 -0
- package/dist/components/core/Input-Text-Base/tokens.js +164 -0
- package/dist/components/core/Input-Text-Base/types.d.ts +77 -0
- package/dist/components/core/Input-Text-Base/types.js +13 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.d.ts +30 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.js +254 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.d.ts +105 -0
- package/dist/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.js +279 -0
- package/dist/components/core/Input-Text-Email/stateManagement.d.ts +79 -0
- package/dist/components/core/Input-Text-Email/stateManagement.js +136 -0
- package/dist/components/core/Input-Text-Email/tokens.d.ts +20 -0
- package/dist/components/core/Input-Text-Email/tokens.js +34 -0
- package/dist/components/core/Input-Text-Email/types.d.ts +63 -0
- package/dist/components/core/Input-Text-Email/types.js +13 -0
- package/dist/components/core/Input-Text-Email/validation.d.ts +68 -0
- package/dist/components/core/Input-Text-Email/validation.js +115 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.d.ts +44 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.js +376 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.d.ts +137 -0
- package/dist/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.js +447 -0
- package/dist/components/core/Input-Text-Password/stateManagement.d.ts +119 -0
- package/dist/components/core/Input-Text-Password/stateManagement.js +200 -0
- package/dist/components/core/Input-Text-Password/tokens.d.ts +20 -0
- package/dist/components/core/Input-Text-Password/tokens.js +34 -0
- package/dist/components/core/Input-Text-Password/types.d.ts +145 -0
- package/dist/components/core/Input-Text-Password/types.js +13 -0
- package/dist/components/core/Input-Text-Password/validation.d.ts +81 -0
- package/dist/components/core/Input-Text-Password/validation.js +170 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.d.ts +38 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.js +328 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.d.ts +125 -0
- package/dist/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.js +334 -0
- package/dist/components/core/Input-Text-PhoneNumber/stateManagement.d.ts +114 -0
- package/dist/components/core/Input-Text-PhoneNumber/stateManagement.js +200 -0
- package/dist/components/core/Input-Text-PhoneNumber/tokens.d.ts +20 -0
- package/dist/components/core/Input-Text-PhoneNumber/tokens.js +34 -0
- package/dist/components/core/Input-Text-PhoneNumber/types.d.ts +111 -0
- package/dist/components/core/Input-Text-PhoneNumber/types.js +13 -0
- package/dist/components/core/Input-Text-PhoneNumber/validation.d.ts +120 -0
- package/dist/components/core/Input-Text-PhoneNumber/validation.js +278 -0
- package/dist/components/core/Nav-Header-App/index.d.ts +6 -0
- package/dist/components/core/Nav-Header-App/index.js +3 -0
- package/dist/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.d.ts +12 -0
- package/dist/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.js +34 -0
- package/dist/components/core/Nav-Header-App/types.d.ts +27 -0
- package/dist/components/core/Nav-Header-App/types.js +15 -0
- package/dist/components/core/Nav-Header-Base/index.d.ts +7 -0
- package/dist/components/core/Nav-Header-Base/index.js +8 -0
- package/dist/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.d.ts +26 -0
- package/dist/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.js +105 -0
- package/dist/components/core/Nav-Header-Base/types.d.ts +63 -0
- package/dist/components/core/Nav-Header-Base/types.js +17 -0
- package/dist/components/core/Nav-Header-Page/index.d.ts +7 -0
- package/dist/components/core/Nav-Header-Page/index.js +8 -0
- package/dist/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.d.ts +31 -0
- package/dist/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.js +148 -0
- package/dist/components/core/Nav-Header-Page/types.d.ts +46 -0
- package/dist/components/core/Nav-Header-Page/types.js +16 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/index.d.ts +25 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/index.js +33 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.d.ts +112 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.js +421 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/types.d.ts +54 -0
- package/dist/components/core/Nav-SegmentedChoice-Base/types.js +22 -0
- package/dist/components/core/Nav-TabBar-Base/examples/BasicUsage.d.ts +1 -0
- package/dist/components/core/Nav-TabBar-Base/examples/BasicUsage.js +4 -0
- package/dist/components/core/Nav-TabBar-Base/index.d.ts +14 -0
- package/dist/components/core/Nav-TabBar-Base/index.js +18 -0
- package/dist/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.d.ts +82 -0
- package/dist/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.js +372 -0
- package/dist/components/core/Nav-TabBar-Base/types.d.ts +38 -0
- package/dist/components/core/Nav-TabBar-Base/types.js +17 -0
- package/dist/components/core/Progress-Bar-Base/index.d.ts +7 -0
- package/dist/components/core/Progress-Bar-Base/index.js +6 -0
- package/dist/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.d.ts +24 -0
- package/dist/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.js +121 -0
- package/dist/components/core/Progress-Bar-Base/types.d.ts +44 -0
- package/dist/components/core/Progress-Bar-Base/types.js +23 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/index.d.ts +23 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/index.js +32 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.d.ts +61 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.js +128 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/types.d.ts +64 -0
- package/dist/components/core/Progress-Indicator-Connector-Base/types.js +26 -0
- package/dist/components/core/Progress-Indicator-Label-Base/index.d.ts +22 -0
- package/dist/components/core/Progress-Indicator-Label-Base/index.js +29 -0
- package/dist/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.d.ts +71 -0
- package/dist/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.js +160 -0
- package/dist/components/core/Progress-Indicator-Label-Base/types.d.ts +61 -0
- package/dist/components/core/Progress-Indicator-Label-Base/types.js +18 -0
- package/dist/components/core/Progress-Indicator-Node-Base/index.d.ts +23 -0
- package/dist/components/core/Progress-Indicator-Node-Base/index.js +33 -0
- package/dist/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.d.ts +85 -0
- package/dist/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.js +206 -0
- package/dist/components/core/Progress-Indicator-Node-Base/types.d.ts +141 -0
- package/dist/components/core/Progress-Indicator-Node-Base/types.js +46 -0
- package/dist/components/core/Progress-Pagination-Base/index.d.ts +26 -0
- package/dist/components/core/Progress-Pagination-Base/index.js +37 -0
- package/dist/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.d.ts +86 -0
- package/dist/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.js +256 -0
- package/dist/components/core/Progress-Pagination-Base/types.d.ts +97 -0
- package/dist/components/core/Progress-Pagination-Base/types.js +57 -0
- package/dist/components/core/Progress-Stepper-Base/index.d.ts +26 -0
- package/dist/components/core/Progress-Stepper-Base/index.js +40 -0
- package/dist/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.d.ts +93 -0
- package/dist/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.js +247 -0
- package/dist/components/core/Progress-Stepper-Base/types.d.ts +138 -0
- package/dist/components/core/Progress-Stepper-Base/types.js +98 -0
- package/dist/components/core/Progress-Stepper-Detailed/index.d.ts +27 -0
- package/dist/components/core/Progress-Stepper-Detailed/index.js +41 -0
- package/dist/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.d.ts +97 -0
- package/dist/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.js +290 -0
- package/dist/components/core/Progress-Stepper-Detailed/types.d.ts +152 -0
- package/dist/components/core/Progress-Stepper-Detailed/types.js +102 -0
- package/dist/composition/BlendComposition.d.ts +39 -0
- package/dist/composition/BlendComposition.js +15 -0
- package/dist/composition/BlendCompositionParser.d.ts +63 -0
- package/dist/composition/BlendCompositionParser.js +185 -0
- package/dist/composition/OpacityComposition.d.ts +52 -0
- package/dist/composition/OpacityComposition.js +14 -0
- package/dist/composition/OpacityCompositionParser.d.ts +82 -0
- package/dist/composition/OpacityCompositionParser.js +267 -0
- package/dist/composition/index.d.ts +10 -0
- package/dist/composition/index.js +13 -0
- package/dist/config/ConfigLoader.d.ts +71 -0
- package/dist/config/ConfigLoader.js +140 -0
- package/dist/config/defineConfig.d.ts +66 -0
- package/dist/config/defineConfig.js +35 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.js +11 -0
- package/dist/config/scopedTsRequire.d.ts +45 -0
- package/dist/config/scopedTsRequire.js +50 -0
- package/dist/constants/BaselineGrid.d.ts +31 -0
- package/dist/constants/BaselineGrid.js +39 -0
- package/dist/constants/SpacingTokens.d.ts +45 -0
- package/dist/constants/SpacingTokens.js +56 -0
- package/dist/constants/StrategicFlexibilityTokens.d.ts +121 -0
- package/dist/constants/StrategicFlexibilityTokens.js +93 -0
- package/dist/figma/ComponentAnalysis.d.ts +233 -0
- package/dist/figma/ComponentAnalysis.js +15 -0
- package/dist/figma/ComponentAnalysisGenerator.d.ts +79 -0
- package/dist/figma/ComponentAnalysisGenerator.js +391 -0
- package/dist/figma/ConsoleMCPClient.d.ts +147 -0
- package/dist/figma/ConsoleMCPClient.js +12 -0
- package/dist/figma/ConsoleMCPClientImpl.d.ts +159 -0
- package/dist/figma/ConsoleMCPClientImpl.js +918 -0
- package/dist/figma/DesignExtractor.d.ts +971 -0
- package/dist/figma/DesignExtractor.js +2838 -0
- package/dist/figma/TokenSyncWorkflow.d.ts +277 -0
- package/dist/figma/TokenSyncWorkflow.js +678 -0
- package/dist/figma/TokenTranslator.d.ts +261 -0
- package/dist/figma/TokenTranslator.js +713 -0
- package/dist/figma/VariantAnalyzer.d.ts +233 -0
- package/dist/figma/VariantAnalyzer.js +505 -0
- package/dist/figma/error-reporting.d.ts +89 -0
- package/dist/figma/error-reporting.js +189 -0
- package/dist/figma/index.d.ts +26 -0
- package/dist/figma/index.js +37 -0
- package/dist/figma/portCleanup.d.ts +21 -0
- package/dist/figma/portCleanup.js +76 -0
- package/dist/figma/preflight.d.ts +34 -0
- package/dist/figma/preflight.js +105 -0
- package/dist/generators/BlendUtilityGenerator.d.ts +80 -0
- package/dist/generators/BlendUtilityGenerator.js +788 -0
- package/dist/generators/BlendValueGenerator.d.ts +52 -0
- package/dist/generators/BlendValueGenerator.js +159 -0
- package/dist/generators/DTCGFormatGenerator.d.ts +332 -0
- package/dist/generators/DTCGFormatGenerator.js +1224 -0
- package/dist/generators/DTCGGeneratorConfig.d.ts +41 -0
- package/dist/generators/DTCGGeneratorConfig.js +29 -0
- package/dist/generators/ModeResolvedTokens.d.ts +53 -0
- package/dist/generators/ModeResolvedTokens.js +14 -0
- package/dist/generators/ResponsiveGridGenerator.d.ts +64 -0
- package/dist/generators/ResponsiveGridGenerator.js +234 -0
- package/dist/generators/TokenFileGenerator.d.ts +401 -0
- package/dist/generators/TokenFileGenerator.js +1666 -0
- package/dist/generators/generateTokenFiles.d.ts +24 -0
- package/dist/generators/generateTokenFiles.js +343 -0
- package/dist/generators/generateTokenIndex.d.ts +47 -0
- package/dist/generators/generateTokenIndex.js +226 -0
- package/dist/generators/oklch/OklchExportUtils.d.ts +34 -0
- package/dist/generators/oklch/OklchExportUtils.js +48 -0
- package/dist/generators/oklch/OklchTokenIndexMetadata.d.ts +23 -0
- package/dist/generators/oklch/OklchTokenIndexMetadata.js +21 -0
- package/dist/generators/transformers/FigmaTransformer.d.ts +263 -0
- package/dist/generators/transformers/FigmaTransformer.js +681 -0
- package/dist/generators/transformers/ITokenTransformer.d.ts +51 -0
- package/dist/generators/transformers/ITokenTransformer.js +13 -0
- package/dist/generators/transformers/TransformerRegistry.d.ts +33 -0
- package/dist/generators/transformers/TransformerRegistry.js +59 -0
- package/dist/generators/transformers/index.d.ts +39 -0
- package/dist/generators/transformers/index.js +45 -0
- package/dist/generators/types/DTCGTypes.d.ts +101 -0
- package/dist/generators/types/DTCGTypes.js +12 -0
- package/dist/integration/BuildErrorHandler.d.ts +140 -0
- package/dist/integration/BuildErrorHandler.js +277 -0
- package/dist/integration/BuildSystemInterface.d.ts +107 -0
- package/dist/integration/BuildSystemInterface.js +205 -0
- package/dist/integration/PlatformFileSelector.d.ts +84 -0
- package/dist/integration/PlatformFileSelector.js +215 -0
- package/dist/integration/RegistryCoordinator.d.ts +133 -0
- package/dist/integration/RegistryCoordinator.js +298 -0
- package/dist/integration/TranslationCoordinator.d.ts +118 -0
- package/dist/integration/TranslationCoordinator.js +352 -0
- package/dist/integration/TreeShakingOptimizer.d.ts +111 -0
- package/dist/integration/TreeShakingOptimizer.js +224 -0
- package/dist/integration/ValidationCoordinator.d.ts +268 -0
- package/dist/integration/ValidationCoordinator.js +567 -0
- package/dist/integration/index.d.ts +21 -0
- package/dist/integration/index.js +28 -0
- package/dist/ios/DesignTokens.ios.swift +697 -0
- package/dist/mcp/application-mcp.js +19434 -0
- package/dist/mcp/docs-mcp.js +16895 -0
- package/dist/mcp/product-mcp.js +24828 -0
- package/dist/naming/NamingConventionManager.d.ts +94 -0
- package/dist/naming/NamingConventionManager.js +193 -0
- package/dist/naming/PlatformNamingRules.d.ts +62 -0
- package/dist/naming/PlatformNamingRules.js +174 -0
- package/dist/naming/index.d.ts +9 -0
- package/dist/naming/index.js +18 -0
- package/dist/performance/CachingStrategy.d.ts +131 -0
- package/dist/performance/CachingStrategy.js +348 -0
- package/dist/performance/FileGenerationOptimizer.d.ts +91 -0
- package/dist/performance/FileGenerationOptimizer.js +201 -0
- package/dist/performance/PerformanceMonitor.d.ts +79 -0
- package/dist/performance/PerformanceMonitor.js +142 -0
- package/dist/performance/PerformanceOptimizer.d.ts +106 -0
- package/dist/performance/PerformanceOptimizer.js +241 -0
- package/dist/performance/index.d.ts +14 -0
- package/dist/performance/index.js +17 -0
- package/dist/providers/AndroidFileOrganizer.d.ts +56 -0
- package/dist/providers/AndroidFileOrganizer.js +225 -0
- package/dist/providers/AndroidFormatGenerator.d.ts +151 -0
- package/dist/providers/AndroidFormatGenerator.js +673 -0
- package/dist/providers/AndroidUnitConverter.d.ts +54 -0
- package/dist/providers/AndroidUnitConverter.js +151 -0
- package/dist/providers/FormatProvider.d.ts +103 -0
- package/dist/providers/FormatProvider.js +67 -0
- package/dist/providers/PathProvider.d.ts +114 -0
- package/dist/providers/PathProvider.js +64 -0
- package/dist/providers/UnitProvider.d.ts +65 -0
- package/dist/providers/UnitProvider.js +46 -0
- package/dist/providers/WebFileOrganizer.d.ts +35 -0
- package/dist/providers/WebFileOrganizer.js +113 -0
- package/dist/providers/WebFormatGenerator.d.ts +146 -0
- package/dist/providers/WebFormatGenerator.js +522 -0
- package/dist/providers/WebUnitConverter.d.ts +29 -0
- package/dist/providers/WebUnitConverter.js +99 -0
- package/dist/providers/iOSFileOrganizer.d.ts +42 -0
- package/dist/providers/iOSFileOrganizer.js +148 -0
- package/dist/providers/iOSFormatGenerator.d.ts +130 -0
- package/dist/providers/iOSFormatGenerator.js +512 -0
- package/dist/providers/iOSUnitConverter.d.ts +35 -0
- package/dist/providers/iOSUnitConverter.js +108 -0
- package/dist/providers/index.d.ts +14 -0
- package/dist/providers/index.js +35 -0
- package/dist/registries/ComponentTokenRegistry.d.ts +176 -0
- package/dist/registries/ComponentTokenRegistry.js +222 -0
- package/dist/registries/IRegistry.d.ts +166 -0
- package/dist/registries/IRegistry.js +3 -0
- package/dist/registries/PrimitiveTokenRegistry.d.ts +83 -0
- package/dist/registries/PrimitiveTokenRegistry.js +158 -0
- package/dist/registries/SemanticTokenRegistry.d.ts +92 -0
- package/dist/registries/SemanticTokenRegistry.js +188 -0
- package/dist/resolvers/AndroidColorResolver.d.ts +111 -0
- package/dist/resolvers/AndroidColorResolver.js +255 -0
- package/dist/resolvers/ModeThemeResolver.d.ts +82 -0
- package/dist/resolvers/ModeThemeResolver.js +113 -0
- package/dist/resolvers/SemanticOverrideResolver.d.ts +59 -0
- package/dist/resolvers/SemanticOverrideResolver.js +124 -0
- package/dist/resolvers/SemanticValueResolver.d.ts +20 -0
- package/dist/resolvers/SemanticValueResolver.js +122 -0
- package/dist/resolvers/WebColorResolver.d.ts +63 -0
- package/dist/resolvers/WebColorResolver.js +181 -0
- package/dist/resolvers/iOSColorResolver.d.ts +67 -0
- package/dist/resolvers/iOSColorResolver.js +175 -0
- package/dist/resolvers/index.d.ts +11 -0
- package/dist/resolvers/index.js +18 -0
- package/dist/security/AIAgentRestrictions.d.ts +115 -0
- package/dist/security/AIAgentRestrictions.js +185 -0
- package/dist/security/ContaminationAuditor.d.ts +96 -0
- package/dist/security/ContaminationAuditor.js +293 -0
- package/dist/security/ContaminationPrevention.d.ts +73 -0
- package/dist/security/ContaminationPrevention.js +222 -0
- package/dist/security/DocumentationGuard.d.ts +76 -0
- package/dist/security/DocumentationGuard.js +199 -0
- package/dist/security/FlexibilityTokenGuard.d.ts +136 -0
- package/dist/security/FlexibilityTokenGuard.js +187 -0
- package/dist/security/HumanApprovalWorkflow.d.ts +129 -0
- package/dist/security/HumanApprovalWorkflow.js +213 -0
- package/dist/security/index.d.ts +19 -0
- package/dist/security/index.js +23 -0
- package/dist/testing/index.d.ts +74 -0
- package/dist/testing/index.js +142 -0
- package/dist/testing/jest-preset.d.ts +27 -0
- package/dist/testing/jest-preset.js +94 -0
- package/dist/testing/style-mock.d.ts +1 -0
- package/dist/testing/style-mock.js +9 -0
- package/dist/testing/validators.d.ts +10 -0
- package/dist/testing/validators.js +26 -0
- package/dist/themes/ResolvedThemeSet.d.ts +21 -0
- package/dist/themes/ResolvedThemeSet.js +8 -0
- package/dist/themes/ThemeRegistry.d.ts +52 -0
- package/dist/themes/ThemeRegistry.js +77 -0
- package/dist/tokens/BlendTokens.d.ts +45 -0
- package/dist/tokens/BlendTokens.js +127 -0
- package/dist/tokens/BlurTokens.d.ts +28 -0
- package/dist/tokens/BlurTokens.js +153 -0
- package/dist/tokens/BorderWidthTokens.d.ts +29 -0
- package/dist/tokens/BorderWidthTokens.js +97 -0
- package/dist/tokens/BreakpointTokens.d.ts +29 -0
- package/dist/tokens/BreakpointTokens.js +97 -0
- package/dist/tokens/ColorTokens.d.ts +270 -0
- package/dist/tokens/ColorTokens.js +2085 -0
- package/dist/tokens/DensityTokens.d.ts +36 -0
- package/dist/tokens/DensityTokens.js +113 -0
- package/dist/tokens/DurationTokens.d.ts +47 -0
- package/dist/tokens/DurationTokens.js +108 -0
- package/dist/tokens/EasingTokens.d.ts +47 -0
- package/dist/tokens/EasingTokens.js +159 -0
- package/dist/tokens/FontFamilyTokens.d.ts +24 -0
- package/dist/tokens/FontFamilyTokens.js +92 -0
- package/dist/tokens/FontSizeTokens.d.ts +33 -0
- package/dist/tokens/FontSizeTokens.js +185 -0
- package/dist/tokens/FontWeightTokens.d.ts +29 -0
- package/dist/tokens/FontWeightTokens.js +157 -0
- package/dist/tokens/GlowOpacityTokens.d.ts +41 -0
- package/dist/tokens/GlowOpacityTokens.js +109 -0
- package/dist/tokens/LetterSpacingTokens.d.ts +29 -0
- package/dist/tokens/LetterSpacingTokens.js +109 -0
- package/dist/tokens/LineHeightTokens.d.ts +34 -0
- package/dist/tokens/LineHeightTokens.js +189 -0
- package/dist/tokens/OpacityTokens.d.ts +30 -0
- package/dist/tokens/OpacityTokens.js +219 -0
- package/dist/tokens/RadiusTokens.d.ts +37 -0
- package/dist/tokens/RadiusTokens.js +223 -0
- package/dist/tokens/ScaleTokens.d.ts +62 -0
- package/dist/tokens/ScaleTokens.js +161 -0
- package/dist/tokens/ShadowOffsetTokens.d.ts +69 -0
- package/dist/tokens/ShadowOffsetTokens.js +264 -0
- package/dist/tokens/ShadowOpacityTokens.d.ts +22 -0
- package/dist/tokens/ShadowOpacityTokens.js +112 -0
- package/dist/tokens/SizingTokens.d.ts +35 -0
- package/dist/tokens/SizingTokens.js +220 -0
- package/dist/tokens/SpacingTokens.d.ts +29 -0
- package/dist/tokens/SpacingTokens.js +239 -0
- package/dist/tokens/TapAreaTokens.d.ts +38 -0
- package/dist/tokens/TapAreaTokens.js +115 -0
- package/dist/tokens/color/channels/chroma/chromatic.d.ts +61 -0
- package/dist/tokens/color/channels/chroma/chromatic.js +64 -0
- package/dist/tokens/color/channels/chroma/neutral.d.ts +33 -0
- package/dist/tokens/color/channels/chroma/neutral.js +36 -0
- package/dist/tokens/color/channels/hues.d.ts +27 -0
- package/dist/tokens/color/channels/hues.js +29 -0
- package/dist/tokens/color/channels/index.d.ts +11 -0
- package/dist/tokens/color/channels/index.js +36 -0
- package/dist/tokens/color/channels/lightness/chromatic.d.ts +62 -0
- package/dist/tokens/color/channels/lightness/chromatic.js +65 -0
- package/dist/tokens/color/channels/lightness/neutral.d.ts +34 -0
- package/dist/tokens/color/channels/lightness/neutral.js +37 -0
- package/dist/tokens/color/index.d.ts +16 -0
- package/dist/tokens/color/index.js +47 -0
- package/dist/tokens/color/primitives/chromatic.d.ts +24 -0
- package/dist/tokens/color/primitives/chromatic.js +42 -0
- package/dist/tokens/color/primitives/neutral.d.ts +12 -0
- package/dist/tokens/color/primitives/neutral.js +37 -0
- package/dist/tokens/component/progress.d.ts +101 -0
- package/dist/tokens/component/progress.js +145 -0
- package/dist/tokens/index.d.ts +167 -0
- package/dist/tokens/index.js +341 -0
- package/dist/tokens/semantic/AccessibilityTokens.d.ts +112 -0
- package/dist/tokens/semantic/AccessibilityTokens.js +175 -0
- package/dist/tokens/semantic/BlendTokens.d.ts +112 -0
- package/dist/tokens/semantic/BlendTokens.js +191 -0
- package/dist/tokens/semantic/BorderWidthTokens.d.ts +156 -0
- package/dist/tokens/semantic/BorderWidthTokens.js +147 -0
- package/dist/tokens/semantic/ColorTokens.d.ts +157 -0
- package/dist/tokens/semantic/ColorTokens.js +791 -0
- package/dist/tokens/semantic/ElevationTokens.d.ts +98 -0
- package/dist/tokens/semantic/ElevationTokens.js +158 -0
- package/dist/tokens/semantic/GridSpacingTokens.d.ts +36 -0
- package/dist/tokens/semantic/GridSpacingTokens.js +139 -0
- package/dist/tokens/semantic/IconTokens.d.ts +70 -0
- package/dist/tokens/semantic/IconTokens.js +309 -0
- package/dist/tokens/semantic/LayeringTokens.d.ts +135 -0
- package/dist/tokens/semantic/LayeringTokens.js +163 -0
- package/dist/tokens/semantic/MotionTokens.d.ts +74 -0
- package/dist/tokens/semantic/MotionTokens.js +131 -0
- package/dist/tokens/semantic/OpacityTokens.d.ts +40 -0
- package/dist/tokens/semantic/OpacityTokens.js +87 -0
- package/dist/tokens/semantic/RadiusTokens.d.ts +233 -0
- package/dist/tokens/semantic/RadiusTokens.js +224 -0
- package/dist/tokens/semantic/ShadowTokens.d.ts +55 -0
- package/dist/tokens/semantic/ShadowTokens.js +409 -0
- package/dist/tokens/semantic/SpacingTokens.d.ts +397 -0
- package/dist/tokens/semantic/SpacingTokens.js +243 -0
- package/dist/tokens/semantic/StyleTokens.d.ts +19 -0
- package/dist/tokens/semantic/StyleTokens.js +25 -0
- package/dist/tokens/semantic/TypographyTokens.d.ts +32 -0
- package/dist/tokens/semantic/TypographyTokens.js +376 -0
- package/dist/tokens/semantic/ZIndexTokens.d.ts +61 -0
- package/dist/tokens/semantic/ZIndexTokens.js +107 -0
- package/dist/tokens/semantic/index.d.ts +94 -0
- package/dist/tokens/semantic/index.js +547 -0
- package/dist/tokens/themes/dark/SemanticOverrides.d.ts +16 -0
- package/dist/tokens/themes/dark/SemanticOverrides.js +149 -0
- package/dist/tokens/themes/dark-wcag/SemanticOverrides.d.ts +14 -0
- package/dist/tokens/themes/dark-wcag/SemanticOverrides.js +21 -0
- package/dist/tokens/themes/types.d.ts +22 -0
- package/dist/tokens/themes/types.js +10 -0
- package/dist/tokens/themes/wcag/SemanticOverrides.d.ts +12 -0
- package/dist/tokens/themes/wcag/SemanticOverrides.js +26 -0
- package/dist/tools/ThemeFileGenerator.d.ts +16 -0
- package/dist/tools/ThemeFileGenerator.js +103 -0
- package/dist/tools/integrity/DiskFreshGenerator.d.ts +19 -0
- package/dist/tools/integrity/DiskFreshGenerator.js +68 -0
- package/dist/tools/integrity/GenerationIntegrityCheck.d.ts +31 -0
- package/dist/tools/integrity/GenerationIntegrityCheck.js +137 -0
- package/dist/tools/integrity/Invariants.d.ts +82 -0
- package/dist/tools/integrity/Invariants.js +231 -0
- package/dist/tools/integrity/Normalizer.d.ts +28 -0
- package/dist/tools/integrity/Normalizer.js +122 -0
- package/dist/tools/integrity/ParityNormalizationRules.d.ts +55 -0
- package/dist/tools/integrity/ParityNormalizationRules.js +163 -0
- package/dist/tools/integrity/ParityOrchestrator.d.ts +97 -0
- package/dist/tools/integrity/ParityOrchestrator.js +234 -0
- package/dist/tools/integrity/SemanticComparator.d.ts +24 -0
- package/dist/tools/integrity/SemanticComparator.js +108 -0
- package/dist/tools/integrity/cli/run-audit.d.ts +21 -0
- package/dist/tools/integrity/cli/run-audit.js +178 -0
- package/dist/tools/integrity/inventory.d.ts +26 -0
- package/dist/tools/integrity/inventory.js +48 -0
- package/dist/tools/integrity/manifest.d.ts +44 -0
- package/dist/tools/integrity/manifest.js +54 -0
- package/dist/tools/integrity/types/index.d.ts +146 -0
- package/dist/tools/integrity/types/index.js +21 -0
- package/dist/tools/release/cli/ReleasePipeline.d.ts +28 -0
- package/dist/tools/release/cli/ReleasePipeline.js +184 -0
- package/dist/tools/release/cli/release-tool.d.ts +11 -0
- package/dist/tools/release/cli/release-tool.js +98 -0
- package/dist/tools/release/pipeline/ChangeClassifier.d.ts +13 -0
- package/dist/tools/release/pipeline/ChangeClassifier.js +53 -0
- package/dist/tools/release/pipeline/ChangeExtractor.d.ts +16 -0
- package/dist/tools/release/pipeline/ChangeExtractor.js +80 -0
- package/dist/tools/release/pipeline/NotesRenderer.d.ts +15 -0
- package/dist/tools/release/pipeline/NotesRenderer.js +62 -0
- package/dist/tools/release/pipeline/SummaryScanner.d.ts +16 -0
- package/dist/tools/release/pipeline/SummaryScanner.js +94 -0
- package/dist/tools/release/pipeline/TagResolver.d.ts +15 -0
- package/dist/tools/release/pipeline/TagResolver.js +37 -0
- package/dist/tools/release/pipeline/VersionCalculator.d.ts +34 -0
- package/dist/tools/release/pipeline/VersionCalculator.js +325 -0
- package/dist/tools/release/publishers/GitHubPublisher.d.ts +33 -0
- package/dist/tools/release/publishers/GitHubPublisher.js +239 -0
- package/dist/tools/release/publishers/NpmPublisher.d.ts +49 -0
- package/dist/tools/release/publishers/NpmPublisher.js +226 -0
- package/dist/tools/release/types/index.d.ts +239 -0
- package/dist/tools/release/types/index.js +11 -0
- package/dist/tools/release/validators/SemanticVersionValidator.d.ts +18 -0
- package/dist/tools/release/validators/SemanticVersionValidator.js +56 -0
- package/dist/types/ComponentTypes.d.ts +70 -0
- package/dist/types/ComponentTypes.js +12 -0
- package/dist/types/PrimitiveToken.d.ts +105 -0
- package/dist/types/PrimitiveToken.js +38 -0
- package/dist/types/SemanticToken.d.ts +79 -0
- package/dist/types/SemanticToken.js +27 -0
- package/dist/types/TranslationOutput.d.ts +80 -0
- package/dist/types/TranslationOutput.js +9 -0
- package/dist/types/ValidationResult.d.ts +58 -0
- package/dist/types/ValidationResult.js +9 -0
- package/dist/types/generated/TokenTypes.d.ts +48 -0
- package/dist/types/generated/TokenTypes.js +35 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.js +14 -0
- package/dist/validators/BaselineGridValidator.d.ts +55 -0
- package/dist/validators/BaselineGridValidator.js +96 -0
- package/dist/validators/CompositionPatternValidator.d.ts +75 -0
- package/dist/validators/CompositionPatternValidator.js +178 -0
- package/dist/validators/CrossPlatformConsistencyValidator.d.ts +112 -0
- package/dist/validators/CrossPlatformConsistencyValidator.js +313 -0
- package/dist/validators/ErrorValidator.d.ts +161 -0
- package/dist/validators/ErrorValidator.js +652 -0
- package/dist/validators/IValidator.d.ts +260 -0
- package/dist/validators/IValidator.js +43 -0
- package/dist/validators/MathematicalRelationshipParser.d.ts +112 -0
- package/dist/validators/MathematicalRelationshipParser.js +325 -0
- package/dist/validators/ModeParity.d.ts +37 -0
- package/dist/validators/ModeParity.js +133 -0
- package/dist/validators/PassValidator.d.ts +100 -0
- package/dist/validators/PassValidator.js +400 -0
- package/dist/validators/PlatformConstraintHandler.d.ts +103 -0
- package/dist/validators/PlatformConstraintHandler.js +309 -0
- package/dist/validators/PrimitiveReferenceValidator.d.ts +68 -0
- package/dist/validators/PrimitiveReferenceValidator.js +244 -0
- package/dist/validators/SemanticTokenValidator.d.ts +120 -0
- package/dist/validators/SemanticTokenValidator.js +382 -0
- package/dist/validators/StemmaComponentNamingValidator.d.ts +145 -0
- package/dist/validators/StemmaComponentNamingValidator.js +392 -0
- package/dist/validators/StemmaErrorGuidanceSystem.d.ts +292 -0
- package/dist/validators/StemmaErrorGuidanceSystem.js +1287 -0
- package/dist/validators/StemmaPropertyAccessibilityValidator.d.ts +250 -0
- package/dist/validators/StemmaPropertyAccessibilityValidator.js +642 -0
- package/dist/validators/StemmaTokenUsageValidator.d.ts +135 -0
- package/dist/validators/StemmaTokenUsageValidator.js +503 -0
- package/dist/validators/SyntaxValidator.d.ts +116 -0
- package/dist/validators/SyntaxValidator.js +369 -0
- package/dist/validators/ThreeTierValidator.d.ts +289 -0
- package/dist/validators/ThreeTierValidator.js +533 -0
- package/dist/validators/ToleranceCalculator.d.ts +104 -0
- package/dist/validators/ToleranceCalculator.js +222 -0
- package/dist/validators/ValidationReasoning.d.ts +104 -0
- package/dist/validators/ValidationReasoning.js +307 -0
- package/dist/validators/WCAGValidator.d.ts +108 -0
- package/dist/validators/WCAGValidator.js +188 -0
- package/dist/validators/WarningValidator.d.ts +125 -0
- package/dist/validators/WarningValidator.js +383 -0
- package/dist/validators/buildValidation.d.ts +34 -0
- package/dist/validators/buildValidation.js +135 -0
- package/dist/validators/index.d.ts +32 -0
- package/dist/validators/index.js +105 -0
- package/dist/web/DesignTokens.web.css +929 -0
- package/dist/workflows/ConsistencyValidator.d.ts +91 -0
- package/dist/workflows/ConsistencyValidator.js +272 -0
- package/dist/workflows/TokenGenerationWorkflow.d.ts +129 -0
- package/dist/workflows/TokenGenerationWorkflow.js +316 -0
- package/dist/workflows/ValidationPipeline.d.ts +103 -0
- package/dist/workflows/ValidationPipeline.js +213 -0
- package/dist/workflows/WorkflowErrorHandler.d.ts +141 -0
- package/dist/workflows/WorkflowErrorHandler.js +357 -0
- package/experience-patterns/README.md +160 -0
- package/experience-patterns/content-preview.yaml +48 -0
- package/experience-patterns/dashboard.yaml +97 -0
- package/experience-patterns/empty-state.yaml +50 -0
- package/experience-patterns/multi-section-form.yaml +105 -0
- package/experience-patterns/notification-list.yaml +109 -0
- package/experience-patterns/onboarding.yaml +197 -0
- package/experience-patterns/settings.yaml +98 -0
- package/experience-patterns/simple-form.yaml +41 -0
- package/experience-patterns/view-edit-screen.yaml +125 -0
- package/family-guidance/README.md +115 -0
- package/family-guidance/avatars.yaml +63 -0
- package/family-guidance/badges.yaml +76 -0
- package/family-guidance/button.yaml +108 -0
- package/family-guidance/chips.yaml +82 -0
- package/family-guidance/container.yaml +69 -0
- package/family-guidance/form-inputs.yaml +104 -0
- package/family-guidance/icons.yaml +87 -0
- package/family-guidance/navigation.yaml +96 -0
- package/family-guidance/progress.yaml +85 -0
- package/family-registry.yaml +49 -0
- package/governance/AI-Collaboration-Framework.md +305 -0
- package/governance/BUILD-SYSTEM-SETUP.md +233 -0
- package/governance/Component-Development-Guide.md +1876 -0
- package/governance/Component-Development-Standards.md +1189 -0
- package/governance/Component-Family-Avatar.md +290 -0
- package/governance/Component-Family-Badge.md +479 -0
- package/governance/Component-Family-Button.md +671 -0
- package/governance/Component-Family-Chip.md +431 -0
- package/governance/Component-Family-Container.md +671 -0
- package/governance/Component-Family-Data-Display.md +149 -0
- package/governance/Component-Family-Divider.md +138 -0
- package/governance/Component-Family-Form-Inputs.md +1365 -0
- package/governance/Component-Family-Icon.md +364 -0
- package/governance/Component-Family-Loading.md +143 -0
- package/governance/Component-Family-Modal.md +151 -0
- package/governance/Component-Family-Navigation.md +266 -0
- package/governance/Component-Family-Progress.md +488 -0
- package/governance/Component-Inheritance-Structures.md +687 -0
- package/governance/Component-MCP-Document-Template.md +722 -0
- package/governance/Component-Meta-Data-Shapes-Governance.md +120 -0
- package/governance/Component-Primitive-vs-Semantic-Philosophy.md +404 -0
- package/governance/Component-Quick-Reference.md +304 -0
- package/governance/Component-Readiness-Status.md +660 -0
- package/governance/Component-Schema-Format.md +379 -0
- package/governance/Component-Templates.md +1118 -0
- package/governance/Contract-System-Reference.md +255 -0
- package/governance/DTCG-Integration-Guide.md +573 -0
- package/governance/DesignerPunk-Integration-Guide.md +1005 -0
- package/governance/Figma-Workflow-Guide.md +479 -0
- package/governance/Layout-Specification-Vocabulary.md +550 -0
- package/governance/MCP-Evolution-Roadmap.md +228 -0
- package/governance/MCP-Integration-Guide.md +509 -0
- package/governance/MCP-Relationship-Model.md +363 -0
- package/governance/Platform-Resource-Map.md +70 -0
- package/governance/Process-Cross-Reference-Standards.md +665 -0
- package/governance/Process-Development-Workflow.md +310 -0
- package/governance/Process-File-Organization.md +693 -0
- package/governance/Process-Hook-Operations.md +1196 -0
- package/governance/Process-Integration-Methodology.md +142 -0
- package/governance/Process-Spec-Planning.md +2988 -0
- package/governance/Process-Task-Type-Definitions.md +378 -0
- package/governance/Product-Handoff-Protocol.md +258 -0
- package/governance/Product-Token-Governance.md +307 -0
- package/governance/Rosetta-System-Architecture.md +648 -0
- package/governance/Steering-Addressing-Conventions.md +105 -0
- package/governance/Test-Behavioral-Contract-Validation.md +638 -0
- package/governance/Test-Development-Standards.md +2094 -0
- package/governance/Test-Failure-Audit-Methodology.md +1475 -0
- package/governance/Token-Family-Accessibility.md +656 -0
- package/governance/Token-Family-Blend.md +503 -0
- package/governance/Token-Family-Blur.md +115 -0
- package/governance/Token-Family-Border.md +477 -0
- package/governance/Token-Family-Color.md +317 -0
- package/governance/Token-Family-Glow.md +473 -0
- package/governance/Token-Family-Layering.md +685 -0
- package/governance/Token-Family-Motion.md +690 -0
- package/governance/Token-Family-Opacity.md +578 -0
- package/governance/Token-Family-Radius.md +428 -0
- package/governance/Token-Family-Responsive.md +798 -0
- package/governance/Token-Family-Shadow.md +758 -0
- package/governance/Token-Family-Sizing.md +102 -0
- package/governance/Token-Family-Spacing.md +632 -0
- package/governance/Token-Family-Typography.md +598 -0
- package/governance/Token-Governance.md +658 -0
- package/governance/Token-Quick-Reference.md +382 -0
- package/governance/Token-Resolution-Patterns.md +537 -0
- package/governance/Token-Semantic-Structure.md +776 -0
- package/governance/Transformer-Development-Guide.md +490 -0
- package/governance/Web-Authoring-Standards.md +403 -0
- package/governance/a-vision-of-the-future.md +686 -0
- package/governance/browser-distribution-guide.md +580 -0
- package/governance/completion-documentation-guide.md +371 -0
- package/governance/component-mcp-query-guide.md +500 -0
- package/governance/component-meta-authoring-guide.md +235 -0
- package/governance/component-metadata-schema-reference.md +227 -0
- package/governance/cross-platform-vs-platform-specific-decision-framework.md +355 -0
- package/governance/platform-implementation-guidelines.md +818 -0
- package/governance/release-management-system.md +89 -0
- package/governance/rosetta-system-principles.md +593 -0
- package/governance/stemma-system-principles.md +900 -0
- package/governance/technology-stack.md +97 -0
- package/layout-templates/centered-content-page.yaml +26 -0
- package/layout-templates/full-width-page.yaml +24 -0
- package/layout-templates/multi-zone-page.yaml +56 -0
- package/layout-templates/sidebar-page.yaml +41 -0
- package/mcp-server/package.json +33 -0
- package/mcp-server/src/discovery-dry-run/__tests__/discovery-dry-run.test.ts +210 -0
- package/mcp-server/src/discovery-dry-run/discovery-dry-run.ts +224 -0
- package/mcp-server/src/id-guard/__tests__/backfill-doc-ids.test.ts +123 -0
- package/mcp-server/src/id-guard/__tests__/check-id-uniqueness.test.ts +138 -0
- package/mcp-server/src/id-guard/backfill-doc-ids.ts +180 -0
- package/mcp-server/src/id-guard/check-id-uniqueness.ts +165 -0
- package/mcp-server/src/id-guard/manifest-consistency.ts +77 -0
- package/mcp-server/src/index.ts +439 -0
- package/mcp-server/src/indexer/DocumentIndexer.ts +808 -0
- package/mcp-server/src/indexer/__tests__/DocumentIndexer.resolver.test.ts +298 -0
- package/mcp-server/src/indexer/__tests__/DocumentIndexer.test.ts +682 -0
- package/mcp-server/src/indexer/__tests__/conditional-filter.test.ts +367 -0
- package/mcp-server/src/indexer/__tests__/cross-ref-parser.test.ts +331 -0
- package/mcp-server/src/indexer/__tests__/frontmatter-parser.test.ts +192 -0
- package/mcp-server/src/indexer/__tests__/heading-parser.test.ts +227 -0
- package/mcp-server/src/indexer/__tests__/index-health.test.ts +393 -0
- package/mcp-server/src/indexer/__tests__/metadata-parser.test.ts +234 -0
- package/mcp-server/src/indexer/__tests__/section-parser.test.ts +494 -0
- package/mcp-server/src/indexer/conditional-filter.ts +282 -0
- package/mcp-server/src/indexer/cross-ref-parser.ts +65 -0
- package/mcp-server/src/indexer/frontmatter-parser.ts +192 -0
- package/mcp-server/src/indexer/heading-parser.ts +65 -0
- package/mcp-server/src/indexer/index-health.ts +228 -0
- package/mcp-server/src/indexer/metadata-parser.ts +81 -0
- package/mcp-server/src/indexer/section-parser.ts +296 -0
- package/mcp-server/src/legacy-path/__tests__/generate-manifest.test.ts +188 -0
- package/mcp-server/src/legacy-path/__tests__/reseed-integration.test.ts +113 -0
- package/mcp-server/src/legacy-path/generate-manifest.ts +214 -0
- package/mcp-server/src/legacy-path/index.ts +48 -0
- package/mcp-server/src/legacy-path/legacy-path-manifest.ts +160 -0
- package/mcp-server/src/models/CrossReference.ts +19 -0
- package/mcp-server/src/models/DocumentFull.ts +26 -0
- package/mcp-server/src/models/DocumentSummary.ts +53 -0
- package/mcp-server/src/models/DocumentationMap.ts +90 -0
- package/mcp-server/src/models/IndexHealth.ts +44 -0
- package/mcp-server/src/models/LegacyPathManifest.ts +37 -0
- package/mcp-server/src/models/MetadataValidation.ts +30 -0
- package/mcp-server/src/models/Section.ts +38 -0
- package/mcp-server/src/models/index.ts +14 -0
- package/mcp-server/src/query/QueryEngine.ts +860 -0
- package/mcp-server/src/query/__tests__/QueryEngine.test.ts +438 -0
- package/mcp-server/src/query/__tests__/find-docs-calibration.test.ts +406 -0
- package/mcp-server/src/query/__tests__/find-docs-rubric.test.ts +227 -0
- package/mcp-server/src/query/__tests__/stop-words.test.ts +40 -0
- package/mcp-server/src/query/stop-words.ts +74 -0
- package/mcp-server/src/relocation-integrity-gate/__tests__/relocation-integrity-gate.test.ts +236 -0
- package/mcp-server/src/relocation-integrity-gate/relocation-integrity-gate.ts +637 -0
- package/mcp-server/src/rules/workflow-rules.ts +105 -0
- package/mcp-server/src/staleness/StalenessGate.ts +112 -0
- package/mcp-server/src/staleness/__tests__/StalenessGate.test.ts +214 -0
- package/mcp-server/src/tools/__tests__/get-document-full.test.ts +256 -0
- package/mcp-server/src/tools/__tests__/get-document-summary.test.ts +273 -0
- package/mcp-server/src/tools/__tests__/get-documentation-map.test.ts +357 -0
- package/mcp-server/src/tools/__tests__/get-health-status.test.ts +223 -0
- package/mcp-server/src/tools/__tests__/get-index-health.test.ts +184 -0
- package/mcp-server/src/tools/__tests__/get-section.test.ts +457 -0
- package/mcp-server/src/tools/__tests__/list-cross-references.test.ts +279 -0
- package/mcp-server/src/tools/__tests__/rebuild-index.test.ts +214 -0
- package/mcp-server/src/tools/__tests__/validate-metadata.test.ts +296 -0
- package/mcp-server/src/tools/find-docs.ts +154 -0
- package/mcp-server/src/tools/get-document-full.ts +165 -0
- package/mcp-server/src/tools/get-document-summary.ts +198 -0
- package/mcp-server/src/tools/get-health-status.ts +137 -0
- package/mcp-server/src/tools/get-index-health.ts +100 -0
- package/mcp-server/src/tools/get-section.ts +308 -0
- package/mcp-server/src/tools/index.ts +106 -0
- package/mcp-server/src/tools/list-cross-references.ts +167 -0
- package/mcp-server/src/tools/rebuild-index.ts +101 -0
- package/mcp-server/src/tools/validate-metadata.ts +167 -0
- package/mcp-server/src/utils/__tests__/error-handler.test.ts +256 -0
- package/mcp-server/src/utils/__tests__/token-estimator.test.ts +87 -0
- package/mcp-server/src/utils/error-handler.ts +261 -0
- package/mcp-server/src/utils/token-estimator.ts +35 -0
- package/mcp-server/src/watcher/FileWatcher.ts +156 -0
- package/mcp-server/src/watcher/__tests__/FileWatcher.test.ts +293 -0
- package/mcp-server/src/watcher/index.ts +1 -0
- package/mcp-server/tsconfig.json +24 -0
- package/package.json +167 -0
- package/product-template/agents/README.md +73 -0
- package/product-template/agents/ada-prompt.md +83 -0
- package/product-template/agents/data-prompt.md +74 -0
- package/product-template/agents/kenya-prompt.md +74 -0
- package/product-template/agents/leonardo-prompt.md +99 -0
- package/product-template/agents/lina-prompt.md +61 -0
- package/product-template/agents/sparky-prompt.md +66 -0
- package/product-template/agents/stacy-prompt.md +51 -0
- package/product-template/agents/thurgood-prompt.md +64 -0
- package/src/TokenEngine.ts +628 -0
- package/src/__tests__/BuildSystemIntegration.test.ts +485 -0
- package/src/__tests__/ProductMCPIntegration.test.ts +204 -0
- package/src/__tests__/__mocks__/styleMock.js +18 -0
- package/src/__tests__/browser-distribution/build-error-handling.test.ts +143 -0
- package/src/__tests__/browser-distribution/bundle-loading.test.ts +353 -0
- package/src/__tests__/browser-distribution/bundler-resolution.test.ts +223 -0
- package/src/__tests__/browser-distribution/component-registration.test.ts +217 -0
- package/src/__tests__/browser-distribution/css-bundling.test.ts +231 -0
- package/src/__tests__/browser-distribution/demo-system.test.ts +588 -0
- package/src/__tests__/browser-distribution/mcp-format-compliance.property.test.ts +379 -0
- package/src/__tests__/browser-distribution/mcp-queryability.test.ts +342 -0
- package/src/__tests__/browser-distribution/minification-effectiveness.property.test.ts +188 -0
- package/src/__tests__/browser-distribution/registration-idempotency.property.test.ts +372 -0
- package/src/__tests__/browser-distribution/soft-ceiling-warning.test.ts +161 -0
- package/src/__tests__/browser-distribution/token-completeness.property.test.ts +412 -0
- package/src/__tests__/browser-distribution/token-loading.test.ts +344 -0
- package/src/__tests__/browser-distribution/umd-bundle-loading.test.ts +169 -0
- package/src/__tests__/examples/improved-test-example.test.ts +120 -0
- package/src/__tests__/expected-exports.json +66 -0
- package/src/__tests__/export-contracts.test.ts +83 -0
- package/src/__tests__/fixtures/acknowledged-differences.json +127 -0
- package/src/__tests__/fixtures/acknowledged-differences.schema.json +113 -0
- package/src/__tests__/fixtures/acknowledged-differences.types.ts +230 -0
- package/src/__tests__/fixtures/tokenFixtures.ts +248 -0
- package/src/__tests__/helpers/configModuleLoader.ts +20 -0
- package/src/__tests__/helpers/tsModuleLoader.ts +24 -0
- package/src/__tests__/helpers/web-component-test-utils.ts +39 -0
- package/src/__tests__/integration/BlendCrossPlatformConsistency.test.ts +505 -0
- package/src/__tests__/integration/BuildSystemCompatibility.test.ts +551 -0
- package/src/__tests__/integration/CrossPlatformConsistency.test.ts +855 -0
- package/src/__tests__/integration/EndToEndWorkflow.test.ts +601 -0
- package/src/__tests__/integration/ErrorHandling.test.ts +459 -0
- package/src/__tests__/integration/OpacityPlatformTranslation.test.ts +364 -0
- package/src/__tests__/integration/PerformanceValidation.test.ts +887 -0
- package/src/__tests__/integration/SemanticTokenGeneration.test.ts +451 -0
- package/src/__tests__/integration/Spec107-DesignLanguageContext.test.ts +123 -0
- package/src/__tests__/integration/TokenSystemIntegration.test.ts +890 -0
- package/src/__tests__/integration/ValidationPipeline.test.ts +404 -0
- package/src/__tests__/package-drift-validation.test.ts +249 -0
- package/src/__tests__/performance/GenerationPerformance.test.ts +409 -0
- package/src/__tests__/performance/OptimizationValidation.test.ts +509 -0
- package/src/__tests__/platform-parity/ProgressPlatformParity.test.ts +546 -0
- package/src/__tests__/spec073-opacity-architecture.test.ts +344 -0
- package/src/__tests__/stemma-system/behavioral-contract-validation.test.ts +467 -0
- package/src/__tests__/stemma-system/composition-compliance-validation.test.ts +162 -0
- package/src/__tests__/stemma-system/contract-catalog-name-validation.test.ts +156 -0
- package/src/__tests__/stemma-system/contract-existence-validation.test.ts +43 -0
- package/src/__tests__/stemma-system/contract-test-reporter.ts +269 -0
- package/src/__tests__/stemma-system/cross-platform-consistency.test.ts +564 -0
- package/src/__tests__/stemma-system/form-inputs-contracts.test.ts +503 -0
- package/src/__tests__/stemma-system/mcp-component-integration.test.ts +445 -0
- package/src/analytics/PrimitiveTokenFallbackTracker.ts +228 -0
- package/src/analytics/SemanticTokenUsageTracker.ts +193 -0
- package/src/analytics/StrategicFlexibilityTracker.ts +226 -0
- package/src/analytics/TokenUsageTracker.ts +177 -0
- package/src/analytics/UsagePatternAnalyzer.ts +177 -0
- package/src/analytics/__tests__/UsageTracking.test.ts +647 -0
- package/src/analytics/index.ts +42 -0
- package/src/assets/fonts/__tests__/androidFontLoadingValidation.test.ts +600 -0
- package/src/assets/fonts/__tests__/fontLoading.test.ts +341 -0
- package/src/assets/fonts/__tests__/iosFontConfiguration.test.ts +256 -0
- package/src/assets/fonts/__tests__/iosFontLoadingValidation.test.ts +465 -0
- package/src/assets/fonts/commit-mono/CommitMono-400-Italic.otf +0 -0
- package/src/assets/fonts/commit-mono/CommitMono-400-Regular.otf +0 -0
- package/src/assets/fonts/commit-mono/CommitMono-700-Italic.otf +0 -0
- package/src/assets/fonts/commit-mono/CommitMono-700-Regular.otf +0 -0
- package/src/assets/fonts/commit-mono/commit-mono.css +45 -0
- package/src/assets/fonts/commit-mono/custom-settings.json +1 -0
- package/src/assets/fonts/commit-mono/installation.txt +11 -0
- package/src/assets/fonts/commit-mono/license.txt +92 -0
- package/src/assets/fonts/figtree/Figtree-Italic-VariableFont_wght.ttf +0 -0
- package/src/assets/fonts/figtree/Figtree-VariableFont_wght.ttf +0 -0
- package/src/assets/fonts/figtree/OFL.txt +93 -0
- package/src/assets/fonts/figtree/README.txt +77 -0
- package/src/assets/fonts/figtree/figtree.css +27 -0
- package/src/assets/fonts/figtree/static/Figtree-Black.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-BlackItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Bold.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-BoldItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-ExtraBold.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-ExtraBoldItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Italic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Light.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-LightItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Medium.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-MediumItalic.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-Regular.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-SemiBold.ttf +0 -0
- package/src/assets/fonts/figtree/static/Figtree-SemiBoldItalic.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Bold.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
- package/src/assets/fonts/inter/Inter-Medium.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
- package/src/assets/fonts/inter/Inter-Regular.ttf +0 -0
- package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
- package/src/assets/fonts/inter/Inter-SemiBold.ttf +0 -0
- package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
- package/src/assets/fonts/inter/inter.css +49 -0
- package/src/assets/fonts/rajdhani/OFL.txt +91 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Bold.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Bold.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Bold.woff2 +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Light.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Medium.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Medium.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Medium.woff2 +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Regular.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Regular.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-Regular.woff2 +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-SemiBold.ttf +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-SemiBold.woff +0 -0
- package/src/assets/fonts/rajdhani/Rajdhani-SemiBold.woff2 +0 -0
- package/src/assets/fonts/rajdhani/rajdhani.css +53 -0
- package/src/blend/BlendCalculator.ts +120 -0
- package/src/blend/ColorSpaceUtils.ts +325 -0
- package/src/blend/OklchBlendCalculator.ts +79 -0
- package/src/blend/ThemeAwareBlendUtilities.android.kt +367 -0
- package/src/blend/ThemeAwareBlendUtilities.ios.swift +325 -0
- package/src/blend/ThemeAwareBlendUtilities.web.ts +315 -0
- package/src/blend/__tests__/BlendCalculator.test.ts +393 -0
- package/src/blend/__tests__/BlendUtilities.property.test.ts +600 -0
- package/src/blend/__tests__/ColorSpaceUtils.test.ts +885 -0
- package/src/blend/__tests__/InteractionStateAudit.test.ts +235 -0
- package/src/blend/__tests__/OklchBlendCalculator.test.ts +134 -0
- package/src/blend/__tests__/ThemeAwareBlendUtilities.test.ts +200 -0
- package/src/blend/__tests__/ThemeSwitching.test.ts +508 -0
- package/src/blend/index.ts +37 -0
- package/src/browser-entry.ts +270 -0
- package/src/build/.gitkeep +1 -0
- package/src/build/BuildOrchestrator.ts +663 -0
- package/src/build/__tests__/AndroidBuildIntegration.test.ts +437 -0
- package/src/build/__tests__/AndroidMotionTokenGeneration.test.ts +256 -0
- package/src/build/__tests__/BuildOrchestrator.test.ts +562 -0
- package/src/build/__tests__/MotionTokenCrossPlatformIntegration.test.ts +424 -0
- package/src/build/__tests__/WebCSSTokenGeneration.test.ts +271 -0
- package/src/build/__tests__/WebMotionTokenGeneration.test.ts +305 -0
- package/src/build/__tests__/WebNPMPackageStructure.test.ts +447 -0
- package/src/build/__tests__/iOSMotionTokenGeneration.test.ts +298 -0
- package/src/build/errors/BuildError.ts +140 -0
- package/src/build/errors/ErrorDocumentation.ts +638 -0
- package/src/build/errors/ErrorHandler.ts +406 -0
- package/src/build/errors/ErrorReporter.ts +573 -0
- package/src/build/errors/PlatformGenerationError.ts +201 -0
- package/src/build/errors/README.md +486 -0
- package/src/build/errors/RecoveryStrategy.ts +393 -0
- package/src/build/errors/TokenGenerationError.ts +196 -0
- package/src/build/errors/TokenReferenceError.ts +204 -0
- package/src/build/errors/__tests__/BuildError.test.ts +212 -0
- package/src/build/errors/__tests__/ErrorDocumentation.example.ts +272 -0
- package/src/build/errors/__tests__/ErrorDocumentation.test.ts +458 -0
- package/src/build/errors/__tests__/ErrorHandler.integration.test.ts +295 -0
- package/src/build/errors/__tests__/ErrorHandler.test.ts +497 -0
- package/src/build/errors/__tests__/ErrorReporter.test.ts +581 -0
- package/src/build/errors/__tests__/MotionTokenErrors.test.ts +392 -0
- package/src/build/errors/__tests__/RecoveryStrategy.test.ts +643 -0
- package/src/build/errors/index.ts +90 -0
- package/src/build/index.ts +73 -0
- package/src/build/orchestration/IncrementalBuilder.ts +532 -0
- package/src/build/orchestration/ParallelExecutor.ts +336 -0
- package/src/build/orchestration/ProgressTracker.ts +582 -0
- package/src/build/orchestration/SequentialExecutor.ts +305 -0
- package/src/build/orchestration/__tests__/IncrementalBuilder.test.ts +354 -0
- package/src/build/orchestration/__tests__/ParallelExecutor.integration.test.ts +295 -0
- package/src/build/orchestration/__tests__/ParallelExecutor.test.ts +493 -0
- package/src/build/orchestration/__tests__/ProgressTracker.test.ts +529 -0
- package/src/build/orchestration/__tests__/SequentialExecutor.integration.test.ts +202 -0
- package/src/build/orchestration/__tests__/SequentialExecutor.test.ts +232 -0
- package/src/build/orchestration/index.ts +35 -0
- package/src/build/platforms/.gitkeep +1 -0
- package/src/build/platforms/AndroidBuilder.ts +1366 -0
- package/src/build/platforms/AndroidShadowGenerator.ts +394 -0
- package/src/build/platforms/IOSShadowGenerator.ts +324 -0
- package/src/build/platforms/PlatformBuilder.ts +131 -0
- package/src/build/platforms/WebBuilder.ts +1414 -0
- package/src/build/platforms/WebShadowGenerator.ts +288 -0
- package/src/build/platforms/__tests__/AndroidBuilder.tokenGeneration.test.ts +146 -0
- package/src/build/platforms/__tests__/AndroidShadowGenerator.test.ts +195 -0
- package/src/build/platforms/__tests__/IOSShadowGenerator.test.ts +156 -0
- package/src/build/platforms/__tests__/WebShadowGenerator.test.ts +123 -0
- package/src/build/platforms/__tests__/iOSBuilder.test.ts +1599 -0
- package/src/build/platforms/iOSBuilder.ts +1746 -0
- package/src/build/platforms/index.ts +9 -0
- package/src/build/product/ProductTokenGenerator.ts +162 -0
- package/src/build/product/TokenIndexReader.ts +78 -0
- package/src/build/product/__tests__/KotlinEmitter.test.ts +109 -0
- package/src/build/product/__tests__/ProductTokenGenerator.test.ts +135 -0
- package/src/build/product/__tests__/SwiftEmitter.test.ts +90 -0
- package/src/build/product/__tests__/TokenIndexReader.test.ts +85 -0
- package/src/build/product/__tests__/WebEmitter.test.ts +111 -0
- package/src/build/product/__tests__/fixtures/tokens/layout.yaml +21 -0
- package/src/build/product/__tests__/fixtures/tokens/motion.yaml +11 -0
- package/src/build/product/__tests__/fixtures/tokens/visualization.yaml +8 -0
- package/src/build/product/emitters/KotlinEmitter.ts +83 -0
- package/src/build/product/emitters/SwiftEmitter.ts +95 -0
- package/src/build/product/emitters/WebEmitter.ts +69 -0
- package/src/build/tokens/.gitkeep +1 -0
- package/src/build/tokens/ComponentToken.ts +285 -0
- package/src/build/tokens/ComponentTokenGenerator.ts +376 -0
- package/src/build/tokens/PlatformTokens.ts +188 -0
- package/src/build/tokens/TokenIntegrator.ts +410 -0
- package/src/build/tokens/TokenSelection.ts +130 -0
- package/src/build/tokens/TokenSelector.ts +394 -0
- package/src/build/tokens/UnitConverter.ts +320 -0
- package/src/build/tokens/__tests__/ClassInvariantGuard.test.ts +167 -0
- package/src/build/tokens/__tests__/ComponentTokenGenerator.test.ts +285 -0
- package/src/build/tokens/__tests__/TokenIntegrator.test.ts +319 -0
- package/src/build/tokens/__tests__/TokenSelector.test.ts +264 -0
- package/src/build/tokens/__tests__/UnitConverter.applyScaleWithRounding.test.ts +160 -0
- package/src/build/tokens/__tests__/UnitConverter.test.ts +331 -0
- package/src/build/tokens/__tests__/brand-dual-instance.test.ts +135 -0
- package/src/build/tokens/__tests__/defineComponentTokens.test.ts +440 -0
- package/src/build/tokens/defineComponentTokens.ts +286 -0
- package/src/build/tokens/index.ts +44 -0
- package/src/build/tokens/types.ts +26 -0
- package/src/build/types/.gitkeep +1 -0
- package/src/build/types/BuildConfig.ts +123 -0
- package/src/build/types/BuildOrchestrator.ts +114 -0
- package/src/build/types/BuildResult.ts +125 -0
- package/src/build/types/Platform.ts +49 -0
- package/src/build/types/index.ts +39 -0
- package/src/build/validation/.gitkeep +1 -0
- package/src/build/validation/AndroidBuildValidator.ts +630 -0
- package/src/build/validation/CrossPlatformValidationReporter.ts +1267 -0
- package/src/build/validation/InterfaceContractValidator.ts +417 -0
- package/src/build/validation/InterfaceValidator.ts +326 -0
- package/src/build/validation/MathematicalConsistencyValidator.ts +874 -0
- package/src/build/validation/MethodSignatureValidator.ts +374 -0
- package/src/build/validation/PropertyTypeValidator.ts +312 -0
- package/src/build/validation/TokenComparator.ts +796 -0
- package/src/build/validation/ValidationReporter.example.ts +310 -0
- package/src/build/validation/ValidationReporter.ts +745 -0
- package/src/build/validation/WebBuildValidator.ts +583 -0
- package/src/build/validation/__tests__/AndroidBuildValidator.test.ts +522 -0
- package/src/build/validation/__tests__/CrossPlatformValidationReporter.test.ts +593 -0
- package/src/build/validation/__tests__/InterfaceContractValidator.test.ts +647 -0
- package/src/build/validation/__tests__/InterfaceValidation.functional.test.ts +360 -0
- package/src/build/validation/__tests__/InterfaceValidator.test.ts +318 -0
- package/src/build/validation/__tests__/MethodSignatureValidator.test.ts +625 -0
- package/src/build/validation/__tests__/MotionTokenCrossPlatformValidation.test.ts +305 -0
- package/src/build/validation/__tests__/MotionTokenValidation.test.ts +309 -0
- package/src/build/validation/__tests__/PropertyTypeValidator.test.ts +557 -0
- package/src/build/validation/__tests__/TokenComparator.test.ts +358 -0
- package/src/build/validation/__tests__/ValidationReporter.integration.test.ts +424 -0
- package/src/build/validation/__tests__/ValidationReporter.test.ts +793 -0
- package/src/build/validation/__tests__/WebBuildValidator.test.ts +495 -0
- package/src/build/validation/iOSBuildValidator.ts +783 -0
- package/src/build/validation/index.ts +74 -0
- package/src/build/validation/types/InterfaceDefinition.ts +101 -0
- package/src/build/validation/types/ValidationResult.ts +114 -0
- package/src/build/workflow/BuildMode.ts +336 -0
- package/src/build/workflow/CICDIntegration.ts +503 -0
- package/src/build/workflow/ConfigHelpers.example.ts +317 -0
- package/src/build/workflow/ConfigHelpers.ts +834 -0
- package/src/build/workflow/README.md +327 -0
- package/src/build/workflow/SourceMapGenerator.ts +362 -0
- package/src/build/workflow/__tests__/BuildMode.test.ts +544 -0
- package/src/build/workflow/__tests__/CICDIntegration.test.ts +591 -0
- package/src/build/workflow/__tests__/ConfigHelpers.test.ts +559 -0
- package/src/build/workflow/__tests__/SourceMapGenerator.test.ts +421 -0
- package/src/build/workflow/index.ts +42 -0
- package/src/cli/__tests__/Applier.test.ts +202 -0
- package/src/cli/__tests__/Classifier.test.ts +187 -0
- package/src/cli/__tests__/FileScanner.test.ts +108 -0
- package/src/cli/__tests__/IgnoreFilter.test.ts +92 -0
- package/src/cli/__tests__/Manifest.test.ts +107 -0
- package/src/cli/__tests__/PackageResolver.test.ts +66 -0
- package/src/cli/__tests__/Prompter.test.ts +165 -0
- package/src/cli/__tests__/Reporter.test.ts +128 -0
- package/src/cli/__tests__/backward-compat.test.ts +142 -0
- package/src/cli/__tests__/figma-extract.test.ts +342 -0
- package/src/cli/__tests__/figma-push.test.ts +350 -0
- package/src/cli/__tests__/init.test.ts +259 -0
- package/src/cli/__tests__/loadComponentTokens.test.ts +187 -0
- package/src/cli/__tests__/pipeline-independence.test.ts +127 -0
- package/src/cli/__tests__/product-only.test.ts +130 -0
- package/src/cli/__tests__/resolveTokens.test.ts +88 -0
- package/src/cli/__tests__/staleness.test.ts +132 -0
- package/src/cli/__tests__/sync.test.ts +199 -0
- package/src/cli/__tests__/validate.test.ts +69 -0
- package/src/cli/designerpunk.ts +410 -0
- package/src/cli/figma-extract.ts +331 -0
- package/src/cli/figma-push.ts +288 -0
- package/src/cli/generateProductTokens.ts +69 -0
- package/src/cli/init.ts +481 -0
- package/src/cli/loadComponentTokens.ts +145 -0
- package/src/cli/resolveTokens.ts +123 -0
- package/src/cli/shared/mcpDataRoots.ts +122 -0
- package/src/cli/shared/resolvePackageRoot.ts +58 -0
- package/src/cli/shared/transforms.ts +18 -0
- package/src/cli/staleness.ts +81 -0
- package/src/cli/sync/Applier.ts +128 -0
- package/src/cli/sync/Classifier.ts +130 -0
- package/src/cli/sync/FileScanner.ts +64 -0
- package/src/cli/sync/IgnoreFilter.ts +44 -0
- package/src/cli/sync/Manifest.ts +64 -0
- package/src/cli/sync/PackageResolver.ts +40 -0
- package/src/cli/sync/Prompter.ts +173 -0
- package/src/cli/sync/Reporter.ts +78 -0
- package/src/cli/sync/SteeringDirCheck.ts +166 -0
- package/src/cli/sync/index.ts +115 -0
- package/src/cli/templates/mcp-config.json.template +46 -0
- package/src/cli/validate.ts +135 -0
- package/src/cli/validateProductTokens.ts +55 -0
- package/src/color/OklchConverter.ts +284 -0
- package/src/color/OklchValidator.ts +186 -0
- package/src/color/__tests__/OklchConverter.test.ts +232 -0
- package/src/color/__tests__/OklchRegression.test.ts +101 -0
- package/src/color/__tests__/OklchValidator.test.ts +199 -0
- package/src/color/__tests__/WcagContrast.test.ts +76 -0
- package/src/components/__tests__/BlendTokenUsageValidation.test.ts +726 -0
- package/src/components/__tests__/DynamicImportGuard.test.ts +226 -0
- package/src/components/__tests__/ExtensionLintPolicy.test.ts +113 -0
- package/src/components/__tests__/TokenCompliance.test.ts +921 -0
- package/src/components/__tests__/colorInheritanceValidation.test.ts +267 -0
- package/src/components/__tests__/componentTypographyInheritance.test.ts +326 -0
- package/src/components/core/Avatar-Base/Avatar-Base.schema.yaml +113 -0
- package/src/components/core/Avatar-Base/README.md +366 -0
- package/src/components/core/Avatar-Base/__tests__/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.accessibility.test.ts +483 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.icon-integration.test.ts +656 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.image.test.ts +393 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.lifecycle.test.ts +545 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.rendering.test.ts +505 -0
- package/src/components/core/Avatar-Base/__tests__/Avatar.test.ts +692 -0
- package/src/components/core/Avatar-Base/avatar.tokens.ts +376 -0
- package/src/components/core/Avatar-Base/component-meta.yaml +20 -0
- package/src/components/core/Avatar-Base/contracts.yaml +212 -0
- package/src/components/core/Avatar-Base/index.ts +25 -0
- package/src/components/core/Avatar-Base/platforms/android/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/platforms/android/Avatar.android.kt +593 -0
- package/src/components/core/Avatar-Base/platforms/android/AvatarPreview.kt +1106 -0
- package/src/components/core/Avatar-Base/platforms/android/HexagonShape.kt +297 -0
- package/src/components/core/Avatar-Base/platforms/ios/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/platforms/ios/Avatar.ios.swift +815 -0
- package/src/components/core/Avatar-Base/platforms/ios/AvatarPreview.swift +773 -0
- package/src/components/core/Avatar-Base/platforms/ios/RoundedPointyTopHexagon.swift +360 -0
- package/src/components/core/Avatar-Base/platforms/web/.gitkeep +3 -0
- package/src/components/core/Avatar-Base/platforms/web/Avatar.styles.css +595 -0
- package/src/components/core/Avatar-Base/platforms/web/Avatar.web.ts +873 -0
- package/src/components/core/Avatar-Base/platforms/web/hexagon-clip.svg +87 -0
- package/src/components/core/Avatar-Base/tokens/.gitkeep +4 -0
- package/src/components/core/Avatar-Base/types.ts +86 -0
- package/src/components/core/Badge-Count-Base/Badge-Count-Base.schema.yaml +122 -0
- package/src/components/core/Badge-Count-Base/README.md +323 -0
- package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.stemma.test.ts +548 -0
- package/src/components/core/Badge-Count-Base/__tests__/BadgeCountBase.test.ts +452 -0
- package/src/components/core/Badge-Count-Base/__tests__/test-utils.ts +244 -0
- package/src/components/core/Badge-Count-Base/component-meta.yaml +23 -0
- package/src/components/core/Badge-Count-Base/contracts.yaml +173 -0
- package/src/components/core/Badge-Count-Base/index.ts +37 -0
- package/src/components/core/Badge-Count-Base/platforms/android/.gitkeep +1 -0
- package/src/components/core/Badge-Count-Base/platforms/android/BadgeCountBase.android.kt +581 -0
- package/src/components/core/Badge-Count-Base/platforms/ios/.gitkeep +1 -0
- package/src/components/core/Badge-Count-Base/platforms/ios/BadgeCountBase.ios.swift +502 -0
- package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.styles.css +148 -0
- package/src/components/core/Badge-Count-Base/platforms/web/BadgeCountBase.web.ts +363 -0
- package/src/components/core/Badge-Count-Base/types.ts +150 -0
- package/src/components/core/Badge-Count-Notification/Badge-Count-Notification.schema.yaml +108 -0
- package/src/components/core/Badge-Count-Notification/README.md +396 -0
- package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.stemma.test.ts +571 -0
- package/src/components/core/Badge-Count-Notification/__tests__/BadgeCountNotification.test.ts +490 -0
- package/src/components/core/Badge-Count-Notification/__tests__/test-utils.ts +256 -0
- package/src/components/core/Badge-Count-Notification/component-meta.yaml +20 -0
- package/src/components/core/Badge-Count-Notification/contracts.yaml +92 -0
- package/src/components/core/Badge-Count-Notification/index.ts +60 -0
- package/src/components/core/Badge-Count-Notification/platforms/android/.gitkeep +2 -0
- package/src/components/core/Badge-Count-Notification/platforms/android/BadgeCountNotification.android.kt +818 -0
- package/src/components/core/Badge-Count-Notification/platforms/ios/BadgeCountNotification.ios.swift +660 -0
- package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.styles.css +182 -0
- package/src/components/core/Badge-Count-Notification/platforms/web/BadgeCountNotification.web.ts +401 -0
- package/src/components/core/Badge-Count-Notification/tokens.ts +124 -0
- package/src/components/core/Badge-Count-Notification/types.ts +119 -0
- package/src/components/core/Badge-Label-Base/Badge-Label-Base.schema.yaml +131 -0
- package/src/components/core/Badge-Label-Base/README.md +251 -0
- package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.stemma.test.ts +549 -0
- package/src/components/core/Badge-Label-Base/__tests__/BadgeLabelBase.test.ts +439 -0
- package/src/components/core/Badge-Label-Base/__tests__/test-utils.ts +269 -0
- package/src/components/core/Badge-Label-Base/__tests__/tokens.test.ts +88 -0
- package/src/components/core/Badge-Label-Base/component-meta.yaml +21 -0
- package/src/components/core/Badge-Label-Base/contracts.yaml +148 -0
- package/src/components/core/Badge-Label-Base/index.ts +41 -0
- package/src/components/core/Badge-Label-Base/platforms/android/BadgeLabelBase.android.kt +452 -0
- package/src/components/core/Badge-Label-Base/platforms/ios/BadgeLabelBase.ios.swift +483 -0
- package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.styles.css +166 -0
- package/src/components/core/Badge-Label-Base/platforms/web/BadgeLabelBase.web.ts +340 -0
- package/src/components/core/Badge-Label-Base/tokens.ts +80 -0
- package/src/components/core/Badge-Label-Base/types.ts +148 -0
- package/src/components/core/Button-CTA/Button-CTA.schema.yaml +259 -0
- package/src/components/core/Button-CTA/Button-CTA.tokens.ts +79 -0
- package/src/components/core/Button-CTA/README.md +296 -0
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.alignment.test.ts +355 -0
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.test.ts +752 -0
- package/src/components/core/Button-CTA/__tests__/ButtonCTA.tokens.test.ts +89 -0
- package/src/components/core/Button-CTA/__tests__/setup.test.ts +211 -0
- package/src/components/core/Button-CTA/__tests__/test-utils.ts +187 -0
- package/src/components/core/Button-CTA/component-meta.yaml +25 -0
- package/src/components/core/Button-CTA/contracts.yaml +140 -0
- package/src/components/core/Button-CTA/examples/BasicUsage.html +145 -0
- package/src/components/core/Button-CTA/examples/BasicUsage.tsx +246 -0
- package/src/components/core/Button-CTA/examples/Variants.html +263 -0
- package/src/components/core/Button-CTA/examples/WithIcon.html +166 -0
- package/src/components/core/Button-CTA/index.ts +20 -0
- package/src/components/core/Button-CTA/platforms/android/ButtonCTA.android.kt +405 -0
- package/src/components/core/Button-CTA/platforms/ios/ButtonCTA.ios.swift +552 -0
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.css +419 -0
- package/src/components/core/Button-CTA/platforms/web/ButtonCTA.web.ts +697 -0
- package/src/components/core/Button-CTA/platforms/web/__tests__/ButtonCTA.icon-integration.test.ts +476 -0
- package/src/components/core/Button-CTA/types.ts +257 -0
- package/src/components/core/Button-Icon/Button-Icon.schema.yaml +114 -0
- package/src/components/core/Button-Icon/README.md +371 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.alignment.test.ts +358 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties-8-13.test.ts +953 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.properties.test.ts +920 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.stemma.test.ts +622 -0
- package/src/components/core/Button-Icon/__tests__/ButtonIcon.unit.test.ts +560 -0
- package/src/components/core/Button-Icon/__tests__/setup.test.ts +361 -0
- package/src/components/core/Button-Icon/__tests__/test-utils.ts +248 -0
- package/src/components/core/Button-Icon/buttonIcon.tokens.ts +202 -0
- package/src/components/core/Button-Icon/component-meta.yaml +24 -0
- package/src/components/core/Button-Icon/contracts.yaml +228 -0
- package/src/components/core/Button-Icon/platforms/android/ButtonIcon.android.kt +548 -0
- package/src/components/core/Button-Icon/platforms/ios/ButtonIcon.ios.swift +482 -0
- package/src/components/core/Button-Icon/platforms/web/.gitkeep +4 -0
- package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.css +600 -0
- package/src/components/core/Button-Icon/platforms/web/ButtonIcon.web.ts +625 -0
- package/src/components/core/Button-Icon/types.ts +186 -0
- package/src/components/core/Button-VerticalList-Item/Button-VerticalList-Item.schema.yaml +138 -0
- package/src/components/core/Button-VerticalList-Item/Button-VerticalList-Item.tokens.ts +112 -0
- package/src/components/core/Button-VerticalList-Item/README.md +450 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.alignment.test.ts +271 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.failLoudly.test.ts +106 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.integration.test.ts +480 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.properties.test.ts +634 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/ButtonVerticalListItem.unit.test.ts +746 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/rtlSupport.test.ts +206 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/test-utils.ts +297 -0
- package/src/components/core/Button-VerticalList-Item/__tests__/visualStateMapping.test.ts +419 -0
- package/src/components/core/Button-VerticalList-Item/component-meta.yaml +24 -0
- package/src/components/core/Button-VerticalList-Item/contracts.yaml +138 -0
- package/src/components/core/Button-VerticalList-Item/index.ts +49 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/VerticalListButtonItem.android.kt +594 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/VerticalListButtonItemTest.kt +1109 -0
- package/src/components/core/Button-VerticalList-Item/platforms/android/VisualStateStyles.kt +585 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/VerticalListButtonItem.ios.swift +853 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/VerticalListButtonItemTests.swift +794 -0
- package/src/components/core/Button-VerticalList-Item/platforms/ios/VisualStateStyles.swift +453 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/.gitkeep +2 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.styles.css +459 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/ButtonVerticalListItem.web.ts +1030 -0
- package/src/components/core/Button-VerticalList-Item/platforms/web/visualStateMapping.ts +411 -0
- package/src/components/core/Button-VerticalList-Item/types.ts +338 -0
- package/src/components/core/Button-VerticalList-Set/Button-VerticalList-Set.schema.yaml +110 -0
- package/src/components/core/Button-VerticalList-Set/README.md +578 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/.gitkeep +5 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.integration.test.ts +676 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property.test.ts +786 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.property2.test.ts +1109 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/ButtonVerticalListSet.unit.test.ts +924 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/animationTiming.test.ts +182 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/crossPlatformConsistency.test.ts +685 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/deriveItemStates.test.ts +179 -0
- package/src/components/core/Button-VerticalList-Set/__tests__/validation.test.ts +275 -0
- package/src/components/core/Button-VerticalList-Set/component-meta.yaml +22 -0
- package/src/components/core/Button-VerticalList-Set/contracts.yaml +170 -0
- package/src/components/core/Button-VerticalList-Set/index.ts +32 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/.gitkeep +0 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSet.android.kt +805 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSetPreview.kt +390 -0
- package/src/components/core/Button-VerticalList-Set/platforms/android/ButtonVerticalListSetTest.kt +961 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/.gitkeep +0 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSet.ios.swift +1127 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSetPreview.swift +664 -0
- package/src/components/core/Button-VerticalList-Set/platforms/ios/ButtonVerticalListSetTests.swift +475 -0
- package/src/components/core/Button-VerticalList-Set/platforms/web/.gitkeep +4 -0
- package/src/components/core/Button-VerticalList-Set/platforms/web/Button-VerticalList-Set.styles.css +167 -0
- package/src/components/core/Button-VerticalList-Set/platforms/web/ButtonVerticalListSet.web.ts +1446 -0
- package/src/components/core/Button-VerticalList-Set/types.ts +788 -0
- package/src/components/core/Chip-Base/Chip-Base.schema.yaml +214 -0
- package/src/components/core/Chip-Base/__tests__/ChipBase.test.ts +521 -0
- package/src/components/core/Chip-Base/component-meta.yaml +25 -0
- package/src/components/core/Chip-Base/contracts.yaml +201 -0
- package/src/components/core/Chip-Base/index.ts +40 -0
- package/src/components/core/Chip-Base/platforms/android/ChipBase.android.kt +379 -0
- package/src/components/core/Chip-Base/platforms/ios/.gitkeep +3 -0
- package/src/components/core/Chip-Base/platforms/ios/ChipBase.ios.swift +420 -0
- package/src/components/core/Chip-Base/platforms/web/.gitkeep +5 -0
- package/src/components/core/Chip-Base/platforms/web/ChipBase.styles.css +280 -0
- package/src/components/core/Chip-Base/platforms/web/ChipBase.web.ts +480 -0
- package/src/components/core/Chip-Base/types.ts +189 -0
- package/src/components/core/Chip-Filter/Chip-Filter.schema.yaml +181 -0
- package/src/components/core/Chip-Filter/__tests__/ChipFilter.test.ts +579 -0
- package/src/components/core/Chip-Filter/component-meta.yaml +20 -0
- package/src/components/core/Chip-Filter/contracts.yaml +76 -0
- package/src/components/core/Chip-Filter/index.ts +34 -0
- package/src/components/core/Chip-Filter/platforms/android/ChipFilter.android.kt +484 -0
- package/src/components/core/Chip-Filter/platforms/ios/ChipFilter.ios.swift +510 -0
- package/src/components/core/Chip-Filter/platforms/web/ChipFilter.styles.css +105 -0
- package/src/components/core/Chip-Filter/platforms/web/ChipFilter.web.ts +539 -0
- package/src/components/core/Chip-Filter/types.ts +47 -0
- package/src/components/core/Chip-Input/Chip-Input.schema.yaml +173 -0
- package/src/components/core/Chip-Input/__tests__/ChipInput.test.ts +459 -0
- package/src/components/core/Chip-Input/component-meta.yaml +20 -0
- package/src/components/core/Chip-Input/contracts.yaml +75 -0
- package/src/components/core/Chip-Input/index.ts +35 -0
- package/src/components/core/Chip-Input/platforms/android/.gitkeep +3 -0
- package/src/components/core/Chip-Input/platforms/android/ChipInput.android.kt +409 -0
- package/src/components/core/Chip-Input/platforms/ios/.gitkeep +3 -0
- package/src/components/core/Chip-Input/platforms/ios/ChipInput.ios.swift +449 -0
- package/src/components/core/Chip-Input/platforms/web/ChipInput.styles.css +99 -0
- package/src/components/core/Chip-Input/platforms/web/ChipInput.web.ts +485 -0
- package/src/components/core/Chip-Input/types.ts +35 -0
- package/src/components/core/Container-Base/Container-Base.schema.yaml +411 -0
- package/src/components/core/Container-Base/README.md +450 -0
- package/src/components/core/Container-Base/__tests__/ContainerBase.test.ts +712 -0
- package/src/components/core/Container-Base/component-meta.yaml +22 -0
- package/src/components/core/Container-Base/contracts.yaml +118 -0
- package/src/components/core/Container-Base/index.ts +47 -0
- package/src/components/core/Container-Base/platforms/android/ContainerBase.android.kt +654 -0
- package/src/components/core/Container-Base/platforms/android/TokenMapping.kt +558 -0
- package/src/components/core/Container-Base/platforms/ios/ContainerBase.ios.swift +699 -0
- package/src/components/core/Container-Base/platforms/ios/TokenMapping.swift +493 -0
- package/src/components/core/Container-Base/platforms/web/ContainerBase.web.ts +405 -0
- package/src/components/core/Container-Base/platforms/web/styles.css +198 -0
- package/src/components/core/Container-Base/platforms/web/token-mapping.ts +573 -0
- package/src/components/core/Container-Base/tokens.ts +241 -0
- package/src/components/core/Container-Base/types.ts +307 -0
- package/src/components/core/Container-Card-Base/Container-Card-Base.schema.yaml +374 -0
- package/src/components/core/Container-Card-Base/README.md +506 -0
- package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.composition.test.ts +167 -0
- package/src/components/core/Container-Card-Base/__tests__/ContainerCardBase.test.ts +646 -0
- package/src/components/core/Container-Card-Base/component-meta.yaml +21 -0
- package/src/components/core/Container-Card-Base/contracts.yaml +129 -0
- package/src/components/core/Container-Card-Base/index.ts +64 -0
- package/src/components/core/Container-Card-Base/platforms/android/ContainerCardBase.android.kt +800 -0
- package/src/components/core/Container-Card-Base/platforms/ios/ContainerCardBase.ios.swift +962 -0
- package/src/components/core/Container-Card-Base/platforms/web/ContainerCardBase.web.ts +373 -0
- package/src/components/core/Container-Card-Base/tokens.ts +224 -0
- package/src/components/core/Container-Card-Base/types.ts +332 -0
- package/src/components/core/Icon-Base/Icon-Base.schema.yaml +206 -0
- package/src/components/core/Icon-Base/README.md +168 -0
- package/src/components/core/Icon-Base/__tests__/IconBase.test.ts +192 -0
- package/src/components/core/Icon-Base/component-meta.yaml +22 -0
- package/src/components/core/Icon-Base/contracts.yaml +89 -0
- package/src/components/core/Icon-Base/index.ts +34 -0
- package/src/components/core/Icon-Base/platforms/android/IconBase.android.kt +240 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/README.md +255 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/alert_circle.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_down.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_left.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_right.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/arrow_up.xml +17 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/award.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/bell.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/briefcase.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/calendar.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/check.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/check_circle.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/chevron_down.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/chevron_left.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/chevron_right.xml +12 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/circle.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/clock.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/credit_card.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/dollar_sign.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/external_link.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/eye.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/eye_off.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/file_text.xml +41 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/filter.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/globe.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/heart.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/info.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/mail.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/map_pin.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/minus.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/more_horizontal.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/more_vertical.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/phone.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/plus.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/refresh_cw.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/save.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/search.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/settings.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/share.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/share_2.xml +41 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/shield.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/smartphone.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/smile.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/star.xml +13 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/trending_up.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/user.xml +20 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/user_check.xml +27 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/user_x.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/users.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/wifi.xml +34 -0
- package/src/components/core/Icon-Base/platforms/android/res/drawable/x.xml +20 -0
- package/src/components/core/Icon-Base/platforms/ios/ASSET_CATALOG_SETUP.md +239 -0
- package/src/components/core/Icon-Base/platforms/ios/IconBase.ios.swift +296 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Contents.json +6 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/Contents.json +9 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/alert-circle.imageset/alert-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-down.imageset/arrow-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-left.imageset/arrow-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-right.imageset/arrow-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/arrow-up.imageset/arrow-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/award.imageset/award.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/bell.imageset/bell.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/briefcase.imageset/briefcase.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/calendar.imageset/calendar.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check-circle.imageset/check-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/check.imageset/check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-down.imageset/chevron-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-left.imageset/chevron-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/chevron-right.imageset/chevron-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/circle.imageset/circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/clock.imageset/clock.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/credit-card.imageset/credit-card.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/dollar-sign.imageset/dollar-sign.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/external-link.imageset/external-link.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye-off.imageset/eye-off.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/eye.imageset/eye.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/file-text.imageset/file-text.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/filter.imageset/filter.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/globe.imageset/globe.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/heart.imageset/heart.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/info.imageset/info.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/mail.imageset/mail.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/map-pin.imageset/map-pin.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/minus.imageset/minus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-horizontal.imageset/more-horizontal.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/more-vertical.imageset/more-vertical.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/phone.imageset/phone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/plus.imageset/plus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/refresh-cw.imageset/refresh-cw.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/save.imageset/save.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/search.imageset/search.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/settings.imageset/settings.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share-2.imageset/share-2.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/share.imageset/share.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/shield.imageset/shield.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smartphone.imageset/smartphone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/smile.imageset/smile.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/star.imageset/star.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/trending-up.imageset/trending-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-check.imageset/user-check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user-x.imageset/user-x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/user.imageset/user.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/users.imageset/users.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/wifi.imageset/wifi.svg +1 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/Contents.json +15 -0
- package/src/components/core/Icon-Base/platforms/ios/Icons.xcassets/Icons/x.imageset/x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/IconBase.web.ts +553 -0
- package/src/components/core/Icon-Base/platforms/web/assets/alert-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/arrow-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/award.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/bell.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/briefcase.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/calendar.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/check-circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/chevron-down.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/chevron-left.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/chevron-right.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/circle.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/clock.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/credit-card.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/dollar-sign.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/external-link.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/eye-off.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/eye.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/file-text.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/filter.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/globe.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/heart.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/info.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/mail.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/map-pin.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/minus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/more-horizontal.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/more-vertical.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/phone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/plus.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/refresh-cw.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/save.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/search.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/settings.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/share-2.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/share.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/shield.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/smartphone.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/smile.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/star.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/trending-up.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/user-check.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/user-x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/user.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/users.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/wifi.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/assets/x.svg +1 -0
- package/src/components/core/Icon-Base/platforms/web/styles.css +203 -0
- package/src/components/core/Icon-Base/types.ts +338 -0
- package/src/components/core/Input-Checkbox-Base/Input-Checkbox-Base.schema.yaml +147 -0
- package/src/components/core/Input-Checkbox-Base/README.md +390 -0
- package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.stemma.test.ts +552 -0
- package/src/components/core/Input-Checkbox-Base/__tests__/InputCheckboxBase.test.ts +878 -0
- package/src/components/core/Input-Checkbox-Base/checkbox-sizing.tokens.ts +37 -0
- package/src/components/core/Input-Checkbox-Base/component-meta.yaml +39 -0
- package/src/components/core/Input-Checkbox-Base/contracts.yaml +165 -0
- package/src/components/core/Input-Checkbox-Base/platforms/android/InputCheckboxBase.android.kt +777 -0
- package/src/components/core/Input-Checkbox-Base/platforms/ios/InputCheckboxBase.ios.swift +612 -0
- package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.css +477 -0
- package/src/components/core/Input-Checkbox-Base/platforms/web/InputCheckboxBase.web.ts +561 -0
- package/src/components/core/Input-Checkbox-Base/types.ts +399 -0
- package/src/components/core/Input-Checkbox-Legal/Input-Checkbox-Legal.schema.yaml +81 -0
- package/src/components/core/Input-Checkbox-Legal/README.md +554 -0
- package/src/components/core/Input-Checkbox-Legal/__tests__/InputCheckboxLegal.test.ts +727 -0
- package/src/components/core/Input-Checkbox-Legal/component-meta.yaml +39 -0
- package/src/components/core/Input-Checkbox-Legal/contracts.yaml +55 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/android/.gitkeep +2 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/android/InputCheckboxLegal.android.kt +408 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/ios/.gitkeep +2 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/ios/InputCheckboxLegal.ios.swift +387 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.css +112 -0
- package/src/components/core/Input-Checkbox-Legal/platforms/web/InputCheckboxLegal.web.ts +505 -0
- package/src/components/core/Input-Checkbox-Legal/types.ts +348 -0
- package/src/components/core/Input-Radio-Base/.gitkeep +2 -0
- package/src/components/core/Input-Radio-Base/Input-Radio-Base.schema.yaml +139 -0
- package/src/components/core/Input-Radio-Base/README.md +427 -0
- package/src/components/core/Input-Radio-Base/__tests__/.gitkeep +1 -0
- package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.form.test.ts +299 -0
- package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.stemma.test.ts +543 -0
- package/src/components/core/Input-Radio-Base/__tests__/InputRadioBase.test.ts +429 -0
- package/src/components/core/Input-Radio-Base/component-meta.yaml +28 -0
- package/src/components/core/Input-Radio-Base/contracts.yaml +140 -0
- package/src/components/core/Input-Radio-Base/platforms/android/InputRadioBase.android.kt +685 -0
- package/src/components/core/Input-Radio-Base/platforms/ios/.gitkeep +1 -0
- package/src/components/core/Input-Radio-Base/platforms/ios/InputRadioBase.ios.swift +567 -0
- package/src/components/core/Input-Radio-Base/platforms/web/.gitkeep +1 -0
- package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.css +504 -0
- package/src/components/core/Input-Radio-Base/platforms/web/InputRadioBase.web.ts +648 -0
- package/src/components/core/Input-Radio-Base/radio-sizing.tokens.ts +37 -0
- package/src/components/core/Input-Radio-Base/types.ts +362 -0
- package/src/components/core/Input-Radio-Set/Input-Radio-Set.schema.yaml +92 -0
- package/src/components/core/Input-Radio-Set/README.md +373 -0
- package/src/components/core/Input-Radio-Set/__tests__/.gitkeep +0 -0
- package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.stemma.test.ts +493 -0
- package/src/components/core/Input-Radio-Set/__tests__/InputRadioSet.test.ts +499 -0
- package/src/components/core/Input-Radio-Set/component-meta.yaml +44 -0
- package/src/components/core/Input-Radio-Set/contracts.yaml +100 -0
- package/src/components/core/Input-Radio-Set/platforms/android/.gitkeep +0 -0
- package/src/components/core/Input-Radio-Set/platforms/android/InputRadioSet.android.kt +363 -0
- package/src/components/core/Input-Radio-Set/platforms/ios/InputRadioSet.ios.swift +330 -0
- package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.css +99 -0
- package/src/components/core/Input-Radio-Set/platforms/web/InputRadioSet.web.ts +790 -0
- package/src/components/core/Input-Radio-Set/types.ts +301 -0
- package/src/components/core/Input-Text-Base/Input-Text-Base.schema.yaml +219 -0
- package/src/components/core/Input-Text-Base/README.md +235 -0
- package/src/components/core/Input-Text-Base/__tests__/focusIndicators.test.ts +310 -0
- package/src/components/core/Input-Text-Base/__tests__/keyboardNavigation.test.ts +444 -0
- package/src/components/core/Input-Text-Base/__tests__/labelAssociation.test.ts +418 -0
- package/src/components/core/Input-Text-Base/__tests__/screenReaderSupport.test.ts +405 -0
- package/src/components/core/Input-Text-Base/__tests__/setup.ts +17 -0
- package/src/components/core/Input-Text-Base/__tests__/stateManagement.test.ts +718 -0
- package/src/components/core/Input-Text-Base/__tests__/test-utils.ts +81 -0
- package/src/components/core/Input-Text-Base/__tests__/touchTargetSizing.test.ts +319 -0
- package/src/components/core/Input-Text-Base/component-meta.yaml +38 -0
- package/src/components/core/Input-Text-Base/contracts.yaml +149 -0
- package/src/components/core/Input-Text-Base/platforms/android/InputTextBase.android.kt +481 -0
- package/src/components/core/Input-Text-Base/platforms/ios/InputTextBase.ios.swift +507 -0
- package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.browser.ts +241 -0
- package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.css +293 -0
- package/src/components/core/Input-Text-Base/platforms/web/InputTextBase.web.ts +448 -0
- package/src/components/core/Input-Text-Base/stateManagement.ts +267 -0
- package/src/components/core/Input-Text-Base/tokens.ts +210 -0
- package/src/components/core/Input-Text-Base/types.ts +102 -0
- package/src/components/core/Input-Text-Email/Input-Text-Email.schema.yaml +247 -0
- package/src/components/core/Input-Text-Email/README.md +251 -0
- package/src/components/core/Input-Text-Email/__tests__/validation.test.ts +127 -0
- package/src/components/core/Input-Text-Email/component-meta.yaml +27 -0
- package/src/components/core/Input-Text-Email/contracts.yaml +47 -0
- package/src/components/core/Input-Text-Email/platforms/android/InputTextEmail.android.kt +197 -0
- package/src/components/core/Input-Text-Email/platforms/ios/InputTextEmail.ios.swift +291 -0
- package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.browser.ts +276 -0
- package/src/components/core/Input-Text-Email/platforms/web/InputTextEmail.web.ts +319 -0
- package/src/components/core/Input-Text-Email/stateManagement.ts +160 -0
- package/src/components/core/Input-Text-Email/tokens.ts +33 -0
- package/src/components/core/Input-Text-Email/types.ts +72 -0
- package/src/components/core/Input-Text-Email/validation.ts +130 -0
- package/src/components/core/Input-Text-Password/Input-Text-Password.schema.yaml +300 -0
- package/src/components/core/Input-Text-Password/README.md +359 -0
- package/src/components/core/Input-Text-Password/__tests__/validation.test.ts +362 -0
- package/src/components/core/Input-Text-Password/component-meta.yaml +28 -0
- package/src/components/core/Input-Text-Password/contracts.yaml +63 -0
- package/src/components/core/Input-Text-Password/platforms/android/InputTextPassword.android.kt +318 -0
- package/src/components/core/Input-Text-Password/platforms/ios/InputTextPassword.ios.swift +446 -0
- package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.browser.ts +434 -0
- package/src/components/core/Input-Text-Password/platforms/web/InputTextPassword.web.ts +503 -0
- package/src/components/core/Input-Text-Password/stateManagement.ts +244 -0
- package/src/components/core/Input-Text-Password/tokens.ts +32 -0
- package/src/components/core/Input-Text-Password/types.ts +177 -0
- package/src/components/core/Input-Text-Password/validation.ts +207 -0
- package/src/components/core/Input-Text-PhoneNumber/Input-Text-PhoneNumber.schema.yaml +326 -0
- package/src/components/core/Input-Text-PhoneNumber/README.md +275 -0
- package/src/components/core/Input-Text-PhoneNumber/__tests__/validation.test.ts +301 -0
- package/src/components/core/Input-Text-PhoneNumber/component-meta.yaml +28 -0
- package/src/components/core/Input-Text-PhoneNumber/contracts.yaml +62 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/android/InputTextPhoneNumber.android.kt +315 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/ios/InputTextPhoneNumber.ios.swift +419 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.browser.ts +370 -0
- package/src/components/core/Input-Text-PhoneNumber/platforms/web/InputTextPhoneNumber.web.ts +393 -0
- package/src/components/core/Input-Text-PhoneNumber/stateManagement.ts +250 -0
- package/src/components/core/Input-Text-PhoneNumber/tokens.ts +33 -0
- package/src/components/core/Input-Text-PhoneNumber/types.ts +135 -0
- package/src/components/core/Input-Text-PhoneNumber/validation.ts +302 -0
- package/src/components/core/Nav-Header-App/Nav-Header-App.schema.yaml +87 -0
- package/src/components/core/Nav-Header-App/README.md +29 -0
- package/src/components/core/Nav-Header-App/component-meta.yaml +19 -0
- package/src/components/core/Nav-Header-App/contracts.yaml +27 -0
- package/src/components/core/Nav-Header-App/index.ts +5 -0
- package/src/components/core/Nav-Header-App/platforms/android/NavHeaderApp.android.kt +28 -0
- package/src/components/core/Nav-Header-App/platforms/ios/NavHeaderApp.ios.swift +27 -0
- package/src/components/core/Nav-Header-App/platforms/web/NavHeaderApp.web.ts +37 -0
- package/src/components/core/Nav-Header-App/types.ts +32 -0
- package/src/components/core/Nav-Header-Base/Nav-Header-Base.schema.yaml +150 -0
- package/src/components/core/Nav-Header-Base/README.md +21 -0
- package/src/components/core/Nav-Header-Base/component-meta.yaml +15 -0
- package/src/components/core/Nav-Header-Base/contracts.yaml +178 -0
- package/src/components/core/Nav-Header-Base/index.ts +12 -0
- package/src/components/core/Nav-Header-Base/platforms/android/NavHeaderBase.android.kt +127 -0
- package/src/components/core/Nav-Header-Base/platforms/ios/NavHeaderBase.ios.swift +99 -0
- package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.styles.css +75 -0
- package/src/components/core/Nav-Header-Base/platforms/web/NavHeaderBase.web.ts +120 -0
- package/src/components/core/Nav-Header-Base/types.ts +63 -0
- package/src/components/core/Nav-Header-Page/Nav-Header-Page.schema.yaml +175 -0
- package/src/components/core/Nav-Header-Page/README.md +34 -0
- package/src/components/core/Nav-Header-Page/__tests__/NavHeaderPage.test.ts +250 -0
- package/src/components/core/Nav-Header-Page/component-meta.yaml +23 -0
- package/src/components/core/Nav-Header-Page/contracts.yaml +196 -0
- package/src/components/core/Nav-Header-Page/index.ts +12 -0
- package/src/components/core/Nav-Header-Page/platforms/android/NavHeaderPage.android.kt +169 -0
- package/src/components/core/Nav-Header-Page/platforms/ios/NavHeaderPage.ios.swift +196 -0
- package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.styles.css +90 -0
- package/src/components/core/Nav-Header-Page/platforms/web/NavHeaderPage.web.ts +169 -0
- package/src/components/core/Nav-Header-Page/types.ts +55 -0
- package/src/components/core/Nav-SegmentedChoice-Base/Nav-SegmentedChoice-Base.schema.yaml +203 -0
- package/src/components/core/Nav-SegmentedChoice-Base/README.md +327 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.android.test.ts +218 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.interaction.test.ts +419 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.ios.test.ts +207 -0
- package/src/components/core/Nav-SegmentedChoice-Base/__tests__/NavSegmentedChoiceBase.visual.test.ts +371 -0
- package/src/components/core/Nav-SegmentedChoice-Base/component-meta.yaml +20 -0
- package/src/components/core/Nav-SegmentedChoice-Base/contracts.yaml +435 -0
- package/src/components/core/Nav-SegmentedChoice-Base/index.ts +38 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/android/NavSegmentedChoiceBase.android.kt +389 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/ios/NavSegmentedChoiceBase.ios.swift +373 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.styles.css +160 -0
- package/src/components/core/Nav-SegmentedChoice-Base/platforms/web/NavSegmentedChoiceBase.web.ts +477 -0
- package/src/components/core/Nav-SegmentedChoice-Base/types.ts +65 -0
- package/src/components/core/Nav-TabBar-Base/Nav-TabBar-Base.schema.yaml +196 -0
- package/src/components/core/Nav-TabBar-Base/README.md +264 -0
- package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.android.test.ts +270 -0
- package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.ios.test.ts +221 -0
- package/src/components/core/Nav-TabBar-Base/__tests__/NavTabBarBase.test.ts +421 -0
- package/src/components/core/Nav-TabBar-Base/component-meta.yaml +20 -0
- package/src/components/core/Nav-TabBar-Base/contracts.yaml +412 -0
- package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.html +2 -0
- package/src/components/core/Nav-TabBar-Base/examples/BasicUsage.tsx +2 -0
- package/src/components/core/Nav-TabBar-Base/index.ts +20 -0
- package/src/components/core/Nav-TabBar-Base/platforms/android/NavTabBarBase.android.kt +375 -0
- package/src/components/core/Nav-TabBar-Base/platforms/ios/NavTabBarBase.ios.swift +377 -0
- package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.styles.css +281 -0
- package/src/components/core/Nav-TabBar-Base/platforms/web/NavTabBarBase.web.ts +420 -0
- package/src/components/core/Nav-TabBar-Base/types.ts +43 -0
- package/src/components/core/Progress-Bar-Base/Progress-Bar-Base.schema.yaml +101 -0
- package/src/components/core/Progress-Bar-Base/README.md +31 -0
- package/src/components/core/Progress-Bar-Base/__tests__/ProgressBarBase.test.ts +202 -0
- package/src/components/core/Progress-Bar-Base/component-meta.yaml +24 -0
- package/src/components/core/Progress-Bar-Base/contracts.yaml +132 -0
- package/src/components/core/Progress-Bar-Base/index.ts +6 -0
- package/src/components/core/Progress-Bar-Base/platforms/android/ProgressBarBase.android.kt +181 -0
- package/src/components/core/Progress-Bar-Base/platforms/ios/ProgressBarBase.ios.swift +141 -0
- package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.styles.css +52 -0
- package/src/components/core/Progress-Bar-Base/platforms/web/ProgressBarBase.web.ts +135 -0
- package/src/components/core/Progress-Bar-Base/types.ts +46 -0
- package/src/components/core/Progress-Indicator-Connector-Base/Progress-Indicator-Connector-Base.schema.yaml +69 -0
- package/src/components/core/Progress-Indicator-Connector-Base/README.md +169 -0
- package/src/components/core/Progress-Indicator-Connector-Base/component-meta.yaml +18 -0
- package/src/components/core/Progress-Indicator-Connector-Base/contracts.yaml +70 -0
- package/src/components/core/Progress-Indicator-Connector-Base/index.ts +33 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/android/ProgressIndicatorConnectorBase.android.kt +163 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/ios/ProgressIndicatorConnectorBase.ios.swift +154 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.styles.css +50 -0
- package/src/components/core/Progress-Indicator-Connector-Base/platforms/web/ProgressIndicatorConnectorBase.web.ts +141 -0
- package/src/components/core/Progress-Indicator-Connector-Base/types.ts +67 -0
- package/src/components/core/Progress-Indicator-Label-Base/Progress-Indicator-Label-Base.schema.yaml +78 -0
- package/src/components/core/Progress-Indicator-Label-Base/README.md +191 -0
- package/src/components/core/Progress-Indicator-Label-Base/component-meta.yaml +18 -0
- package/src/components/core/Progress-Indicator-Label-Base/contracts.yaml +76 -0
- package/src/components/core/Progress-Indicator-Label-Base/index.ts +28 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/android/ProgressIndicatorLabelBase.android.kt +153 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/ios/ProgressIndicatorLabelBase.ios.swift +153 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.styles.css +81 -0
- package/src/components/core/Progress-Indicator-Label-Base/platforms/web/ProgressIndicatorLabelBase.web.ts +174 -0
- package/src/components/core/Progress-Indicator-Label-Base/types.ts +64 -0
- package/src/components/core/Progress-Indicator-Node-Base/Progress-Indicator-Node-Base.schema.yaml +113 -0
- package/src/components/core/Progress-Indicator-Node-Base/README.md +206 -0
- package/src/components/core/Progress-Indicator-Node-Base/__tests__/VisualStates.test.ts +259 -0
- package/src/components/core/Progress-Indicator-Node-Base/component-meta.yaml +18 -0
- package/src/components/core/Progress-Indicator-Node-Base/contracts.yaml +96 -0
- package/src/components/core/Progress-Indicator-Node-Base/index.ts +36 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/android/ProgressIndicatorNodeBase.android.kt +294 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/ios/ProgressIndicatorNodeBase.ios.swift +260 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.styles.css +193 -0
- package/src/components/core/Progress-Indicator-Node-Base/platforms/web/ProgressIndicatorNodeBase.web.ts +226 -0
- package/src/components/core/Progress-Indicator-Node-Base/types.ts +142 -0
- package/src/components/core/Progress-Pagination-Base/Progress-Pagination-Base.schema.yaml +106 -0
- package/src/components/core/Progress-Pagination-Base/README.md +290 -0
- package/src/components/core/Progress-Pagination-Base/__tests__/PaginationBase.test.ts +290 -0
- package/src/components/core/Progress-Pagination-Base/component-meta.yaml +22 -0
- package/src/components/core/Progress-Pagination-Base/contracts.yaml +103 -0
- package/src/components/core/Progress-Pagination-Base/index.ts +40 -0
- package/src/components/core/Progress-Pagination-Base/platforms/android/ProgressPaginationBase.android.kt +215 -0
- package/src/components/core/Progress-Pagination-Base/platforms/ios/ProgressPaginationBase.ios.swift +214 -0
- package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.styles.css +80 -0
- package/src/components/core/Progress-Pagination-Base/platforms/web/ProgressPaginationBase.web.ts +293 -0
- package/src/components/core/Progress-Pagination-Base/types.ts +112 -0
- package/src/components/core/Progress-Stepper-Base/Progress-Stepper-Base.schema.yaml +105 -0
- package/src/components/core/Progress-Stepper-Base/README.md +311 -0
- package/src/components/core/Progress-Stepper-Base/__tests__/StepperBase.test.ts +342 -0
- package/src/components/core/Progress-Stepper-Base/component-meta.yaml +22 -0
- package/src/components/core/Progress-Stepper-Base/contracts.yaml +101 -0
- package/src/components/core/Progress-Stepper-Base/index.ts +43 -0
- package/src/components/core/Progress-Stepper-Base/platforms/android/ProgressStepperBase.android.kt +244 -0
- package/src/components/core/Progress-Stepper-Base/platforms/ios/ProgressStepperBase.ios.swift +240 -0
- package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.styles.css +49 -0
- package/src/components/core/Progress-Stepper-Base/platforms/web/ProgressStepperBase.web.ts +288 -0
- package/src/components/core/Progress-Stepper-Base/types.ts +175 -0
- package/src/components/core/Progress-Stepper-Detailed/Progress-Stepper-Detailed.schema.yaml +107 -0
- package/src/components/core/Progress-Stepper-Detailed/README.md +401 -0
- package/src/components/core/Progress-Stepper-Detailed/__tests__/StepperDetailed.test.ts +478 -0
- package/src/components/core/Progress-Stepper-Detailed/component-meta.yaml +22 -0
- package/src/components/core/Progress-Stepper-Detailed/contracts.yaml +122 -0
- package/src/components/core/Progress-Stepper-Detailed/index.ts +48 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/android/ProgressStepperDetailed.android.kt +352 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/ios/ProgressStepperDetailed.ios.swift +353 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.styles.css +106 -0
- package/src/components/core/Progress-Stepper-Detailed/platforms/web/ProgressStepperDetailed.web.ts +336 -0
- package/src/components/core/Progress-Stepper-Detailed/types.ts +195 -0
- package/src/composition/BlendComposition.ts +46 -0
- package/src/composition/BlendCompositionParser.ts +215 -0
- package/src/composition/OpacityComposition.ts +62 -0
- package/src/composition/OpacityCompositionParser.ts +308 -0
- package/src/composition/__tests__/BlendCompositionParser.test.ts +431 -0
- package/src/composition/__tests__/OpacityCompositionParser.test.ts +539 -0
- package/src/composition/index.ts +20 -0
- package/src/config/ConfigLoader.ts +143 -0
- package/src/config/__resolution-matrix__/README.md +76 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-cjs/compiled/defineConfig.js +9 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-cjs/designerpunk.config.ts +20 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-cjs/my-overrides.ts +8 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-esm/compiled/defineConfig.js +11 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-esm/designerpunk.config.ts +23 -0
- package/src/config/__resolution-matrix__/fixtures/faithful-esm/my-overrides.ts +6 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/designerpunk.config.ts +11 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-cjs/src/config/index.ts +15 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-esm/designerpunk.config.ts +15 -0
- package/src/config/__resolution-matrix__/fixtures/source-dir-esm/src/config/index.ts +13 -0
- package/src/config/__resolution-matrix__/run-matrix.js +107 -0
- package/src/config/__resolution-matrix__/runner.js +153 -0
- package/src/config/__resolution-matrix__/verify-real-loadconfig.js +122 -0
- package/src/config/__tests__/ConfigLoader.test.ts +115 -0
- package/src/config/defineConfig.ts +71 -0
- package/src/config/index.ts +7 -0
- package/src/config/scopedTsRequire.ts +62 -0
- package/src/constants/BaselineGrid.ts +41 -0
- package/src/constants/SpacingTokens.ts +55 -0
- package/src/constants/StrategicFlexibilityTokens.ts +98 -0
- package/src/figma/ComponentAnalysis.ts +292 -0
- package/src/figma/ComponentAnalysisGenerator.ts +444 -0
- package/src/figma/ConsoleMCPClient.ts +168 -0
- package/src/figma/ConsoleMCPClientImpl.ts +1034 -0
- package/src/figma/DesignExtractor.ts +3620 -0
- package/src/figma/TokenSyncWorkflow.ts +915 -0
- package/src/figma/TokenTranslator.ts +891 -0
- package/src/figma/VariantAnalyzer.ts +712 -0
- package/src/figma/__tests__/ComponentAnalysisGenerator.json.test.ts +429 -0
- package/src/figma/__tests__/ComponentAnalysisGenerator.markdown.test.ts +428 -0
- package/src/figma/__tests__/ConsoleMCPClient.bugfix.test.ts +261 -0
- package/src/figma/__tests__/ConsoleMCPClient.preservation.test.ts +395 -0
- package/src/figma/__tests__/ConsoleMCPClient.test.ts +375 -0
- package/src/figma/__tests__/DesignExtractor.boundVariableResolution.test.ts +580 -0
- package/src/figma/__tests__/DesignExtractor.buildNodeTree.test.ts +535 -0
- package/src/figma/__tests__/DesignExtractor.captureComponentScreenshot.test.ts +176 -0
- package/src/figma/__tests__/DesignExtractor.detectBehavioralContracts.test.ts +263 -0
- package/src/figma/__tests__/DesignExtractor.detectComponentTokenDecisions.test.ts +379 -0
- package/src/figma/__tests__/DesignExtractor.detectCompositionPatterns.test.ts +507 -0
- package/src/figma/__tests__/DesignExtractor.detectPlatformParity.test.ts +406 -0
- package/src/figma/__tests__/DesignExtractor.queryContext.test.ts +214 -0
- package/src/figma/__tests__/DesignExtractor.readFigmaComponent.test.ts +431 -0
- package/src/figma/__tests__/DesignExtractor.readStyles.test.ts +204 -0
- package/src/figma/__tests__/DesignExtractor.readTokenBindings.test.ts +268 -0
- package/src/figma/__tests__/DesignExtractor.reconstructCompositeTokens.test.ts +403 -0
- package/src/figma/__tests__/DesignExtractor.resolveUnknownVariableIds.test.ts +259 -0
- package/src/figma/__tests__/DesignExtractor.translateTokens.test.ts +433 -0
- package/src/figma/__tests__/DesignExtractor.validateModes.test.ts +350 -0
- package/src/figma/__tests__/TokenSyncWorkflow.batch.test.ts +277 -0
- package/src/figma/__tests__/TokenSyncWorkflow.drift.test.ts +187 -0
- package/src/figma/__tests__/TokenSyncWorkflow.preservation.test.ts +544 -0
- package/src/figma/__tests__/TokenSyncWorkflow.styles.test.ts +245 -0
- package/src/figma/__tests__/TokenSyncWorkflow.sync.test.ts +217 -0
- package/src/figma/__tests__/TokenTranslator.test.ts +757 -0
- package/src/figma/__tests__/VariantAnalyzer.detectConflicts.test.ts +126 -0
- package/src/figma/__tests__/VariantAnalyzer.test.ts +633 -0
- package/src/figma/__tests__/error-reporting.test.ts +254 -0
- package/src/figma/__tests__/preflight.test.ts +94 -0
- package/src/figma/error-reporting.ts +260 -0
- package/src/figma/index.ts +98 -0
- package/src/figma/portCleanup.ts +86 -0
- package/src/figma/preflight.ts +120 -0
- package/src/generators/BlendUtilityGenerator.ts +847 -0
- package/src/generators/BlendValueGenerator.ts +198 -0
- package/src/generators/DTCGFormatGenerator.ts +1349 -0
- package/src/generators/DTCGGeneratorConfig.ts +46 -0
- package/src/generators/ModeResolvedTokens.ts +58 -0
- package/src/generators/ResponsiveGridGenerator.ts +273 -0
- package/src/generators/TokenFileGenerator.ts +2070 -0
- package/src/generators/__tests__/AccessibilityTokenGeneration.test.ts +350 -0
- package/src/generators/__tests__/BlendUtilityGenerator.test.ts +829 -0
- package/src/generators/__tests__/BlendValueGenerator.test.ts +200 -0
- package/src/generators/__tests__/BreakpointTokenGeneration.test.ts +172 -0
- package/src/generators/__tests__/CSSThemeScoping.test.ts +153 -0
- package/src/generators/__tests__/DTCGConfigOptions.test.ts +262 -0
- package/src/generators/__tests__/DTCGErrorHandling.test.ts +139 -0
- package/src/generators/__tests__/DTCGFormatGenerator.integration.test.ts +346 -0
- package/src/generators/__tests__/DTCGFormatGenerator.property.test.ts +497 -0
- package/src/generators/__tests__/DTCGFormatGenerator.test.ts +469 -0
- package/src/generators/__tests__/FigmaTransformer.styles.test.ts +398 -0
- package/src/generators/__tests__/FigmaTransformer.variables.test.ts +540 -0
- package/src/generators/__tests__/GridSpacingTokenGeneration.test.ts +254 -0
- package/src/generators/__tests__/IconTokenGeneration.test.ts +452 -0
- package/src/generators/__tests__/KotlinThemeTypes.test.ts +110 -0
- package/src/generators/__tests__/ModeAwareGeneration.test.ts +160 -0
- package/src/generators/__tests__/NativeOklchOutput.test.ts +56 -0
- package/src/generators/__tests__/OklchExport.test.ts +71 -0
- package/src/generators/__tests__/ProductRepoSimulation.test.ts +91 -0
- package/src/generators/__tests__/ResponsiveGridGeneration.test.ts +291 -0
- package/src/generators/__tests__/Spec076TokenMigration.test.ts +106 -0
- package/src/generators/__tests__/Spec077ModesVerification.test.ts +52 -0
- package/src/generators/__tests__/SwiftThemeTypes.test.ts +122 -0
- package/src/generators/__tests__/TokenFileGenerator.test.ts +914 -0
- package/src/generators/__tests__/TransformerRegistry.test.ts +118 -0
- package/src/generators/__tests__/WcagValueExportSupport.test.ts +84 -0
- package/src/generators/__tests__/WcagValueInfrastructure.test.ts +122 -0
- package/src/generators/__tests__/WebOklchOutput.test.ts +72 -0
- package/src/generators/__tests__/generateTokenIndex.test.ts +204 -0
- package/src/generators/__tests__/helpers/defaultSemanticOptions.ts +24 -0
- package/src/generators/generateTokenFiles.ts +337 -0
- package/src/generators/generateTokenIndex.ts +258 -0
- package/src/generators/oklch/OklchExportUtils.ts +57 -0
- package/src/generators/oklch/OklchTokenIndexMetadata.ts +30 -0
- package/src/generators/transformers/FigmaTransformer.ts +912 -0
- package/src/generators/transformers/ITokenTransformer.ts +56 -0
- package/src/generators/transformers/TransformerRegistry.ts +63 -0
- package/src/generators/transformers/index.ts +52 -0
- package/src/generators/types/DTCGTypes.ts +101 -0
- package/src/integration/BuildErrorHandler.ts +440 -0
- package/src/integration/BuildSystemInterface.ts +338 -0
- package/src/integration/PlatformFileSelector.ts +288 -0
- package/src/integration/RegistryCoordinator.ts +404 -0
- package/src/integration/TranslationCoordinator.ts +458 -0
- package/src/integration/TreeShakingOptimizer.ts +350 -0
- package/src/integration/ValidationCoordinator.ts +780 -0
- package/src/integration/__tests__/ComponentTokenValidation.test.ts +762 -0
- package/src/integration/__tests__/ValidationCoordinator.test.ts +609 -0
- package/src/integration/__tests__/performance/ComponentTokenValidationPerformance.test.ts +161 -0
- package/src/integration/index.ts +55 -0
- package/src/naming/NamingConventionManager.ts +318 -0
- package/src/naming/PlatformNamingRules.ts +278 -0
- package/src/naming/__tests__/NamingConventions.test.ts +224 -0
- package/src/naming/index.ts +23 -0
- package/src/parent-completion.md +1 -0
- package/src/performance/CachingStrategy.ts +426 -0
- package/src/performance/FileGenerationOptimizer.ts +294 -0
- package/src/performance/PerformanceMonitor.ts +185 -0
- package/src/performance/PerformanceOptimizer.ts +348 -0
- package/src/performance/index.ts +30 -0
- package/src/providers/AndroidFileOrganizer.ts +241 -0
- package/src/providers/AndroidFormatGenerator.ts +750 -0
- package/src/providers/AndroidUnitConverter.ts +177 -0
- package/src/providers/FormatProvider.ts +187 -0
- package/src/providers/PathProvider.ts +197 -0
- package/src/providers/UnitProvider.ts +106 -0
- package/src/providers/WebFileOrganizer.ts +121 -0
- package/src/providers/WebFormatGenerator.ts +611 -0
- package/src/providers/WebUnitConverter.ts +116 -0
- package/src/providers/__tests__/AndroidAccessibilityTokens.test.ts +86 -0
- package/src/providers/__tests__/AndroidFormatGenerator-semantic.test.ts +494 -0
- package/src/providers/__tests__/FormatProviders.test.ts +828 -0
- package/src/providers/__tests__/InsetTokenGeneration.test.ts +627 -0
- package/src/providers/__tests__/PathProviders.test.ts +512 -0
- package/src/providers/__tests__/PlatformOutputFormat.test.ts +252 -0
- package/src/providers/__tests__/UnitProviders.test.ts +721 -0
- package/src/providers/__tests__/WebFormatGenerator-semantic.test.ts +293 -0
- package/src/providers/__tests__/iOSFormatGenerator-semantic.test.ts +410 -0
- package/src/providers/iOSFileOrganizer.ts +162 -0
- package/src/providers/iOSFormatGenerator.ts +599 -0
- package/src/providers/iOSUnitConverter.ts +125 -0
- package/src/providers/index.ts +26 -0
- package/src/registries/ComponentTokenRegistry.ts +292 -0
- package/src/registries/IRegistry.ts +170 -0
- package/src/registries/PrimitiveTokenRegistry.ts +200 -0
- package/src/registries/SemanticTokenRegistry.ts +237 -0
- package/src/registries/__tests__/ComponentTokenRegistry.test.ts +446 -0
- package/src/registries/__tests__/IRegistry.test.ts +250 -0
- package/src/registries/__tests__/PrimitiveTokenRegistry.test.ts +342 -0
- package/src/registries/__tests__/SemanticTokenRegistry.test.ts +444 -0
- package/src/resolvers/AndroidColorResolver.ts +333 -0
- package/src/resolvers/ModeThemeResolver.ts +152 -0
- package/src/resolvers/SemanticOverrideResolver.ts +155 -0
- package/src/resolvers/SemanticValueResolver.ts +133 -0
- package/src/resolvers/WebColorResolver.ts +240 -0
- package/src/resolvers/__tests__/AndroidColorResolver.test.ts +507 -0
- package/src/resolvers/__tests__/ModeThemeResolver.test.ts +411 -0
- package/src/resolvers/__tests__/SemanticOverrideResolver.test.ts +186 -0
- package/src/resolvers/__tests__/WebColorResolver.test.ts +405 -0
- package/src/resolvers/__tests__/iOSColorResolver.test.ts +432 -0
- package/src/resolvers/iOSColorResolver.ts +224 -0
- package/src/resolvers/index.ts +11 -0
- package/src/security/AIAgentRestrictions.ts +298 -0
- package/src/security/ContaminationAuditor.ts +393 -0
- package/src/security/ContaminationPrevention.ts +275 -0
- package/src/security/DocumentationGuard.ts +258 -0
- package/src/security/FlexibilityTokenGuard.ts +256 -0
- package/src/security/HumanApprovalWorkflow.ts +319 -0
- package/src/security/__tests__/AIAgentRestrictions.test.ts +482 -0
- package/src/security/__tests__/ContaminationPrevention.test.ts +424 -0
- package/src/security/__tests__/SecurityIntegration.test.ts +505 -0
- package/src/security/index.ts +48 -0
- package/src/styles/responsive-grid-usage.md +992 -0
- package/src/styles/responsive-grid.css +200 -0
- package/src/testing/__tests__/utilities.test.ts +175 -0
- package/src/testing/index.ts +154 -0
- package/src/testing/jest-preset.ts +62 -0
- package/src/testing/style-mock.ts +7 -0
- package/src/testing/validators.ts +10 -0
- package/src/themes/ResolvedThemeSet.ts +22 -0
- package/src/themes/ThemeRegistry.ts +97 -0
- package/src/themes/__tests__/ThemeRegistry.test.ts +162 -0
- package/src/tokens/BlendTokens.ts +132 -0
- package/src/tokens/BlurTokens.ts +154 -0
- package/src/tokens/BorderWidthTokens.ts +101 -0
- package/src/tokens/BreakpointTokens.ts +101 -0
- package/src/tokens/ColorTokens.ts +2162 -0
- package/src/tokens/DensityTokens.ts +119 -0
- package/src/tokens/DurationTokens.ts +111 -0
- package/src/tokens/EasingTokens.ts +163 -0
- package/src/tokens/FontFamilyTokens.ts +95 -0
- package/src/tokens/FontSizeTokens.ts +197 -0
- package/src/tokens/FontWeightTokens.ts +166 -0
- package/src/tokens/GlowOpacityTokens.ts +113 -0
- package/src/tokens/LetterSpacingTokens.ts +114 -0
- package/src/tokens/LineHeightTokens.ts +200 -0
- package/src/tokens/OpacityTokens.ts +233 -0
- package/src/tokens/RadiusTokens.ts +236 -0
- package/src/tokens/ScaleTokens.ts +167 -0
- package/src/tokens/ShadowOffsetTokens.ts +279 -0
- package/src/tokens/ShadowOpacityTokens.ts +118 -0
- package/src/tokens/SizingTokens.ts +221 -0
- package/src/tokens/SpacingTokens.ts +255 -0
- package/src/tokens/TapAreaTokens.ts +124 -0
- package/src/tokens/__tests__/AIReadableMathematicalRelationships.test.ts +298 -0
- package/src/tokens/__tests__/BlendTokens.test.ts +357 -0
- package/src/tokens/__tests__/BlurTokens.test.ts +109 -0
- package/src/tokens/__tests__/BorderWidthTokens.test.ts +394 -0
- package/src/tokens/__tests__/ColorTokens.test.ts +847 -0
- package/src/tokens/__tests__/FontFamilyTokens.test.ts +308 -0
- package/src/tokens/__tests__/FontSizeTokensFormulaValidation.test.ts +176 -0
- package/src/tokens/__tests__/FontWeightTokens.test.ts +336 -0
- package/src/tokens/__tests__/LetterSpacingTokens.test.ts +359 -0
- package/src/tokens/__tests__/LineHeightTokensFormulaValidation.test.ts +235 -0
- package/src/tokens/__tests__/MotionTokens.property.test.ts +638 -0
- package/src/tokens/__tests__/MotionTokens.test.ts +431 -0
- package/src/tokens/__tests__/OpacityTokens.test.ts +370 -0
- package/src/tokens/__tests__/ProgressTokenCompliance.test.ts +163 -0
- package/src/tokens/__tests__/ProgressTokenFormulas.test.ts +93 -0
- package/src/tokens/__tests__/ProgressTokenTranslation.test.ts +170 -0
- package/src/tokens/__tests__/RadiusStrategicFlexibilityValidation.test.ts +133 -0
- package/src/tokens/__tests__/RadiusTokensFormulaValidation.test.ts +240 -0
- package/src/tokens/__tests__/ShadowOffsetTokens.test.ts +407 -0
- package/src/tokens/__tests__/SizingTokens.test.ts +132 -0
- package/src/tokens/__tests__/SpacingTokensFormulaValidation.test.ts +205 -0
- package/src/tokens/__tests__/TokenCategories.test.ts +602 -0
- package/src/tokens/__tests__/chromatic-channels.test.ts +57 -0
- package/src/tokens/__tests__/composed-colors.test.ts +62 -0
- package/src/tokens/__tests__/neutral-partition.test.ts +119 -0
- package/src/tokens/__tests__/portability-boundary.test.ts +60 -0
- package/src/tokens/color/channels/chroma/chromatic.ts +67 -0
- package/src/tokens/color/channels/chroma/neutral.ts +35 -0
- package/src/tokens/color/channels/hues.ts +29 -0
- package/src/tokens/color/channels/index.ts +21 -0
- package/src/tokens/color/channels/lightness/chromatic.ts +68 -0
- package/src/tokens/color/channels/lightness/neutral.ts +36 -0
- package/src/tokens/color/index.ts +31 -0
- package/src/tokens/color/primitives/chromatic.ts +64 -0
- package/src/tokens/color/primitives/neutral.ts +45 -0
- package/src/tokens/component/progress.ts +153 -0
- package/src/tokens/index.ts +383 -0
- package/src/tokens/platforms/android/MotionTokens.kt +322 -0
- package/src/tokens/platforms/android/MotionTokens.md +0 -0
- package/src/tokens/platforms/ios/MotionTokens.md +322 -0
- package/src/tokens/platforms/ios/MotionTokens.swift +253 -0
- package/src/tokens/semantic/AccessibilityTokens.README.md +1070 -0
- package/src/tokens/semantic/AccessibilityTokens.ts +219 -0
- package/src/tokens/semantic/BlendTokens.ts +225 -0
- package/src/tokens/semantic/BorderWidthTokens.ts +162 -0
- package/src/tokens/semantic/ColorTokens.ts +866 -0
- package/src/tokens/semantic/ElevationTokens.ts +177 -0
- package/src/tokens/semantic/GridSpacingTokens.ts +147 -0
- package/src/tokens/semantic/IconTokens.ts +342 -0
- package/src/tokens/semantic/LayeringTokens.ts +167 -0
- package/src/tokens/semantic/MotionTokens.ts +143 -0
- package/src/tokens/semantic/OpacityTokens.ts +89 -0
- package/src/tokens/semantic/RadiusTokens.ts +242 -0
- package/src/tokens/semantic/ShadowTokens.ts +442 -0
- package/src/tokens/semantic/SpacingTokens.ts +274 -0
- package/src/tokens/semantic/StyleTokens.ts +22 -0
- package/src/tokens/semantic/TypographyTokens.ts +399 -0
- package/src/tokens/semantic/ZIndexTokens.ts +124 -0
- package/src/tokens/semantic/__tests__/AccessibilityTokens.test.ts +222 -0
- package/src/tokens/semantic/__tests__/BlendTokens.test.ts +377 -0
- package/src/tokens/semantic/__tests__/BorderWidthTokens.test.ts +141 -0
- package/src/tokens/semantic/__tests__/ColorTokens.test.ts +1391 -0
- package/src/tokens/semantic/__tests__/IconTokens.test.ts +769 -0
- package/src/tokens/semantic/__tests__/MotionTokens.test.ts +313 -0
- package/src/tokens/semantic/__tests__/OpacityTokens.test.ts +183 -0
- package/src/tokens/semantic/__tests__/SemanticTokenIntegration.test.ts +426 -0
- package/src/tokens/semantic/__tests__/ValidatePrimitiveReferences.test.ts +382 -0
- package/src/tokens/semantic/index.ts +611 -0
- package/src/tokens/themes/dark/SemanticOverrides.ts +168 -0
- package/src/tokens/themes/dark-wcag/SemanticOverrides.ts +21 -0
- package/src/tokens/themes/types.ts +26 -0
- package/src/tokens/themes/wcag/SemanticOverrides.ts +28 -0
- package/src/tools/ThemeFileGenerator.ts +109 -0
- package/src/tools/integrity/DiskFreshGenerator.ts +36 -0
- package/src/tools/integrity/GenerationIntegrityCheck.ts +132 -0
- package/src/tools/integrity/Invariants.ts +228 -0
- package/src/tools/integrity/Normalizer.ts +94 -0
- package/src/tools/integrity/SemanticComparator.ts +127 -0
- package/src/tools/integrity/__tests__/GenerationIntegrityCheck.test.ts +132 -0
- package/src/tools/integrity/__tests__/Invariants.test.ts +142 -0
- package/src/tools/integrity/__tests__/Normalizer.test.ts +65 -0
- package/src/tools/integrity/__tests__/SemanticComparator.test.ts +62 -0
- package/src/tools/integrity/__tests__/consumer-package-mode.test.ts +205 -0
- package/src/tools/integrity/cli/run-audit.ts +150 -0
- package/src/tools/integrity/inventory.ts +51 -0
- package/src/tools/integrity/manifest.ts +56 -0
- package/src/tools/integrity/types/index.ts +183 -0
- package/src/tools/release/__tests__/ChangeClassifier.test.ts +133 -0
- package/src/tools/release/__tests__/ChangeExtractor.test.ts +222 -0
- package/src/tools/release/__tests__/GitHubPublisher.test.ts +240 -0
- package/src/tools/release/__tests__/NotesRenderer.test.ts +142 -0
- package/src/tools/release/__tests__/NpmPublisher.test.ts +289 -0
- package/src/tools/release/__tests__/PipelineIntegration.test.ts +188 -0
- package/src/tools/release/__tests__/ReleasePipeline.test.ts +192 -0
- package/src/tools/release/__tests__/SemanticVersionValidator.test.ts +49 -0
- package/src/tools/release/__tests__/SummaryScanner.test.ts +141 -0
- package/src/tools/release/__tests__/TagResolver.test.ts +91 -0
- package/src/tools/release/__tests__/VersionCalculator.test.ts +270 -0
- package/src/tools/release/__tests__/helpers/NpmMockHelper.ts +80 -0
- package/src/tools/release/cli/ReleasePipeline.ts +165 -0
- package/src/tools/release/cli/release-tool.ts +107 -0
- package/src/tools/release/pipeline/ChangeClassifier.ts +61 -0
- package/src/tools/release/pipeline/ChangeExtractor.ts +87 -0
- package/src/tools/release/pipeline/NotesRenderer.ts +66 -0
- package/src/tools/release/pipeline/SummaryScanner.ts +70 -0
- package/src/tools/release/pipeline/TagResolver.ts +40 -0
- package/src/tools/release/pipeline/VersionCalculator.ts +375 -0
- package/src/tools/release/publishers/GitHubPublisher.ts +228 -0
- package/src/tools/release/publishers/NpmPublisher.ts +196 -0
- package/src/tools/release/release-config.json +5 -0
- package/src/tools/release/types/index.ts +282 -0
- package/src/tools/release/validators/SemanticVersionValidator.ts +67 -0
- package/src/types/ComponentTypes.ts +76 -0
- package/src/types/PrimitiveToken.ts +112 -0
- package/src/types/SemanticToken.ts +91 -0
- package/src/types/TranslationOutput.ts +105 -0
- package/src/types/ValidationResult.ts +74 -0
- package/src/types/__tests__/ComponentTypes.test.ts +73 -0
- package/src/types/css.d.ts +35 -0
- package/src/types/generated/TokenTypes.ts +142 -0
- package/src/types/index.ts +42 -0
- package/src/validators/BaselineGridValidator.ts +119 -0
- package/src/validators/CompositionPatternValidator.ts +259 -0
- package/src/validators/CrossPlatformConsistencyValidator.ts +498 -0
- package/src/validators/ErrorValidator.ts +998 -0
- package/src/validators/IValidator.ts +273 -0
- package/src/validators/MathematicalRelationshipParser.ts +434 -0
- package/src/validators/ModeParity.ts +123 -0
- package/src/validators/PassValidator.ts +533 -0
- package/src/validators/PlatformConstraintHandler.ts +453 -0
- package/src/validators/PrimitiveReferenceValidator.ts +284 -0
- package/src/validators/SemanticTokenValidator.ts +496 -0
- package/src/validators/StemmaComponentNamingValidator.ts +524 -0
- package/src/validators/StemmaErrorGuidanceSystem.ts +1600 -0
- package/src/validators/StemmaPropertyAccessibilityValidator.ts +823 -0
- package/src/validators/StemmaTokenUsageValidator.ts +650 -0
- package/src/validators/SyntaxValidator.ts +537 -0
- package/src/validators/ThreeTierValidator.ts +822 -0
- package/src/validators/ToleranceCalculator.ts +324 -0
- package/src/validators/ValidationReasoning.ts +464 -0
- package/src/validators/WCAGValidator.ts +219 -0
- package/src/validators/WarningValidator.ts +626 -0
- package/src/validators/__tests__/BaselineGridValidator.test.ts +292 -0
- package/src/validators/__tests__/BorderWidthValidation.test.ts +595 -0
- package/src/validators/__tests__/CompositionPatterns.test.ts +463 -0
- package/src/validators/__tests__/CrossPlatformConsistency.test.ts +834 -0
- package/src/validators/__tests__/IValidator.test.ts +258 -0
- package/src/validators/__tests__/MathematicalRelationshipParser.test.ts +465 -0
- package/src/validators/__tests__/PlatformConstraints.test.ts +486 -0
- package/src/validators/__tests__/SemanticTokenValidator.test.ts +723 -0
- package/src/validators/__tests__/StemmaComponentNamingValidator.test.ts +597 -0
- package/src/validators/__tests__/StemmaErrorGuidanceSystem.test.ts +717 -0
- package/src/validators/__tests__/StemmaPropertyAccessibilityValidator.test.ts +349 -0
- package/src/validators/__tests__/StemmaTokenUsageValidator.test.ts +432 -0
- package/src/validators/__tests__/SyntaxValidator.test.ts +360 -0
- package/src/validators/__tests__/ThreeTierValidator.test.ts +906 -0
- package/src/validators/__tests__/ValidationReasoning.test.ts +636 -0
- package/src/validators/__tests__/WCAGValidator.test.ts +243 -0
- package/src/validators/buildValidation.ts +170 -0
- package/src/validators/index.ts +144 -0
- package/src/workflows/ConsistencyValidator.ts +339 -0
- package/src/workflows/TokenGenerationWorkflow.ts +460 -0
- package/src/workflows/ValidationPipeline.ts +284 -0
- package/src/workflows/WorkflowErrorHandler.ts +441 -0
- package/token-index/README.md +32 -0
- package/token-index/components.yaml +265 -0
- package/token-index/primitives.yaml +2761 -0
- package/token-index/semantics.yaml +2421 -0
|
@@ -0,0 +1,2988 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: process-spec-planning
|
|
3
|
+
inclusion: manual
|
|
4
|
+
name: Process-Spec-Planning
|
|
5
|
+
description: Standards for creating spec documents — requirements format (EARS patterns, INCOSE quality rules), design document structure, tasks document format with task type classification, validation tiers, and completion documentation paths. Load when creating or updating requirements.md, design.md, or tasks.md.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Spec Planning Standards
|
|
9
|
+
|
|
10
|
+
**Date**: 2025-01-10
|
|
11
|
+
**Updated**: October 20, 2025
|
|
12
|
+
**Last Reviewed**: 2025-12-15
|
|
13
|
+
**Purpose**: Standards for creating requirements, design, and task documents for feature specifications
|
|
14
|
+
**Organization**: process-standard
|
|
15
|
+
**Scope**: cross-project
|
|
16
|
+
**Layer**: 2
|
|
17
|
+
**Relevant Tasks**: spec-creation
|
|
18
|
+
|
|
19
|
+
## AI Agent Reading Priorities
|
|
20
|
+
|
|
21
|
+
**Note**: This section intentionally uses the same heading as other steering documents because each document provides reading priorities specific to its content. This structural pattern enables progressive disclosure and helps AI agents navigate to relevant sections efficiently.
|
|
22
|
+
|
|
23
|
+
**This document is comprehensive but NOT all sections are needed for every task. Read strategically based on what you're doing RIGHT NOW.**
|
|
24
|
+
|
|
25
|
+
**Layer Context**: This is a Layer 2 (Frameworks and Patterns) document that provides systematic spec creation methodology. It's conditionally loaded when creating or updating specs, and contains extensive sections for different spec phases (requirements, design, tasks, execution).
|
|
26
|
+
|
|
27
|
+
### WHEN Creating Requirements Document THEN Read:
|
|
28
|
+
1. ✅ **Requirements Document Format** (MUST READ)
|
|
29
|
+
2. ✅ **Spec Workflow: Phase 1** (scroll to Spec Workflow section)
|
|
30
|
+
3. ❌ **SKIP**: Design format, Tasks format, Validation system, Documentation system, Rationale
|
|
31
|
+
|
|
32
|
+
### WHEN Creating Component Spec (Button, Input, Card, etc.) THEN Also Query:
|
|
33
|
+
|
|
34
|
+
**In addition to the standard requirements/design/tasks sections above**, query these MCP documents for component-specific patterns:
|
|
35
|
+
|
|
36
|
+
1. ✅ **Component-Templates** - Query "Behavioral Contract Templates" section for:
|
|
37
|
+
- Interaction contracts (Focusable, Pressable, Hoverable)
|
|
38
|
+
- State contracts (Disabled, Error, Success, Loading)
|
|
39
|
+
- Accessibility contracts (Focus Ring, Reduced Motion, Screen Reader Hidden)
|
|
40
|
+
- Visual contracts (Pressed State, Float Label Animation)
|
|
41
|
+
|
|
42
|
+
2. ✅ **Component-Quick-Reference** - Query for:
|
|
43
|
+
- Stemma System naming conventions
|
|
44
|
+
- Common composition patterns
|
|
45
|
+
- Component documentation map
|
|
46
|
+
|
|
47
|
+
**MCP Queries**:
|
|
48
|
+
```
|
|
49
|
+
get_section({ path: ".kiro/steering/Component-Templates.md", heading: "Behavioral Contract Templates" })
|
|
50
|
+
get_section({ path: ".kiro/steering/Component-Quick-Reference.md", heading: "Naming Convention" })
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Why**: Component specs need behavioral contracts for interaction states, accessibility patterns, and platform-specific behaviors that generic spec guidance doesn't cover.
|
|
54
|
+
|
|
55
|
+
### WHEN Creating Design Document THEN Read:
|
|
56
|
+
1. ✅ **Design Document Format** (MUST READ)
|
|
57
|
+
2. ✅ **Spec Workflow: Phase 2** (scroll to Spec Workflow section)
|
|
58
|
+
3. ❌ **SKIP**: Requirements format, Tasks format, Validation system, Documentation system, Rationale
|
|
59
|
+
|
|
60
|
+
### WHEN Creating Tasks Document THEN Read:
|
|
61
|
+
1. ✅ **Tasks Document Format** (MUST READ)
|
|
62
|
+
2. ✅ **Task Type Classification System** (MUST READ - understand Setup/Implementation/Architecture)
|
|
63
|
+
3. ✅ **Reference: Task Type Definitions** (`.kiro/steering/Process-Task-Type-Definitions.md` - if unclear on classification)
|
|
64
|
+
4. ✅ **Spec Workflow: Phase 3** (scroll to Spec Workflow section)
|
|
65
|
+
5. ❌ **SKIP**: Detailed validation tiers, detailed documentation tiers, rationale sections
|
|
66
|
+
|
|
67
|
+
### WHEN Executing Tasks (Implementation Phase) THEN Read:
|
|
68
|
+
1. ✅ **Spec Workflow: Phase 4** (MUST READ)
|
|
69
|
+
2. ✅ **Validation Tier Definitions** (quick reference in this doc)
|
|
70
|
+
3. ✅ **Query Task-Type-Definitions via MCP** for detailed tier requirements:
|
|
71
|
+
- Setup task? Query "Setup Tasks" section
|
|
72
|
+
- Implementation task? Query "Implementation Tasks" section
|
|
73
|
+
- Architecture/Parent task? Query "Architecture Tasks" section
|
|
74
|
+
4. ✅ **Three-Tier Completion Documentation** - READ ONLY YOUR TASK'S TIER:
|
|
75
|
+
- Setup task? Read Tier 1: Minimal Documentation only
|
|
76
|
+
- Implementation task? Read Tier 2: Standard Documentation only
|
|
77
|
+
- Architecture/Parent task? Read Tier 3: Comprehensive Documentation only
|
|
78
|
+
5. ❌ **SKIP**: Requirements format, Design format, Task creation sections, other documentation tiers, rationale
|
|
79
|
+
|
|
80
|
+
### WHEN Stuck or Questioning Approach THEN Read:
|
|
81
|
+
1. 📖 **Rationale for Three-Tier Approach** (OPTIONAL - understand the "why")
|
|
82
|
+
2. 📖 **Anti-Patterns to Avoid** (OPTIONAL - learn from mistakes)
|
|
83
|
+
3. 📖 **Quality Standards** (OPTIONAL - understand quality expectations)
|
|
84
|
+
|
|
85
|
+
### WHEN Validating Quality or Reviewing Work THEN Read:
|
|
86
|
+
1. ✅ **Quality Standards** (MUST READ)
|
|
87
|
+
2. ✅ **Anti-Patterns to Avoid** (MUST READ)
|
|
88
|
+
3. ✅ **Your specific validation tier requirements**
|
|
89
|
+
|
|
90
|
+
### WHEN Working with Cross-Spec Dependencies THEN Read:
|
|
91
|
+
|
|
92
|
+
**📖 CONDITIONAL SECTION - Read only when needed**
|
|
93
|
+
|
|
94
|
+
**Load when**:
|
|
95
|
+
- Your spec lists dependencies in the header
|
|
96
|
+
- A task references another spec (e.g., "Test ButtonCTA integration")
|
|
97
|
+
- Writing integration tests between components
|
|
98
|
+
- A task is blocked waiting for another spec
|
|
99
|
+
- Creating or updating integration contracts
|
|
100
|
+
|
|
101
|
+
**Skip when**:
|
|
102
|
+
- Spec is fully independent
|
|
103
|
+
- All dependencies are already complete
|
|
104
|
+
- No integration work in current task
|
|
105
|
+
|
|
106
|
+
**What to read**:
|
|
107
|
+
1. ✅ **Cross-Spec Dependencies** (MUST READ - dependency declaration format)
|
|
108
|
+
2. ✅ **Blocked Tasks** (MUST READ - how to mark and document blockers)
|
|
109
|
+
3. ✅ **Integration Testing Workflow** (MUST READ - when and how to write integration tests)
|
|
110
|
+
4. ✅ **Integration Contracts** (OPTIONAL - if creating formal integration contract)
|
|
111
|
+
5. ❌ **SKIP**: Other sections unless also relevant to your current task
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Overview
|
|
116
|
+
|
|
117
|
+
**Note**: This section intentionally uses the same heading as other steering documents because each document provides an overview of its specific system or process. This structural pattern enables consistent navigation across documentation.
|
|
118
|
+
|
|
119
|
+
This document defines the format and structure for creating feature specifications in the DesignerPunk project. Specs follow a three-phase workflow: Requirements → Design → Tasks, with each phase building on the previous to create comprehensive, actionable implementation plans.
|
|
120
|
+
|
|
121
|
+
**When to use this document**: When creating new specs or updating existing spec documents (requirements.md, design.md, tasks.md).
|
|
122
|
+
|
|
123
|
+
**How to use this document**: See "AI Agent Reading Priorities" above - read only the sections relevant to your current task.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Requirements Document Format (Conditional Loading)
|
|
128
|
+
|
|
129
|
+
**📖 CONDITIONAL SECTION - Read only when needed**
|
|
130
|
+
|
|
131
|
+
**Load when**:
|
|
132
|
+
- Creating requirements.md for a new spec
|
|
133
|
+
- Updating requirements.md for an existing spec
|
|
134
|
+
- Need reference for EARS format or user story structure
|
|
135
|
+
- Reviewing requirements quality standards
|
|
136
|
+
|
|
137
|
+
**Skip when**:
|
|
138
|
+
- Creating design.md or tasks.md (different formats)
|
|
139
|
+
- Executing implementation tasks
|
|
140
|
+
- Documenting task completion
|
|
141
|
+
- Working on non-spec tasks
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Structure
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
# Requirements Document: [Feature Name]
|
|
149
|
+
|
|
150
|
+
**Date**: [Creation Date]
|
|
151
|
+
**Spec**: [Spec ID] - [Feature Name]
|
|
152
|
+
**Status**: Requirements Phase
|
|
153
|
+
**Dependencies**: [List of dependent specs]
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Introduction
|
|
158
|
+
|
|
159
|
+
[Brief overview of the feature and its purpose]
|
|
160
|
+
|
|
161
|
+
[Key architectural principles or context]
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Requirements
|
|
166
|
+
|
|
167
|
+
### Requirement [N]: [Requirement Title]
|
|
168
|
+
|
|
169
|
+
**User Story**: As a [role], I want [feature], so that [benefit]
|
|
170
|
+
|
|
171
|
+
#### Acceptance Criteria
|
|
172
|
+
|
|
173
|
+
1. WHEN [event/condition] THEN [system] SHALL [response]
|
|
174
|
+
2. IF [precondition] THEN [system] SHALL [response]
|
|
175
|
+
3. WHEN [event] AND [condition] THEN [system] SHALL [response]
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Key Principles
|
|
179
|
+
|
|
180
|
+
**EARS Format** (Easy Approach to Requirements Syntax):
|
|
181
|
+
- Use WHEN/IF/THEN structure for clarity
|
|
182
|
+
- Focus on system behavior, not implementation
|
|
183
|
+
- Make requirements testable and verifiable
|
|
184
|
+
- Include edge cases and error conditions
|
|
185
|
+
|
|
186
|
+
**User Stories**:
|
|
187
|
+
- Start with "As a [role]" to identify stakeholder
|
|
188
|
+
- Describe desired capability with "I want [feature]"
|
|
189
|
+
- Explain benefit with "so that [benefit]"
|
|
190
|
+
|
|
191
|
+
**Acceptance Criteria**:
|
|
192
|
+
- Numbered list of specific, testable conditions
|
|
193
|
+
- Use SHALL for mandatory requirements
|
|
194
|
+
- Focus on observable behavior
|
|
195
|
+
- Include success and failure scenarios
|
|
196
|
+
|
|
197
|
+
### Documentation Requirements
|
|
198
|
+
|
|
199
|
+
Every spec that introduces or modifies tokens or components MUST include documentation requirements unless explicitly waived by the project lead.
|
|
200
|
+
|
|
201
|
+
**Documentation as Functional Requirement:**
|
|
202
|
+
Developer-facing documentation is a deliverable, not a process artifact. Documentation requirements should be written as EARS-pattern requirements with testable acceptance criteria.
|
|
203
|
+
|
|
204
|
+
**Required Documentation Requirements:**
|
|
205
|
+
|
|
206
|
+
**For Token Work:**
|
|
207
|
+
- Token family documentation (if creating new token family)
|
|
208
|
+
- Token Quick Reference updates (if adding tokens to existing family)
|
|
209
|
+
- Token governance documentation (if introducing new token patterns)
|
|
210
|
+
|
|
211
|
+
**For Component Work:**
|
|
212
|
+
- Component README for each new component
|
|
213
|
+
- Usage examples (code samples for applicable platforms)
|
|
214
|
+
- API documentation (props, events, platform-specific behavior)
|
|
215
|
+
- Token consumption documentation (which tokens the component uses)
|
|
216
|
+
- Accessibility documentation (WCAG compliance notes, keyboard navigation)
|
|
217
|
+
- Family-level documentation (if introducing architectural patterns)
|
|
218
|
+
|
|
219
|
+
**EARS Pattern for Documentation Requirements:**
|
|
220
|
+
|
|
221
|
+
Use **Ubiquitous** pattern for documentation requirements:
|
|
222
|
+
|
|
223
|
+
> "The [component/token family] **shall** provide developer-facing documentation that includes [specific sections]."
|
|
224
|
+
|
|
225
|
+
**Example:**
|
|
226
|
+
> "The Progress-Indicator-Node-Base component **shall** provide a README that includes: overview, usage examples for web/iOS/Android, API reference (props table), token dependencies, accessibility notes (WCAG 2.1 AA compliance), and platform-specific behavior notes."
|
|
227
|
+
|
|
228
|
+
**Acceptance Criteria Template:**
|
|
229
|
+
- Documentation exists at expected path (e.g., `src/components/.../README.md`)
|
|
230
|
+
- Documentation follows Component-Development-Guide standards (or Token-Governance standards for tokens)
|
|
231
|
+
- Documentation includes all required sections
|
|
232
|
+
- Usage examples are runnable (copy-paste ready)
|
|
233
|
+
- Token references use correct format and link to token families
|
|
234
|
+
- Accessibility notes reference specific WCAG criteria
|
|
235
|
+
|
|
236
|
+
**Waiver Conditions:**
|
|
237
|
+
Documentation requirements may be omitted if:
|
|
238
|
+
- The work is purely internal refactoring with no API changes
|
|
239
|
+
- The work is experimental/prototype with explicit "not for production" status
|
|
240
|
+
- The component/token is internal-only (not exposed to developers)
|
|
241
|
+
- The project lead explicitly approves omission with documented rationale
|
|
242
|
+
|
|
243
|
+
**Governance Enforcement:**
|
|
244
|
+
During spec formalization (design-outline → requirements.md), Thurgood will identify components/tokens being introduced and draft corresponding documentation requirements. If documentation requirements are omitted, the waiver rationale must be documented in requirements.md.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Design Document Format
|
|
249
|
+
|
|
250
|
+
### Structure
|
|
251
|
+
|
|
252
|
+
```markdown
|
|
253
|
+
# Design Document: [Feature Name]
|
|
254
|
+
|
|
255
|
+
**Date**: [Creation Date]
|
|
256
|
+
**Spec**: [Spec ID] - [Feature Name]
|
|
257
|
+
**Status**: Design Phase
|
|
258
|
+
**Dependencies**: [List of dependent specs]
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Overview
|
|
263
|
+
|
|
264
|
+
[High-level design summary and approach]
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Architecture
|
|
269
|
+
|
|
270
|
+
[System architecture with diagrams if helpful]
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Components and Interfaces
|
|
275
|
+
|
|
276
|
+
[Detailed component descriptions with TypeScript interfaces]
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Data Models
|
|
281
|
+
|
|
282
|
+
[Data structures and type definitions]
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Error Handling
|
|
287
|
+
|
|
288
|
+
[Error handling strategy and recovery approaches]
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Testing Strategy
|
|
293
|
+
|
|
294
|
+
[Unit, integration, and validation testing approaches]
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Design Decisions
|
|
299
|
+
|
|
300
|
+
### Decision [N]: [Decision Title]
|
|
301
|
+
|
|
302
|
+
**Options Considered**: [List alternatives]
|
|
303
|
+
**Decision**: [Chosen approach]
|
|
304
|
+
**Rationale**: [Why this approach]
|
|
305
|
+
**Trade-offs**: [What we're giving up]
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Key Principles
|
|
309
|
+
|
|
310
|
+
**Architecture First**:
|
|
311
|
+
- Start with high-level architecture
|
|
312
|
+
- Show component relationships
|
|
313
|
+
- Use diagrams when helpful (Mermaid)
|
|
314
|
+
|
|
315
|
+
**Interface-Driven**:
|
|
316
|
+
- Define clear interfaces for all components
|
|
317
|
+
- Use TypeScript for type safety
|
|
318
|
+
- Document responsibilities clearly
|
|
319
|
+
|
|
320
|
+
**Design Decisions**:
|
|
321
|
+
- Document alternatives considered
|
|
322
|
+
- Explain rationale for chosen approach
|
|
323
|
+
- Acknowledge trade-offs honestly
|
|
324
|
+
- Apply systematic skepticism (counter-arguments)
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Tasks Document Format
|
|
329
|
+
|
|
330
|
+
### Structure
|
|
331
|
+
|
|
332
|
+
```markdown
|
|
333
|
+
# Implementation Plan: [Feature Name]
|
|
334
|
+
|
|
335
|
+
**Date**: [Creation Date]
|
|
336
|
+
**Spec**: [Spec ID] - [Feature Name]
|
|
337
|
+
**Status**: Implementation Planning
|
|
338
|
+
**Dependencies**: [List of dependent specs]
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Implementation Plan
|
|
343
|
+
|
|
344
|
+
[Brief overview of implementation approach]
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Task List
|
|
349
|
+
|
|
350
|
+
- [ ] [N]. [Primary Task Title]
|
|
351
|
+
|
|
352
|
+
**Type**: Parent
|
|
353
|
+
**Validation**: Tier 3 - Comprehensive (includes success criteria)
|
|
354
|
+
|
|
355
|
+
**Success Criteria:**
|
|
356
|
+
- [Overall goal 1]
|
|
357
|
+
- [Overall goal 2]
|
|
358
|
+
- [Overall goal 3]
|
|
359
|
+
|
|
360
|
+
**Primary Artifacts:**
|
|
361
|
+
- [Key file 1]
|
|
362
|
+
- [Key file 2]
|
|
363
|
+
- [Key file 3]
|
|
364
|
+
|
|
365
|
+
**Completion Documentation:**
|
|
366
|
+
- [Path to completion doc]
|
|
367
|
+
|
|
368
|
+
- [ ] [N.1] [Sub-task Title]
|
|
369
|
+
**Type**: [Setup | Implementation | Architecture]
|
|
370
|
+
**Validation**: [Tier 1: Minimal | Tier 2: Standard | Tier 3: Comprehensive]
|
|
371
|
+
**Agent**: [Agent name]
|
|
372
|
+
- [Implementation step 1]
|
|
373
|
+
- [Implementation step 2]
|
|
374
|
+
- _Requirements: [Requirement IDs]_
|
|
375
|
+
|
|
376
|
+
- [ ] [N.2] [Sub-task Title]
|
|
377
|
+
**Type**: [Setup | Implementation | Architecture]
|
|
378
|
+
**Validation**: [Tier 1: Minimal | Tier 2: Standard | Tier 3: Comprehensive]
|
|
379
|
+
**Agent**: [Agent name]
|
|
380
|
+
- [Implementation step 1]
|
|
381
|
+
- [Implementation step 2]
|
|
382
|
+
- _Requirements: [Requirement IDs]_
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### Key Principles
|
|
386
|
+
|
|
387
|
+
**Hierarchical Structure**:
|
|
388
|
+
- **Primary tasks** (N) define WHAT success looks like
|
|
389
|
+
- **Sub-tasks** (N.1, N.2) define HOW to achieve it
|
|
390
|
+
- Maximum two levels of hierarchy
|
|
391
|
+
|
|
392
|
+
**Success Criteria at Primary Level**:
|
|
393
|
+
- State overall goals for the primary task
|
|
394
|
+
- Encompass all sub-tasks
|
|
395
|
+
- Provide clear validation point
|
|
396
|
+
- Avoid repetition in sub-tasks
|
|
397
|
+
|
|
398
|
+
**Primary Artifacts**:
|
|
399
|
+
- List key files created by primary task
|
|
400
|
+
- Focus on main deliverables
|
|
401
|
+
- Helps track what's being built
|
|
402
|
+
|
|
403
|
+
**Completion Documentation**:
|
|
404
|
+
- Two documents per primary task:
|
|
405
|
+
- Detailed: `.kiro/specs/[spec-name]/completion/task-[N]-parent-completion.md` (comprehensive internal documentation)
|
|
406
|
+
- Summary: `docs/specs/[spec-name]/task-[N]-summary.md` (concise public-facing summary, used by release tool)
|
|
407
|
+
- Detailed docs preserve comprehensive knowledge; summary docs trigger hooks and serve as release notes
|
|
408
|
+
|
|
409
|
+
**Sub-tasks**:
|
|
410
|
+
- Focus on implementation steps
|
|
411
|
+
- Reference requirements
|
|
412
|
+
- Keep concise and actionable
|
|
413
|
+
- No success criteria (covered by primary)
|
|
414
|
+
|
|
415
|
+
**Post-Completion Workflow**:
|
|
416
|
+
- Parent tasks include a **Post-Completion** section with the complete workflow checklist
|
|
417
|
+
- Format provides clear steps for task completion without requiring reference to other docs
|
|
418
|
+
- Follows the sequence defined in Development Workflow document
|
|
419
|
+
- Each step is actionable and includes the specific command to run
|
|
420
|
+
|
|
421
|
+
**Task Type Metadata**:
|
|
422
|
+
- All subtasks must include **Type** metadata field
|
|
423
|
+
- All subtasks must include **Validation** metadata field
|
|
424
|
+
|
|
425
|
+
**Agent Assignment**:
|
|
426
|
+
- All tasks and subtasks must include **Agent** metadata field
|
|
427
|
+
- Indicates the optimal agent based on domain boundaries (Ada: tokens/pipeline, Lina: components/tests, Thurgood: governance/specs)
|
|
428
|
+
- For cross-domain tasks, use `Agent A + Agent B` with rationale
|
|
429
|
+
- Agent field is a recommendation — Peter may route differently based on context
|
|
430
|
+
- Parent tasks use Type: Parent with Tier 3: Comprehensive validation
|
|
431
|
+
- Type determines which validation tier and documentation tier to apply
|
|
432
|
+
|
|
433
|
+
**Required Artifacts for Component Specs:**
|
|
434
|
+
- Component specs must include subtasks that produce these artifacts: `contracts.yaml`, `component-meta.yaml`, `schema.yaml`, `types.ts`
|
|
435
|
+
- The `contracts.yaml` subtask must precede platform implementation subtasks
|
|
436
|
+
|
|
437
|
+
**Contract Traceability:**
|
|
438
|
+
- Every platform implementation subtask in a component spec must include `_Contracts:` lines listing the contracts that subtask satisfies
|
|
439
|
+
- Format: `_Contracts: interaction_focusable, interaction_pressable, state_disabled_`
|
|
440
|
+
- This maps implementation work to behavioral guarantees, enabling review and audit
|
|
441
|
+
|
|
442
|
+
### Task Format Examples
|
|
443
|
+
|
|
444
|
+
#### Example 1: Parent Task with Mixed Subtask Types
|
|
445
|
+
|
|
446
|
+
```markdown
|
|
447
|
+
- [ ] 1. Build System Foundation
|
|
448
|
+
|
|
449
|
+
**Type**: Parent
|
|
450
|
+
**Validation**: Tier 3 - Comprehensive (includes success criteria)
|
|
451
|
+
|
|
452
|
+
**Success Criteria:**
|
|
453
|
+
- Build system foundation established with clear architecture
|
|
454
|
+
- Platform-specific generation working for web, iOS, and Android
|
|
455
|
+
- Error handling comprehensive across all components
|
|
456
|
+
- Release detection triggered
|
|
457
|
+
|
|
458
|
+
**Primary Artifacts:**
|
|
459
|
+
- `src/build/` directory structure
|
|
460
|
+
- `src/build/TokenSelector.ts`
|
|
461
|
+
- `src/build/BuildOrchestrator.ts`
|
|
462
|
+
|
|
463
|
+
**Completion Documentation:**
|
|
464
|
+
- Detailed: `.kiro/specs/cross-platform-build-system/completion/task-1-parent-completion.md`
|
|
465
|
+
- Summary: `docs/specs/cross-platform-build-system/task-1-summary.md`
|
|
466
|
+
|
|
467
|
+
**Post-Completion:**
|
|
468
|
+
- Mark complete: Use `taskStatus` tool to update task status
|
|
469
|
+
- Commit changes: `./.kiro/hooks/commit-task.sh "Task 1 Complete: Build System Foundation"` (runs release analysis automatically)
|
|
470
|
+
- Verify: Check GitHub for committed changes
|
|
471
|
+
|
|
472
|
+
- [ ] 1.1 Create directory structure
|
|
473
|
+
**Type**: Setup
|
|
474
|
+
**Validation**: Tier 1 - Minimal
|
|
475
|
+
**Agent**: Lina
|
|
476
|
+
- Create `src/build/` directory
|
|
477
|
+
- Create `src/build/platforms/` subdirectory
|
|
478
|
+
- Create `src/build/interfaces/` subdirectory
|
|
479
|
+
- _Requirements: 1.1_
|
|
480
|
+
|
|
481
|
+
- [ ] 1.2 Implement TokenSelector class
|
|
482
|
+
**Type**: Implementation
|
|
483
|
+
**Validation**: Tier 2 - Standard
|
|
484
|
+
**Agent**: Ada
|
|
485
|
+
- Implement TokenSelector with selectToken() method
|
|
486
|
+
- Add priority logic (semantic > primitive)
|
|
487
|
+
- Implement error handling for invalid references
|
|
488
|
+
- _Requirements: 9.1, 9.2, 9.3_
|
|
489
|
+
|
|
490
|
+
- [ ] 1.3 Design BuildOrchestrator architecture
|
|
491
|
+
**Type**: Architecture
|
|
492
|
+
**Validation**: Tier 3 - Comprehensive
|
|
493
|
+
**Agent**: Ada + Lina (cross-domain: token selection + component build)
|
|
494
|
+
- Design orchestration pattern for build coordination
|
|
495
|
+
- Establish error handling and rollback strategy
|
|
496
|
+
- Define platform generator interfaces
|
|
497
|
+
- _Requirements: 1.1, 6.3, 8.2_
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
#### Example 2: Setup Task (Tier 1 - Minimal)
|
|
501
|
+
|
|
502
|
+
```markdown
|
|
503
|
+
- [ ] 2.1 Initialize project configuration
|
|
504
|
+
|
|
505
|
+
**Type**: Setup
|
|
506
|
+
**Validation**: Tier 1 - Minimal
|
|
507
|
+
|
|
508
|
+
- Create `tsconfig.json` with compiler options
|
|
509
|
+
- Create `.eslintrc.json` with linting rules
|
|
510
|
+
- Create `jest.config.js` with test configuration
|
|
511
|
+
- Install development dependencies
|
|
512
|
+
- _Requirements: 1.2, 1.3_
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
#### Example 3: Implementation Task (Tier 2 - Standard)
|
|
516
|
+
|
|
517
|
+
```markdown
|
|
518
|
+
- [ ] 3.2 Implement validation functions
|
|
519
|
+
|
|
520
|
+
**Type**: Implementation
|
|
521
|
+
**Validation**: Tier 2 - Standard
|
|
522
|
+
|
|
523
|
+
- Create BaselineGridValidator class
|
|
524
|
+
- Implement alignment validation logic
|
|
525
|
+
- Add tolerance calculation for edge cases
|
|
526
|
+
- Implement error message generation
|
|
527
|
+
- Write integration tests for validator
|
|
528
|
+
- _Requirements: 4.1, 4.2, 4.3_
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
#### Example 4: Architecture Task (Tier 3 - Comprehensive)
|
|
532
|
+
|
|
533
|
+
```markdown
|
|
534
|
+
- [ ] 4.3 Design three-tier validation system
|
|
535
|
+
|
|
536
|
+
**Type**: Architecture
|
|
537
|
+
**Validation**: Tier 3 - Comprehensive
|
|
538
|
+
|
|
539
|
+
- Design Pass/Warning/Error classification system
|
|
540
|
+
- Establish validation priority and composition patterns
|
|
541
|
+
- Create extensibility points for custom validators
|
|
542
|
+
- Define validation result data structures
|
|
543
|
+
- Document architectural decisions and trade-offs
|
|
544
|
+
- _Requirements: 2.1, 2.2, 2.3, 2.4_
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
#### Example 5: Complete Feature with All Task Types
|
|
548
|
+
|
|
549
|
+
```markdown
|
|
550
|
+
- [ ] 5. Token Generation System
|
|
551
|
+
|
|
552
|
+
**Type**: Parent
|
|
553
|
+
**Validation**: Tier 3 - Comprehensive (includes success criteria)
|
|
554
|
+
|
|
555
|
+
**Success Criteria:**
|
|
556
|
+
- Token generation working for all platforms
|
|
557
|
+
- Mathematical relationships validated
|
|
558
|
+
- Cross-platform consistency verified
|
|
559
|
+
- Release detection triggered
|
|
560
|
+
|
|
561
|
+
**Primary Artifacts:**
|
|
562
|
+
- `src/generators/TokenFileGenerator.ts`
|
|
563
|
+
- `src/generators/PlatformGenerators/`
|
|
564
|
+
- Platform-specific output files
|
|
565
|
+
|
|
566
|
+
**Completion Documentation:**
|
|
567
|
+
- Detailed: `.kiro/specs/token-generation/completion/task-5-parent-completion.md`
|
|
568
|
+
- Summary: `docs/specs/token-generation/task-5-summary.md`
|
|
569
|
+
|
|
570
|
+
**Post-Completion:**
|
|
571
|
+
- Mark complete: Use `taskStatus` tool to update task status
|
|
572
|
+
- Commit changes: `./.kiro/hooks/commit-task.sh "Task 5 Complete: Token Generation System"` (runs release analysis automatically)
|
|
573
|
+
- Verify: Check GitHub for committed changes
|
|
574
|
+
|
|
575
|
+
- [ ] 5.1 Set up generator directory structure
|
|
576
|
+
**Type**: Setup
|
|
577
|
+
**Validation**: Tier 1 - Minimal
|
|
578
|
+
- Create `src/generators/` directory
|
|
579
|
+
- Create `src/generators/PlatformGenerators/` subdirectory
|
|
580
|
+
- Create placeholder files for each platform
|
|
581
|
+
- _Requirements: 1.1_
|
|
582
|
+
|
|
583
|
+
- [ ] 5.2 Implement CSS generator for web
|
|
584
|
+
**Type**: Implementation
|
|
585
|
+
**Validation**: Tier 2 - Standard
|
|
586
|
+
- Create WebCSSGenerator class
|
|
587
|
+
- Implement token-to-CSS conversion logic
|
|
588
|
+
- Add formatting and file writing
|
|
589
|
+
- Test with sample tokens
|
|
590
|
+
- _Requirements: 3.1, 3.2_
|
|
591
|
+
|
|
592
|
+
- [ ] 5.3 Implement Swift generator for iOS
|
|
593
|
+
**Type**: Implementation
|
|
594
|
+
**Validation**: Tier 2 - Standard
|
|
595
|
+
- Create iOSSwiftGenerator class
|
|
596
|
+
- Implement token-to-Swift conversion logic
|
|
597
|
+
- Add UIColor and CGFloat generation
|
|
598
|
+
- Test with sample tokens
|
|
599
|
+
- _Requirements: 3.3, 3.4_
|
|
600
|
+
|
|
601
|
+
- [ ] 5.4 Design generator plugin architecture
|
|
602
|
+
**Type**: Architecture
|
|
603
|
+
**Validation**: Tier 3 - Comprehensive
|
|
604
|
+
- Design plugin interface for custom generators
|
|
605
|
+
- Establish generator lifecycle (load, initialize, generate)
|
|
606
|
+
- Create generator registry and discovery system
|
|
607
|
+
- Define extension points and hooks
|
|
608
|
+
- _Requirements: 8.1, 8.2, 8.3_
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
---
|
|
612
|
+
|
|
613
|
+
## Task Type Classification System
|
|
614
|
+
|
|
615
|
+
### Overview
|
|
616
|
+
|
|
617
|
+
The Task Type Classification System provides a three-tier approach to categorizing tasks based on their complexity, risk, and nature of work. Task types are determined during the planning phase (when creating tasks.md) and guide the appropriate level of validation and completion documentation during execution.
|
|
618
|
+
|
|
619
|
+
This classification system enables:
|
|
620
|
+
- **Objective task categorization** based on clear characteristics
|
|
621
|
+
- **Appropriate validation depth** matched to task complexity and risk
|
|
622
|
+
- **Proportional documentation detail** aligned with task type
|
|
623
|
+
- **Consistent AI agent execution** through unambiguous task metadata
|
|
624
|
+
|
|
625
|
+
### Three Task Types
|
|
626
|
+
|
|
627
|
+
#### Setup Tasks
|
|
628
|
+
|
|
629
|
+
**Definition**: Structural work that prepares the environment for implementation
|
|
630
|
+
|
|
631
|
+
**Characteristics**:
|
|
632
|
+
- Creates directories, files, or configuration without complex logic
|
|
633
|
+
- Low complexity with straightforward operations
|
|
634
|
+
- Minimal logic or decision-making required
|
|
635
|
+
- Low risk with easily detected and fixed errors
|
|
636
|
+
- Clear success criteria based on artifact presence
|
|
637
|
+
|
|
638
|
+
**Examples**:
|
|
639
|
+
- Create directory structure for new feature
|
|
640
|
+
- Install project dependencies via package manager
|
|
641
|
+
- Configure build scripts in package.json
|
|
642
|
+
- Set up test framework with basic configuration
|
|
643
|
+
- Create placeholder files with basic exports
|
|
644
|
+
- Initialize configuration files (tsconfig.json, .eslintrc)
|
|
645
|
+
|
|
646
|
+
**Validation & Documentation**: Tier 1 - Minimal
|
|
647
|
+
|
|
648
|
+
#### Implementation Tasks
|
|
649
|
+
|
|
650
|
+
**Definition**: Coding work that implements features or functionality
|
|
651
|
+
|
|
652
|
+
**Characteristics**:
|
|
653
|
+
- Writes code to implement specific functionality or features
|
|
654
|
+
- Medium complexity requiring understanding of requirements and integration
|
|
655
|
+
- Functional validation needed to ensure correctness
|
|
656
|
+
- Integration focus connecting with existing code and components
|
|
657
|
+
- Medium risk with errors typically contained to specific features
|
|
658
|
+
- Testable outcomes measured by functional correctness
|
|
659
|
+
|
|
660
|
+
**Examples**:
|
|
661
|
+
- Implement class methods with business logic
|
|
662
|
+
- Create API endpoints with request validation
|
|
663
|
+
- Build UI components with event handlers
|
|
664
|
+
- Write integration logic coordinating multiple components
|
|
665
|
+
- Implement data transformations and conversions
|
|
666
|
+
- Create validation functions with error handling
|
|
667
|
+
- Build file generation logic for specific platforms
|
|
668
|
+
|
|
669
|
+
**Validation & Documentation**: Tier 2 - Standard
|
|
670
|
+
|
|
671
|
+
#### Architecture Tasks
|
|
672
|
+
|
|
673
|
+
**Definition**: Design work that establishes patterns, algorithms, or system structure
|
|
674
|
+
|
|
675
|
+
**Characteristics**:
|
|
676
|
+
- Makes architectural decisions affecting system structure and patterns
|
|
677
|
+
- High complexity requiring deep understanding of system requirements
|
|
678
|
+
- Design validation needed for extensibility and maintainability
|
|
679
|
+
- Pattern establishment creating abstractions other code will follow
|
|
680
|
+
- High risk with decisions affecting entire system
|
|
681
|
+
- Strategic impact influencing development approach and evolution
|
|
682
|
+
|
|
683
|
+
**Examples**:
|
|
684
|
+
- Design orchestration architecture with separation of concerns
|
|
685
|
+
- Create validation algorithms with extensibility points
|
|
686
|
+
- Establish error handling strategy and recovery patterns
|
|
687
|
+
- Design plugin system with clear extension points
|
|
688
|
+
- Create mathematical token system with hierarchical relationships
|
|
689
|
+
- Design caching strategy with multi-level architecture
|
|
690
|
+
- Establish state management architecture and patterns
|
|
691
|
+
|
|
692
|
+
**Validation & Documentation**: Tier 3 - Comprehensive
|
|
693
|
+
|
|
694
|
+
#### Parent Tasks
|
|
695
|
+
|
|
696
|
+
**Definition**: Container tasks that encompass multiple subtasks and define overall success criteria
|
|
697
|
+
|
|
698
|
+
**Characteristics**:
|
|
699
|
+
- Defines WHAT success looks like for a group of related subtasks
|
|
700
|
+
- Includes explicit success criteria that span all subtasks
|
|
701
|
+
- Requires verification that all subtasks integrate correctly
|
|
702
|
+
- Validates end-to-end functionality across subtask boundaries
|
|
703
|
+
- Documents overall approach and integration story
|
|
704
|
+
|
|
705
|
+
**Validation & Documentation**: Tier 3 - Comprehensive (with success criteria verification)
|
|
706
|
+
|
|
707
|
+
### Classification During Planning Phase
|
|
708
|
+
|
|
709
|
+
#### When to Classify
|
|
710
|
+
|
|
711
|
+
Task types are determined during **Phase 3: Tasks** of the spec workflow, when converting the design document into actionable implementation tasks.
|
|
712
|
+
|
|
713
|
+
#### Classification Process
|
|
714
|
+
|
|
715
|
+
1. **Review task description and implementation steps**
|
|
716
|
+
2. **Identify task characteristics** (structural vs coding vs design work)
|
|
717
|
+
3. **Assess complexity and risk** (low vs medium vs high)
|
|
718
|
+
4. **Determine validation needs** (minimal vs standard vs comprehensive)
|
|
719
|
+
5. **Assign task type** (Setup, Implementation, or Architecture)
|
|
720
|
+
6. **Add type metadata** to task in tasks.md
|
|
721
|
+
|
|
722
|
+
#### Classification Decision Examples
|
|
723
|
+
|
|
724
|
+
**Example 1: Configuration File Creation**
|
|
725
|
+
|
|
726
|
+
```markdown
|
|
727
|
+
Task: "Create tsconfig.json with compiler options"
|
|
728
|
+
|
|
729
|
+
Analysis:
|
|
730
|
+
- Structural work: Creating configuration file
|
|
731
|
+
- Low complexity: Standard TypeScript configuration
|
|
732
|
+
- Minimal logic: Copying/adapting standard config
|
|
733
|
+
- Low risk: Easy to verify and fix
|
|
734
|
+
|
|
735
|
+
Classification: Setup
|
|
736
|
+
Rationale: Preparatory structural work with clear success criteria
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
**Example 2: Token Selector Implementation**
|
|
740
|
+
|
|
741
|
+
```markdown
|
|
742
|
+
Task: "Implement TokenSelector class with priority logic"
|
|
743
|
+
|
|
744
|
+
Analysis:
|
|
745
|
+
- Coding work: Writing class methods and logic
|
|
746
|
+
- Medium complexity: Requires understanding token hierarchy
|
|
747
|
+
- Functional validation: Must verify selection logic works correctly
|
|
748
|
+
- Medium risk: Errors affect token selection but contained to this feature
|
|
749
|
+
|
|
750
|
+
Classification: Implementation
|
|
751
|
+
Rationale: Feature implementation requiring functional validation
|
|
752
|
+
```
|
|
753
|
+
|
|
754
|
+
**Example 3: Orchestration Architecture Design**
|
|
755
|
+
|
|
756
|
+
```markdown
|
|
757
|
+
Task: "Design BuildOrchestrator architecture with error handling strategy"
|
|
758
|
+
|
|
759
|
+
Analysis:
|
|
760
|
+
- Design work: Establishing architectural patterns
|
|
761
|
+
- High complexity: Affects how entire build system operates
|
|
762
|
+
- Design validation: Must verify extensibility and separation of concerns
|
|
763
|
+
- High risk: Poor decisions affect entire system
|
|
764
|
+
|
|
765
|
+
Classification: Architecture
|
|
766
|
+
Rationale: Architectural decisions establishing patterns for other code
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
**Example 4: Ambiguous Classification**
|
|
770
|
+
|
|
771
|
+
```markdown
|
|
772
|
+
Task: "Implement configuration validation logic"
|
|
773
|
+
|
|
774
|
+
Analysis:
|
|
775
|
+
- Could be Implementation: Writing validation code
|
|
776
|
+
- Could be Architecture: Designing validation strategy
|
|
777
|
+
|
|
778
|
+
Resolution: Ask human for clarification
|
|
779
|
+
- If implementing specific validation rules: Implementation
|
|
780
|
+
- If establishing validation patterns for system: Architecture
|
|
781
|
+
|
|
782
|
+
Document decision in tasks.md for future reference
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
### Guidance for AI Agents
|
|
786
|
+
|
|
787
|
+
#### Clear Classification
|
|
788
|
+
|
|
789
|
+
When task type is obvious from characteristics:
|
|
790
|
+
1. Assign appropriate type (Setup, Implementation, Architecture)
|
|
791
|
+
2. Add type metadata to task
|
|
792
|
+
3. Proceed with task creation
|
|
793
|
+
|
|
794
|
+
#### Unclear Classification
|
|
795
|
+
|
|
796
|
+
When task type is ambiguous:
|
|
797
|
+
1. Identify the ambiguity (e.g., "Could be Implementation or Architecture")
|
|
798
|
+
2. Prompt human: "This task could be classified as [Type A] or [Type B]. Which is more appropriate?"
|
|
799
|
+
3. Document human's decision and rationale
|
|
800
|
+
4. Consider updating Task Type Definitions if new pattern emerges
|
|
801
|
+
|
|
802
|
+
#### New Patterns
|
|
803
|
+
|
|
804
|
+
When encountering a task pattern not covered by existing definitions:
|
|
805
|
+
1. Classify based on closest match to existing characteristics
|
|
806
|
+
2. Prompt human for confirmation
|
|
807
|
+
3. Document the new pattern in Task Type Definitions document
|
|
808
|
+
4. Include date, pattern description, classification decision, and rationale
|
|
809
|
+
|
|
810
|
+
### Reference Documentation
|
|
811
|
+
|
|
812
|
+
For detailed task type definitions with comprehensive examples, see:
|
|
813
|
+
|
|
814
|
+
**Task Type Definitions**: `.kiro/steering/Process-Task-Type-Definitions.md`
|
|
815
|
+
|
|
816
|
+
This living document provides:
|
|
817
|
+
- Detailed definitions for each task type
|
|
818
|
+
- Comprehensive examples (5+ per type)
|
|
819
|
+
- Validation and documentation tier specifications
|
|
820
|
+
- Update history tracking new patterns and classification decisions
|
|
821
|
+
- Guidelines for collaborative human-AI classification decisions
|
|
822
|
+
|
|
823
|
+
### Integration with Tasks Document Format
|
|
824
|
+
|
|
825
|
+
Task type metadata is included in the tasks.md format:
|
|
826
|
+
|
|
827
|
+
```markdown
|
|
828
|
+
- [ ] [N.1] [Sub-task Title]
|
|
829
|
+
**Type**: [Setup | Implementation | Architecture]
|
|
830
|
+
**Validation**: [Tier 1: Minimal | Tier 2: Standard | Tier 3: Comprehensive]
|
|
831
|
+
- [Implementation step 1]
|
|
832
|
+
- [Implementation step 2]
|
|
833
|
+
- _Requirements: [Requirement IDs]_
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
This explicit metadata ensures AI agents know exactly which validation and documentation tier to apply during task execution.
|
|
837
|
+
|
|
838
|
+
---
|
|
839
|
+
|
|
840
|
+
## Rationale for Three-Tier Approach
|
|
841
|
+
|
|
842
|
+
### Overview
|
|
843
|
+
|
|
844
|
+
The three-tier system for task classification, validation, and completion documentation was developed in response to quality concerns identified through comparative analysis of two major spec executions: F1 (Mathematical Token System) and F2 (Cross-Platform Build System).
|
|
845
|
+
|
|
846
|
+
This section explains the audit findings, why the three-tier approach was chosen, and the expected impact on both quality and token efficiency.
|
|
847
|
+
|
|
848
|
+
### Background: F1 vs F2 Execution Patterns
|
|
849
|
+
|
|
850
|
+
#### F1 Approach (Original Pattern)
|
|
851
|
+
|
|
852
|
+
**Characteristics**:
|
|
853
|
+
- Completion documentation for 95% of subtasks (37/39)
|
|
854
|
+
- Validation after every subtask (~39 validation cycles)
|
|
855
|
+
- Average ~800 lines per completion document
|
|
856
|
+
- Immediate error detection after each subtask
|
|
857
|
+
- Comprehensive architectural documentation with code examples
|
|
858
|
+
|
|
859
|
+
**Strengths**:
|
|
860
|
+
- Frequent quality checkpoints
|
|
861
|
+
- Immediate error detection
|
|
862
|
+
- Comprehensive knowledge preservation
|
|
863
|
+
- Clear progress markers
|
|
864
|
+
|
|
865
|
+
**Weaknesses**:
|
|
866
|
+
- High token usage (~39,000 tokens for completion docs + validation)
|
|
867
|
+
- Potential over-documentation of simple tasks
|
|
868
|
+
- Repetitive validation for low-risk work
|
|
869
|
+
|
|
870
|
+
#### F2 Approach (Token-Optimized Pattern)
|
|
871
|
+
|
|
872
|
+
**Characteristics**:
|
|
873
|
+
- Completion documentation for 68% of subtasks (28/41)
|
|
874
|
+
- Validation only at parent task level (~10 validation cycles)
|
|
875
|
+
- Average ~400 lines per completion document
|
|
876
|
+
- Delayed error detection until parent task complete
|
|
877
|
+
- More concise, implementation-focused documentation
|
|
878
|
+
|
|
879
|
+
**Strengths**:
|
|
880
|
+
- 65% token reduction (~13,200 tokens vs ~39,000)
|
|
881
|
+
- Faster execution
|
|
882
|
+
- Less documentation overhead
|
|
883
|
+
|
|
884
|
+
**Weaknesses**:
|
|
885
|
+
- Delayed error detection (errors can compound)
|
|
886
|
+
- Fewer incremental checkpoints (harder to pinpoint issues)
|
|
887
|
+
- Less detailed architectural documentation
|
|
888
|
+
- Ambiguity about when subtask completion docs are appropriate
|
|
889
|
+
|
|
890
|
+
### Audit Findings Summary
|
|
891
|
+
|
|
892
|
+
**Quantitative Findings**:
|
|
893
|
+
|
|
894
|
+
| Metric | F1 (Original) | F2 (Optimized) | Change |
|
|
895
|
+
|--------|---------------|----------------|--------|
|
|
896
|
+
| Completion Doc Coverage | 95% | 68% | -27% |
|
|
897
|
+
| Validation Cycles | 39 | 10 | -75% |
|
|
898
|
+
| Avg Doc Length | ~800 lines | ~400 lines | -50% |
|
|
899
|
+
| Token Usage | ~39,000 | ~13,200 | -65% |
|
|
900
|
+
|
|
901
|
+
**Quality Impact**:
|
|
902
|
+
- **Delayed Error Detection**: Errors accumulate until parent task validation, making debugging more complex
|
|
903
|
+
- **Reduced Checkpoints**: Fewer "save points" make it harder to identify when issues were introduced
|
|
904
|
+
- **Less Knowledge Preservation**: Shorter docs with less architectural discussion and fewer lessons learned
|
|
905
|
+
- **Inconsistent Application**: Ambiguity about when subtask completion docs are appropriate
|
|
906
|
+
|
|
907
|
+
**User Experience**:
|
|
908
|
+
- F2 execution felt "less refined" despite successful token reduction
|
|
909
|
+
- Quality concerns outweighed token savings benefits
|
|
910
|
+
- Need for balance between quality and efficiency
|
|
911
|
+
|
|
912
|
+
### Why Three Tiers?
|
|
913
|
+
|
|
914
|
+
#### Alignment Principle
|
|
915
|
+
|
|
916
|
+
The three-tier system aligns three critical dimensions:
|
|
917
|
+
|
|
918
|
+
1. **Task Complexity** (Setup → Implementation → Architecture)
|
|
919
|
+
2. **Validation Depth** (Minimal → Standard → Comprehensive)
|
|
920
|
+
3. **Documentation Detail** (Brief → Standard → Extensive)
|
|
921
|
+
|
|
922
|
+
This alignment ensures that validation effort and documentation detail match the actual complexity and risk of the work being performed.
|
|
923
|
+
|
|
924
|
+
#### Objective Classification
|
|
925
|
+
|
|
926
|
+
Three task types provide clear, objective classification criteria:
|
|
927
|
+
|
|
928
|
+
- **Setup**: Structural work (directories, configuration, dependencies)
|
|
929
|
+
- **Implementation**: Coding work (features, functionality, integration)
|
|
930
|
+
- **Architecture**: Design work (patterns, algorithms, system structure)
|
|
931
|
+
|
|
932
|
+
This removes ambiguity about when to apply which tier, enabling consistent AI agent execution.
|
|
933
|
+
|
|
934
|
+
#### Balanced Approach
|
|
935
|
+
|
|
936
|
+
Three tiers provide the optimal balance:
|
|
937
|
+
|
|
938
|
+
**Too Few Tiers (F2's Two-Tier Approach)**:
|
|
939
|
+
- Simple vs Complex is subjective
|
|
940
|
+
- No middle ground for standard implementation work
|
|
941
|
+
- Forces binary decisions that don't match reality
|
|
942
|
+
|
|
943
|
+
**Too Many Tiers (Four or More)**:
|
|
944
|
+
- Increased cognitive load during classification
|
|
945
|
+
- Diminishing returns on granularity
|
|
946
|
+
- More complex to implement and maintain
|
|
947
|
+
|
|
948
|
+
**Three Tiers (Goldilocks Zone)**:
|
|
949
|
+
- Clear distinction between structural, coding, and design work
|
|
950
|
+
- Objective classification criteria
|
|
951
|
+
- Sufficient granularity without excessive complexity
|
|
952
|
+
|
|
953
|
+
### Token Impact Analysis
|
|
954
|
+
|
|
955
|
+
#### Estimated Token Usage by Tier
|
|
956
|
+
|
|
957
|
+
**Tier 1: Minimal (Setup Tasks)**:
|
|
958
|
+
- ~50 tokens for validation
|
|
959
|
+
- ~150 lines for completion documentation
|
|
960
|
+
- **Total per task**: ~200 tokens
|
|
961
|
+
|
|
962
|
+
**Tier 2: Standard (Implementation Tasks)**:
|
|
963
|
+
- ~200 tokens for validation
|
|
964
|
+
- ~300 lines for completion documentation
|
|
965
|
+
- **Total per task**: ~500 tokens
|
|
966
|
+
|
|
967
|
+
**Tier 3: Comprehensive (Architecture + Parent Tasks)**:
|
|
968
|
+
- ~400-600 tokens for validation
|
|
969
|
+
- ~600-800 lines for completion documentation
|
|
970
|
+
- **Total per task**: ~1,000-1,400 tokens
|
|
971
|
+
|
|
972
|
+
#### Projected Token Usage for Typical Spec
|
|
973
|
+
|
|
974
|
+
**Typical Spec Structure**:
|
|
975
|
+
- 10 parent tasks (Tier 3)
|
|
976
|
+
- 15 implementation subtasks (Tier 2)
|
|
977
|
+
- 10 setup subtasks (Tier 1)
|
|
978
|
+
- 5 architecture subtasks (Tier 3)
|
|
979
|
+
|
|
980
|
+
**Token Calculation**:
|
|
981
|
+
- Parent tasks: 10 × 1,200 = 12,000 tokens
|
|
982
|
+
- Implementation: 15 × 500 = 7,500 tokens
|
|
983
|
+
- Setup: 10 × 200 = 2,000 tokens
|
|
984
|
+
- Architecture: 5 × 1,200 = 6,000 tokens
|
|
985
|
+
- **Total**: ~27,500 tokens
|
|
986
|
+
|
|
987
|
+
**Comparison**:
|
|
988
|
+
- F1 Approach: ~39,000 tokens (validate + document everything)
|
|
989
|
+
- Three-Tier: ~27,500 tokens (validate + document by complexity)
|
|
990
|
+
- F2 Approach: ~13,200 tokens (validate + document minimally)
|
|
991
|
+
|
|
992
|
+
**Result**: Three-tier approach provides **30% token savings vs F1** while maintaining **quality checkpoints** that F2 lacked.
|
|
993
|
+
|
|
994
|
+
### Quality Improvements Over F2
|
|
995
|
+
|
|
996
|
+
#### Incremental Validation
|
|
997
|
+
|
|
998
|
+
**F2 Problem**: Validation only at parent task level allowed errors to compound
|
|
999
|
+
|
|
1000
|
+
**Three-Tier Solution**:
|
|
1001
|
+
- Setup tasks: Minimal validation (syntax + artifacts)
|
|
1002
|
+
- Implementation tasks: Standard validation (syntax + functional + integration)
|
|
1003
|
+
- Architecture tasks: Comprehensive validation (syntax + functional + design + integration + edge cases)
|
|
1004
|
+
|
|
1005
|
+
**Benefit**: Errors caught at appropriate granularity based on task complexity
|
|
1006
|
+
|
|
1007
|
+
#### Completion Documentation for All Subtasks
|
|
1008
|
+
|
|
1009
|
+
**F2 Problem**: Only 68% of subtasks had completion docs, creating gaps in knowledge preservation
|
|
1010
|
+
|
|
1011
|
+
**Three-Tier Solution**: All subtasks receive completion documentation with detail appropriate to complexity
|
|
1012
|
+
|
|
1013
|
+
**Benefit**: 100% completion doc coverage with proportional detail
|
|
1014
|
+
|
|
1015
|
+
#### Objective Classification Criteria
|
|
1016
|
+
|
|
1017
|
+
**F2 Problem**: Ambiguity about when subtask completion docs were appropriate
|
|
1018
|
+
|
|
1019
|
+
**Three-Tier Solution**: Task type determined during planning phase with explicit metadata
|
|
1020
|
+
|
|
1021
|
+
**Benefit**: No ambiguity during execution - AI agents know exactly which tier to apply
|
|
1022
|
+
|
|
1023
|
+
### Decision-Making Process
|
|
1024
|
+
|
|
1025
|
+
#### Systematic Skepticism Applied
|
|
1026
|
+
|
|
1027
|
+
**Counter-Argument 1**: "F2's approach is simpler - why add complexity?"
|
|
1028
|
+
|
|
1029
|
+
**Response**: The simplicity of F2 came at the cost of quality. The three-tier system adds minimal complexity (just task type classification) while restoring quality checkpoints.
|
|
1030
|
+
|
|
1031
|
+
**Counter-Argument 2**: "Why not just revert to F1's approach?"
|
|
1032
|
+
|
|
1033
|
+
**Response**: F1's approach over-validated simple tasks. A setup task creating directories doesn't need comprehensive validation. The three-tier system provides appropriate validation for each complexity level.
|
|
1034
|
+
|
|
1035
|
+
**Counter-Argument 3**: "Three tiers is arbitrary - why not two or four?"
|
|
1036
|
+
|
|
1037
|
+
**Response**: Three tiers map to natural work categories (structural, coding, design) and provide sufficient granularity without excessive complexity. Two tiers force binary decisions; four tiers add cognitive load without proportional benefit.
|
|
1038
|
+
|
|
1039
|
+
#### Evidence-Based Validation
|
|
1040
|
+
|
|
1041
|
+
The three-tier approach was validated through:
|
|
1042
|
+
|
|
1043
|
+
1. **Quantitative Analysis**: Measured completion doc coverage, validation frequency, and token usage across F1 and F2
|
|
1044
|
+
2. **Quality Assessment**: Identified specific quality issues (delayed error detection, reduced checkpoints, less knowledge preservation)
|
|
1045
|
+
3. **Token Modeling**: Calculated expected token usage for three-tier approach
|
|
1046
|
+
4. **Comparative Evaluation**: Compared three-tier approach against F1, F2, and alternative approaches
|
|
1047
|
+
|
|
1048
|
+
### Expected Outcomes
|
|
1049
|
+
|
|
1050
|
+
#### Quality Metrics
|
|
1051
|
+
|
|
1052
|
+
- **Completion Doc Coverage**: 100% (vs 68% in F2, 95% in F1)
|
|
1053
|
+
- **Error Detection Timing**: Appropriate to task complexity (vs delayed in F2, immediate in F1)
|
|
1054
|
+
- **Documentation Depth**: Proportional to complexity (vs uniform in F1/F2)
|
|
1055
|
+
- **Classification Consistency**: >90% of tasks classified without human clarification
|
|
1056
|
+
|
|
1057
|
+
#### Efficiency Metrics
|
|
1058
|
+
|
|
1059
|
+
- **Token Usage**: ~27,500 per spec (vs ~39,000 in F1, ~13,200 in F2)
|
|
1060
|
+
- **Token Savings vs F1**: ~30% reduction
|
|
1061
|
+
- **Quality Improvement vs F2**: Restored incremental validation and comprehensive documentation
|
|
1062
|
+
|
|
1063
|
+
#### Developer Experience
|
|
1064
|
+
|
|
1065
|
+
- **Execution Feel**: More refined than F2 through incremental validation
|
|
1066
|
+
- **Knowledge Preservation**: Better than F2 through comprehensive documentation for complex tasks
|
|
1067
|
+
- **Efficiency**: Better than F1 through appropriate validation for simple tasks
|
|
1068
|
+
|
|
1069
|
+
### Reference Documentation
|
|
1070
|
+
|
|
1071
|
+
For complete audit findings and detailed analysis, see:
|
|
1072
|
+
|
|
1073
|
+
**Audit Summary**: `.kiro/specs/spec-standards-refinement/completion/audit-summary.md`
|
|
1074
|
+
|
|
1075
|
+
This document provides:
|
|
1076
|
+
- Complete F1 vs F2 comparative analysis
|
|
1077
|
+
- Detailed token impact calculations
|
|
1078
|
+
- Quality assessment methodology
|
|
1079
|
+
- Decision-making process documentation
|
|
1080
|
+
- Recommendations for future refinements
|
|
1081
|
+
|
|
1082
|
+
---
|
|
1083
|
+
|
|
1084
|
+
## Three-Tier Validation System
|
|
1085
|
+
|
|
1086
|
+
### Overview
|
|
1087
|
+
|
|
1088
|
+
The Three-Tier Validation System aligns validation depth with task complexity and risk. Each task type (Setup, Implementation, Architecture, Parent) has a corresponding validation tier that specifies the checks required before marking a task complete.
|
|
1089
|
+
|
|
1090
|
+
This validation system ensures:
|
|
1091
|
+
- **Appropriate error detection** matched to task complexity
|
|
1092
|
+
- **Incremental quality gates** that catch issues early
|
|
1093
|
+
- **Objective validation criteria** that AI agents can apply consistently
|
|
1094
|
+
- **Efficient resource allocation** by avoiding over-validation of simple tasks
|
|
1095
|
+
|
|
1096
|
+
### Validation Principles
|
|
1097
|
+
|
|
1098
|
+
**Validation Depth Matches Risk**: Low-risk Setup tasks receive minimal validation, while high-risk Architecture tasks receive comprehensive validation.
|
|
1099
|
+
|
|
1100
|
+
**Objective Checks**: All validation checks are specific, measurable, and unambiguous.
|
|
1101
|
+
|
|
1102
|
+
**Incremental Validation**: Validation occurs after each task completion, not accumulated to parent level.
|
|
1103
|
+
|
|
1104
|
+
**Documented Results**: All validation results are documented in completion documentation with specific checks listed.
|
|
1105
|
+
|
|
1106
|
+
---
|
|
1107
|
+
|
|
1108
|
+
### Validation Tier Definitions
|
|
1109
|
+
|
|
1110
|
+
The three validation tiers (Minimal, Standard, Comprehensive) align with task types (Setup, Implementation, Architecture/Parent). Each tier specifies the required checks before marking a task complete.
|
|
1111
|
+
|
|
1112
|
+
**For detailed tier definitions**, including required checks, validation examples, and failure handling, query Task-Type-Definitions via MCP:
|
|
1113
|
+
|
|
1114
|
+
```
|
|
1115
|
+
get_section({ path: ".kiro/steering/Process-Task-Type-Definitions.md", heading: "Setup Tasks" })
|
|
1116
|
+
get_section({ path: ".kiro/steering/Process-Task-Type-Definitions.md", heading: "Implementation Tasks" })
|
|
1117
|
+
get_section({ path: ".kiro/steering/Process-Task-Type-Definitions.md", heading: "Architecture Tasks" })
|
|
1118
|
+
```
|
|
1119
|
+
|
|
1120
|
+
**Quick Reference**:
|
|
1121
|
+
- **Tier 1 (Setup)**: Syntax validation, artifact verification, basic structure check
|
|
1122
|
+
- **Tier 2 (Implementation)**: Syntax, functional correctness, integration, requirements compliance
|
|
1123
|
+
- **Tier 3 (Architecture/Parent)**: All Tier 2 checks plus design soundness, system integration, edge cases, success criteria verification
|
|
1124
|
+
|
|
1125
|
+
---
|
|
1126
|
+
|
|
1127
|
+
### Validation Workflow
|
|
1128
|
+
|
|
1129
|
+
#### During Task Execution
|
|
1130
|
+
|
|
1131
|
+
1. **Before Starting Task**
|
|
1132
|
+
- Review task type and validation tier
|
|
1133
|
+
- Understand what validation checks will be required
|
|
1134
|
+
- Plan implementation to meet validation criteria
|
|
1135
|
+
|
|
1136
|
+
2. **During Implementation**
|
|
1137
|
+
- Run `getDiagnostics` frequently to catch syntax errors early
|
|
1138
|
+
- Test functionality incrementally
|
|
1139
|
+
- Verify integration points as you build
|
|
1140
|
+
|
|
1141
|
+
3. **After Implementation**
|
|
1142
|
+
- Run complete validation for the task's tier
|
|
1143
|
+
- Document validation results in completion documentation
|
|
1144
|
+
- Fix any validation failures before marking task complete
|
|
1145
|
+
|
|
1146
|
+
4. **Before Moving to Next Task**
|
|
1147
|
+
- Confirm all validation checks passed
|
|
1148
|
+
- Verify completion documentation includes validation results
|
|
1149
|
+
- Ensure no errors or warnings remain unresolved
|
|
1150
|
+
|
|
1151
|
+
#### Validation Failure Handling
|
|
1152
|
+
|
|
1153
|
+
**When validation fails at any tier**:
|
|
1154
|
+
|
|
1155
|
+
1. **Document the Failure**
|
|
1156
|
+
- Record specific validation checks that failed
|
|
1157
|
+
- Note error messages or unexpected behavior
|
|
1158
|
+
- Identify root cause of failure
|
|
1159
|
+
|
|
1160
|
+
2. **Fix the Issues**
|
|
1161
|
+
- Address syntax errors
|
|
1162
|
+
- Correct functional problems
|
|
1163
|
+
- Fix integration issues
|
|
1164
|
+
- Resolve design flaws
|
|
1165
|
+
|
|
1166
|
+
3. **Re-run Validation**
|
|
1167
|
+
- Execute validation checks again
|
|
1168
|
+
- Verify all issues are resolved
|
|
1169
|
+
- Confirm no new issues introduced
|
|
1170
|
+
|
|
1171
|
+
4. **Document Resolution**
|
|
1172
|
+
- Record what was fixed and how
|
|
1173
|
+
- Update completion documentation with final validation results
|
|
1174
|
+
- Note any lessons learned
|
|
1175
|
+
|
|
1176
|
+
**Example of Validation Failure Documentation**:
|
|
1177
|
+
|
|
1178
|
+
```markdown
|
|
1179
|
+
## Validation (Tier 2: Standard)
|
|
1180
|
+
|
|
1181
|
+
### Initial Validation (Failed)
|
|
1182
|
+
❌ getDiagnostics found 2 type errors in TokenSelector.ts
|
|
1183
|
+
- Line 45: Property 'priority' does not exist on type 'Token'
|
|
1184
|
+
- Line 67: Argument of type 'string' not assignable to parameter of type 'TokenType'
|
|
1185
|
+
❌ Functional validation: selectToken() not returning correct priority
|
|
1186
|
+
- Expected semantic token, got primitive token
|
|
1187
|
+
|
|
1188
|
+
### Resolution
|
|
1189
|
+
- Fixed type errors: Added 'priority' property to Token interface
|
|
1190
|
+
- Fixed type error: Changed argument type from string to TokenType enum
|
|
1191
|
+
- Fixed priority logic: Corrected semantic token check in selectToken()
|
|
1192
|
+
|
|
1193
|
+
### Final Validation (Passed)
|
|
1194
|
+
✅ getDiagnostics passed - no syntax errors
|
|
1195
|
+
✅ All imports resolve correctly
|
|
1196
|
+
✅ Functional validation: selectToken() returns correct priority
|
|
1197
|
+
✅ Integration validation: Works correctly with token registries
|
|
1198
|
+
✅ Requirements compliance: All requirements addressed
|
|
1199
|
+
```
|
|
1200
|
+
|
|
1201
|
+
---
|
|
1202
|
+
|
|
1203
|
+
### Validation Best Practices
|
|
1204
|
+
|
|
1205
|
+
**Use getDiagnostics First**: Always run `getDiagnostics` before other validation checks. Syntax errors must be fixed before functional validation.
|
|
1206
|
+
|
|
1207
|
+
**Validate Incrementally**: Don't wait until task completion to validate. Check syntax and functionality as you build.
|
|
1208
|
+
|
|
1209
|
+
**Document Specific Checks**: List specific validation checks performed, not just "validation passed."
|
|
1210
|
+
|
|
1211
|
+
**Provide Evidence**: For comprehensive validation, provide evidence (test results, examples) that checks passed.
|
|
1212
|
+
|
|
1213
|
+
**Fix Before Proceeding**: Never move to the next task with validation failures. Fix issues immediately.
|
|
1214
|
+
|
|
1215
|
+
**Learn from Failures**: Document what went wrong and how it was fixed. This helps prevent similar issues in future tasks.
|
|
1216
|
+
|
|
1217
|
+
---
|
|
1218
|
+
|
|
1219
|
+
## Three-Tier Completion Documentation System
|
|
1220
|
+
|
|
1221
|
+
### Overview
|
|
1222
|
+
|
|
1223
|
+
The Three-Tier Completion Documentation System aligns documentation detail with task complexity and type. Each task type (Setup, Implementation, Architecture, Parent) has a corresponding documentation tier that specifies the required sections and level of detail for completion documentation.
|
|
1224
|
+
|
|
1225
|
+
This documentation system ensures:
|
|
1226
|
+
- **Appropriate documentation depth** matched to task complexity
|
|
1227
|
+
- **Consistent documentation structure** across all tasks
|
|
1228
|
+
- **Efficient knowledge capture** without excessive overhead
|
|
1229
|
+
- **Clear completion artifacts** for future reference
|
|
1230
|
+
|
|
1231
|
+
### Documentation Principles
|
|
1232
|
+
|
|
1233
|
+
**Documentation Depth Matches Complexity**: Low-complexity Setup tasks receive minimal documentation, while high-complexity Architecture tasks receive comprehensive documentation.
|
|
1234
|
+
|
|
1235
|
+
**All Subtasks Documented**: Every subtask receives a completion document, regardless of tier.
|
|
1236
|
+
|
|
1237
|
+
**Structured Templates**: Each tier has a defined template with required sections.
|
|
1238
|
+
|
|
1239
|
+
**Evidence-Based**: Documentation includes specific evidence of completion and validation results.
|
|
1240
|
+
|
|
1241
|
+
---
|
|
1242
|
+
|
|
1243
|
+
### Tier 1: Minimal Documentation (Setup Tasks)
|
|
1244
|
+
|
|
1245
|
+
**📖 CONDITIONAL SECTION - Read only when needed**
|
|
1246
|
+
|
|
1247
|
+
**Load when**:
|
|
1248
|
+
- Documenting Setup task completion (Tier 1)
|
|
1249
|
+
- Need to understand minimal documentation requirements
|
|
1250
|
+
- Creating completion docs for structural work
|
|
1251
|
+
- Need template for Setup task documentation
|
|
1252
|
+
|
|
1253
|
+
**Skip when**:
|
|
1254
|
+
- Documenting Implementation or Architecture tasks (use Tier 2 or 3)
|
|
1255
|
+
- Not currently creating completion documentation
|
|
1256
|
+
- Just planning or executing tasks
|
|
1257
|
+
|
|
1258
|
+
---
|
|
1259
|
+
|
|
1260
|
+
**Purpose**: Document structural work completion with basic verification
|
|
1261
|
+
|
|
1262
|
+
**When to Apply**:
|
|
1263
|
+
- Setup tasks (directory creation, configuration files, dependency installation)
|
|
1264
|
+
- Low complexity, low risk work
|
|
1265
|
+
- Straightforward operations with clear outcomes
|
|
1266
|
+
|
|
1267
|
+
**Required Sections**:
|
|
1268
|
+
|
|
1269
|
+
1. **Metadata Header**
|
|
1270
|
+
- Date of completion
|
|
1271
|
+
- Task number and name
|
|
1272
|
+
- Task type (Setup)
|
|
1273
|
+
- Status (Complete)
|
|
1274
|
+
|
|
1275
|
+
2. **Artifacts Created**
|
|
1276
|
+
- List of files and directories created
|
|
1277
|
+
- Specific paths for all artifacts
|
|
1278
|
+
- Brief description if needed
|
|
1279
|
+
|
|
1280
|
+
3. **Implementation Notes**
|
|
1281
|
+
- Brief description of what was done
|
|
1282
|
+
- Any deviations from plan
|
|
1283
|
+
- Simple observations or notes
|
|
1284
|
+
|
|
1285
|
+
4. **Validation**
|
|
1286
|
+
- Document Tier 1: Minimal validation results
|
|
1287
|
+
- List specific checks performed
|
|
1288
|
+
- Confirm all checks passed
|
|
1289
|
+
|
|
1290
|
+
**Template Example**:
|
|
1291
|
+
|
|
1292
|
+
```markdown
|
|
1293
|
+
# Task [N.M] Completion: [Task Name]
|
|
1294
|
+
|
|
1295
|
+
**Date**: [Date]
|
|
1296
|
+
**Task**: [N.M] [Task name]
|
|
1297
|
+
**Type**: Setup
|
|
1298
|
+
**Status**: Complete
|
|
1299
|
+
|
|
1300
|
+
---
|
|
1301
|
+
|
|
1302
|
+
## Artifacts Created
|
|
1303
|
+
|
|
1304
|
+
- [File/directory 1 with path]
|
|
1305
|
+
- [File/directory 2 with path]
|
|
1306
|
+
- [File/directory 3 with path]
|
|
1307
|
+
|
|
1308
|
+
## Implementation Notes
|
|
1309
|
+
|
|
1310
|
+
[Brief description of what was done - 2-3 sentences]
|
|
1311
|
+
|
|
1312
|
+
[Any deviations from the plan or notable observations]
|
|
1313
|
+
|
|
1314
|
+
## Validation (Tier 1: Minimal)
|
|
1315
|
+
|
|
1316
|
+
### Syntax Validation
|
|
1317
|
+
✅ getDiagnostics passed - no syntax errors
|
|
1318
|
+
✅ All imports resolve correctly
|
|
1319
|
+
|
|
1320
|
+
### Artifact Verification
|
|
1321
|
+
✅ [Specific artifact 1] created at [path]
|
|
1322
|
+
✅ [Specific artifact 2] created at [path]
|
|
1323
|
+
✅ All specified artifacts present
|
|
1324
|
+
|
|
1325
|
+
### Basic Structure Validation
|
|
1326
|
+
✅ Directory structure accessible
|
|
1327
|
+
✅ Configuration files have required fields
|
|
1328
|
+
✅ Basic structure correct
|
|
1329
|
+
```
|
|
1330
|
+
|
|
1331
|
+
**Example - Directory Structure Creation**:
|
|
1332
|
+
|
|
1333
|
+
```markdown
|
|
1334
|
+
# Task 1.1 Completion: Create Directory Structure
|
|
1335
|
+
|
|
1336
|
+
**Date**: 2025-10-20
|
|
1337
|
+
**Task**: 1.1 Create directory structure
|
|
1338
|
+
**Type**: Setup
|
|
1339
|
+
**Status**: Complete
|
|
1340
|
+
|
|
1341
|
+
---
|
|
1342
|
+
|
|
1343
|
+
## Artifacts Created
|
|
1344
|
+
|
|
1345
|
+
- `src/build/` - Main build system directory
|
|
1346
|
+
- `src/build/platforms/` - Platform-specific generators
|
|
1347
|
+
- `src/build/interfaces/` - Build system interfaces
|
|
1348
|
+
- `src/build/orchestration/` - Build orchestration logic
|
|
1349
|
+
|
|
1350
|
+
## Implementation Notes
|
|
1351
|
+
|
|
1352
|
+
Created the foundational directory structure for the build system. All directories follow the established project organization pattern with clear separation between interfaces, platform-specific code, and orchestration logic.
|
|
1353
|
+
|
|
1354
|
+
## Validation (Tier 1: Minimal)
|
|
1355
|
+
|
|
1356
|
+
### Syntax Validation
|
|
1357
|
+
✅ getDiagnostics passed - no syntax errors
|
|
1358
|
+
✅ No compilation issues
|
|
1359
|
+
|
|
1360
|
+
### Artifact Verification
|
|
1361
|
+
✅ src/build/ directory created
|
|
1362
|
+
✅ src/build/platforms/ subdirectory created
|
|
1363
|
+
✅ src/build/interfaces/ subdirectory created
|
|
1364
|
+
✅ src/build/orchestration/ subdirectory created
|
|
1365
|
+
|
|
1366
|
+
### Basic Structure Validation
|
|
1367
|
+
✅ All directories accessible
|
|
1368
|
+
✅ Directory structure matches specification
|
|
1369
|
+
✅ Paths follow project conventions
|
|
1370
|
+
```
|
|
1371
|
+
|
|
1372
|
+
---
|
|
1373
|
+
|
|
1374
|
+
### Tier 2: Standard Documentation (Implementation Tasks)
|
|
1375
|
+
|
|
1376
|
+
**📖 CONDITIONAL SECTION - Read only when needed**
|
|
1377
|
+
|
|
1378
|
+
**Load when**:
|
|
1379
|
+
- Documenting Implementation task completion (Tier 2)
|
|
1380
|
+
- Need to understand standard documentation requirements
|
|
1381
|
+
- Creating completion docs for functional code
|
|
1382
|
+
- Need template for Implementation task documentation
|
|
1383
|
+
|
|
1384
|
+
**Skip when**:
|
|
1385
|
+
- Documenting Setup or Architecture tasks (use Tier 1 or 3)
|
|
1386
|
+
- Not currently creating completion documentation
|
|
1387
|
+
- Just planning or executing tasks
|
|
1388
|
+
|
|
1389
|
+
---
|
|
1390
|
+
|
|
1391
|
+
**Purpose**: Document implementation approach, decisions, and validation results
|
|
1392
|
+
|
|
1393
|
+
**When to Apply**:
|
|
1394
|
+
- Implementation tasks (class methods, API endpoints, UI components)
|
|
1395
|
+
- Medium complexity, medium risk work
|
|
1396
|
+
- Functional code requiring integration validation
|
|
1397
|
+
|
|
1398
|
+
**Required Sections**:
|
|
1399
|
+
|
|
1400
|
+
1. **Metadata Header**
|
|
1401
|
+
- Date of completion
|
|
1402
|
+
- Task number and name
|
|
1403
|
+
- Task type (Implementation)
|
|
1404
|
+
- Status (Complete)
|
|
1405
|
+
|
|
1406
|
+
2. **Artifacts Created**
|
|
1407
|
+
- List of files created or modified
|
|
1408
|
+
- Specific paths and descriptions
|
|
1409
|
+
- Key components or functions added
|
|
1410
|
+
|
|
1411
|
+
3. **Implementation Details**
|
|
1412
|
+
- Description of implementation approach
|
|
1413
|
+
- Key decisions made during implementation
|
|
1414
|
+
- How the solution addresses requirements
|
|
1415
|
+
- Any trade-offs or alternatives considered
|
|
1416
|
+
|
|
1417
|
+
4. **Validation**
|
|
1418
|
+
- Document Tier 2: Standard validation results
|
|
1419
|
+
- Syntax validation checks
|
|
1420
|
+
- Functional validation checks
|
|
1421
|
+
- Integration validation checks
|
|
1422
|
+
- Requirements compliance checks
|
|
1423
|
+
|
|
1424
|
+
5. **Requirements Compliance**
|
|
1425
|
+
- List requirements addressed by this task
|
|
1426
|
+
- Confirm each requirement is met
|
|
1427
|
+
- Note any partial implementations or future work
|
|
1428
|
+
|
|
1429
|
+
**Template Example**:
|
|
1430
|
+
|
|
1431
|
+
```markdown
|
|
1432
|
+
# Task [N.M] Completion: [Task Name]
|
|
1433
|
+
|
|
1434
|
+
**Date**: [Date]
|
|
1435
|
+
**Task**: [N.M] [Task name]
|
|
1436
|
+
**Type**: Implementation
|
|
1437
|
+
**Status**: Complete
|
|
1438
|
+
|
|
1439
|
+
---
|
|
1440
|
+
|
|
1441
|
+
## Artifacts Created
|
|
1442
|
+
|
|
1443
|
+
- [File 1 with path] - [Description]
|
|
1444
|
+
- [File 2 with path] - [Description]
|
|
1445
|
+
- [Modified file with path] - [What was changed]
|
|
1446
|
+
|
|
1447
|
+
## Implementation Details
|
|
1448
|
+
|
|
1449
|
+
### Approach
|
|
1450
|
+
|
|
1451
|
+
[Description of the implementation approach - 1-2 paragraphs]
|
|
1452
|
+
|
|
1453
|
+
### Key Decisions
|
|
1454
|
+
|
|
1455
|
+
**Decision 1**: [Decision made]
|
|
1456
|
+
- **Rationale**: [Why this approach]
|
|
1457
|
+
- **Alternative**: [What was considered but not chosen]
|
|
1458
|
+
|
|
1459
|
+
**Decision 2**: [Decision made]
|
|
1460
|
+
- **Rationale**: [Why this approach]
|
|
1461
|
+
|
|
1462
|
+
### Integration Points
|
|
1463
|
+
|
|
1464
|
+
[How this implementation integrates with existing code]
|
|
1465
|
+
|
|
1466
|
+
## Validation (Tier 2: Standard)
|
|
1467
|
+
|
|
1468
|
+
### Syntax Validation
|
|
1469
|
+
✅ getDiagnostics passed - no syntax errors
|
|
1470
|
+
✅ All imports resolve correctly
|
|
1471
|
+
✅ Type annotations correct
|
|
1472
|
+
|
|
1473
|
+
### Functional Validation
|
|
1474
|
+
✅ [Functional check 1 with specific test]
|
|
1475
|
+
✅ [Functional check 2 with specific test]
|
|
1476
|
+
✅ [Error handling check]
|
|
1477
|
+
|
|
1478
|
+
### Integration Validation
|
|
1479
|
+
✅ [Integration check 1 with component]
|
|
1480
|
+
✅ [Integration check 2 with component]
|
|
1481
|
+
✅ Method signatures match expectations
|
|
1482
|
+
|
|
1483
|
+
### Requirements Compliance
|
|
1484
|
+
✅ Requirement [X.X]: [Description of how met]
|
|
1485
|
+
✅ Requirement [Y.Y]: [Description of how met]
|
|
1486
|
+
```
|
|
1487
|
+
|
|
1488
|
+
**Example - Token Selector Implementation**:
|
|
1489
|
+
|
|
1490
|
+
```markdown
|
|
1491
|
+
# Task 1.2 Completion: Implement Token Selector
|
|
1492
|
+
|
|
1493
|
+
**Date**: 2025-10-20
|
|
1494
|
+
**Task**: 1.2 Implement TokenSelector class with priority logic
|
|
1495
|
+
**Type**: Implementation
|
|
1496
|
+
**Status**: Complete
|
|
1497
|
+
|
|
1498
|
+
---
|
|
1499
|
+
|
|
1500
|
+
## Artifacts Created
|
|
1501
|
+
|
|
1502
|
+
- `src/build/TokenSelector.ts` - Token selection logic with priority handling
|
|
1503
|
+
- `src/build/interfaces/ITokenSelector.ts` - Token selector interface
|
|
1504
|
+
|
|
1505
|
+
## Implementation Details
|
|
1506
|
+
|
|
1507
|
+
### Approach
|
|
1508
|
+
|
|
1509
|
+
Implemented the TokenSelector class to handle token selection with priority logic that favors semantic tokens over primitive tokens. The implementation uses a two-phase lookup strategy: first checking the semantic token registry, then falling back to the primitive token registry if needed.
|
|
1510
|
+
|
|
1511
|
+
The class maintains references to both registries and provides a single `selectToken()` method that encapsulates the priority logic. Error handling was added to provide clear messages when tokens are not found in either registry.
|
|
1512
|
+
|
|
1513
|
+
### Key Decisions
|
|
1514
|
+
|
|
1515
|
+
**Decision 1**: Two-phase lookup strategy
|
|
1516
|
+
- **Rationale**: Keeps the priority logic simple and explicit - semantic tokens are always checked first
|
|
1517
|
+
- **Alternative**: Could have used a unified registry with priority metadata, but that would complicate the registry implementation
|
|
1518
|
+
|
|
1519
|
+
**Decision 2**: Explicit error messages
|
|
1520
|
+
- **Rationale**: When a token isn't found, the error message indicates which registries were checked, helping developers debug token reference issues
|
|
1521
|
+
- **Alternative**: Could have returned null/undefined, but explicit errors are better for development experience
|
|
1522
|
+
|
|
1523
|
+
### Integration Points
|
|
1524
|
+
|
|
1525
|
+
The TokenSelector integrates with:
|
|
1526
|
+
- `PrimitiveTokenRegistry` for primitive token lookups
|
|
1527
|
+
- `SemanticTokenRegistry` for semantic token lookups
|
|
1528
|
+
- `BuildOrchestrator` which uses TokenSelector to resolve token references during generation
|
|
1529
|
+
|
|
1530
|
+
## Validation (Tier 2: Standard)
|
|
1531
|
+
|
|
1532
|
+
### Syntax Validation
|
|
1533
|
+
✅ getDiagnostics passed - no syntax errors
|
|
1534
|
+
✅ All imports resolve correctly
|
|
1535
|
+
✅ Type annotations correct
|
|
1536
|
+
|
|
1537
|
+
### Functional Validation
|
|
1538
|
+
✅ selectToken() returns semantic token when available
|
|
1539
|
+
✅ selectToken() falls back to primitive token when semantic unavailable
|
|
1540
|
+
✅ selectToken() throws clear error when token not found in either registry
|
|
1541
|
+
✅ Priority logic correctly favors semantic over primitive
|
|
1542
|
+
|
|
1543
|
+
### Integration Validation
|
|
1544
|
+
✅ Integrates with PrimitiveTokenRegistry correctly
|
|
1545
|
+
✅ Integrates with SemanticTokenRegistry correctly
|
|
1546
|
+
✅ Method signatures match BuildOrchestrator expectations
|
|
1547
|
+
✅ Return types compatible with downstream consumers
|
|
1548
|
+
|
|
1549
|
+
### Requirements Compliance
|
|
1550
|
+
✅ Requirement 9.1: Token selection priority logic implemented (semantic > primitive)
|
|
1551
|
+
✅ Requirement 9.2: Fallback mechanism implemented for missing semantic tokens
|
|
1552
|
+
✅ Requirement 9.3: Error handling provides actionable messages for invalid references
|
|
1553
|
+
```
|
|
1554
|
+
|
|
1555
|
+
---
|
|
1556
|
+
|
|
1557
|
+
### Tier 3: Comprehensive Documentation (Architecture & Parent Tasks)
|
|
1558
|
+
|
|
1559
|
+
**📖 CONDITIONAL SECTION - Read only when needed**
|
|
1560
|
+
|
|
1561
|
+
**Load when**:
|
|
1562
|
+
- Documenting Architecture or Parent task completion (Tier 3)
|
|
1563
|
+
- Need to understand comprehensive documentation requirements
|
|
1564
|
+
- Creating completion docs for design decisions
|
|
1565
|
+
- Need template for Architecture/Parent task documentation
|
|
1566
|
+
|
|
1567
|
+
**Skip when**:
|
|
1568
|
+
- Documenting Setup or Implementation tasks (use Tier 1 or 2)
|
|
1569
|
+
- Not currently creating completion documentation
|
|
1570
|
+
- Just planning or executing tasks
|
|
1571
|
+
|
|
1572
|
+
---
|
|
1573
|
+
|
|
1574
|
+
**Purpose**: Document design decisions, architectural rationale, and system integration
|
|
1575
|
+
|
|
1576
|
+
**When to Apply**:
|
|
1577
|
+
- Architecture tasks (design decisions, algorithms, system patterns)
|
|
1578
|
+
- Parent tasks (container tasks with success criteria)
|
|
1579
|
+
- High complexity, high risk work
|
|
1580
|
+
- Design decisions affecting system structure
|
|
1581
|
+
|
|
1582
|
+
**Required Sections**:
|
|
1583
|
+
|
|
1584
|
+
1. **Metadata Header**
|
|
1585
|
+
- Date of completion
|
|
1586
|
+
- Task number and name
|
|
1587
|
+
- Task type (Architecture or Parent)
|
|
1588
|
+
- Status (Complete)
|
|
1589
|
+
|
|
1590
|
+
2. **Artifacts Created**
|
|
1591
|
+
- List of files created or modified
|
|
1592
|
+
- Specific paths and descriptions
|
|
1593
|
+
- Key components, interfaces, or patterns established
|
|
1594
|
+
|
|
1595
|
+
3. **Architecture Decisions**
|
|
1596
|
+
- Each major design decision documented separately
|
|
1597
|
+
- Options considered for each decision
|
|
1598
|
+
- Chosen approach with detailed rationale
|
|
1599
|
+
- Trade-offs and what was given up
|
|
1600
|
+
- Counter-arguments and why they were rejected
|
|
1601
|
+
|
|
1602
|
+
4. **Implementation Details**
|
|
1603
|
+
- Description of implementation approach
|
|
1604
|
+
- How the architecture was realized in code
|
|
1605
|
+
- Key patterns or abstractions used
|
|
1606
|
+
- Integration strategy
|
|
1607
|
+
|
|
1608
|
+
5. **Algorithm** (if applicable)
|
|
1609
|
+
- Pseudocode or code examples
|
|
1610
|
+
- Explanation of algorithmic approach
|
|
1611
|
+
- Complexity analysis if relevant
|
|
1612
|
+
- Edge cases handled
|
|
1613
|
+
|
|
1614
|
+
6. **Validation**
|
|
1615
|
+
- Document Tier 3: Comprehensive validation results
|
|
1616
|
+
- Syntax validation checks
|
|
1617
|
+
- Functional validation checks
|
|
1618
|
+
- Design validation checks
|
|
1619
|
+
- System integration checks
|
|
1620
|
+
- Edge case validation checks
|
|
1621
|
+
- Requirements compliance checks
|
|
1622
|
+
|
|
1623
|
+
7. **Requirements Compliance**
|
|
1624
|
+
- List all requirements addressed
|
|
1625
|
+
- Confirm each requirement is met
|
|
1626
|
+
- Explain how design decisions support requirements
|
|
1627
|
+
|
|
1628
|
+
8. **Lessons Learned**
|
|
1629
|
+
- Insights gained during implementation
|
|
1630
|
+
- What worked well
|
|
1631
|
+
- What was challenging
|
|
1632
|
+
- What would be done differently
|
|
1633
|
+
|
|
1634
|
+
9. **Integration Points**
|
|
1635
|
+
- How this component integrates with other system components
|
|
1636
|
+
- Dependencies and dependents
|
|
1637
|
+
- Extension points for future work
|
|
1638
|
+
- API surface and contracts
|
|
1639
|
+
|
|
1640
|
+
**Template Example**:
|
|
1641
|
+
|
|
1642
|
+
```markdown
|
|
1643
|
+
# Task [N.M] Completion: [Task Name]
|
|
1644
|
+
|
|
1645
|
+
**Date**: [Date]
|
|
1646
|
+
**Task**: [N.M] [Task name]
|
|
1647
|
+
**Type**: Architecture
|
|
1648
|
+
**Status**: Complete
|
|
1649
|
+
|
|
1650
|
+
---
|
|
1651
|
+
|
|
1652
|
+
## Artifacts Created
|
|
1653
|
+
|
|
1654
|
+
- [File 1 with path] - [Description]
|
|
1655
|
+
- [File 2 with path] - [Description]
|
|
1656
|
+
- [Interface/pattern established]
|
|
1657
|
+
|
|
1658
|
+
## Architecture Decisions
|
|
1659
|
+
|
|
1660
|
+
### Decision 1: [Decision Title]
|
|
1661
|
+
|
|
1662
|
+
**Options Considered**:
|
|
1663
|
+
1. [Option A] - [Brief description]
|
|
1664
|
+
2. [Option B] - [Brief description]
|
|
1665
|
+
3. [Option C] - [Brief description]
|
|
1666
|
+
|
|
1667
|
+
**Decision**: [Chosen approach]
|
|
1668
|
+
|
|
1669
|
+
**Rationale**:
|
|
1670
|
+
[Detailed explanation of why this approach was chosen - 2-3 paragraphs]
|
|
1671
|
+
|
|
1672
|
+
**Trade-offs**:
|
|
1673
|
+
- ✅ **Gained**: [What this approach provides]
|
|
1674
|
+
- ❌ **Lost**: [What was given up]
|
|
1675
|
+
- ⚠️ **Risk**: [Potential risks or concerns]
|
|
1676
|
+
|
|
1677
|
+
**Counter-Arguments**:
|
|
1678
|
+
- **Argument**: [Why this might be wrong]
|
|
1679
|
+
- **Response**: [Why we proceeded anyway]
|
|
1680
|
+
|
|
1681
|
+
### Decision 2: [Decision Title]
|
|
1682
|
+
|
|
1683
|
+
[Same structure as Decision 1]
|
|
1684
|
+
|
|
1685
|
+
## Implementation Details
|
|
1686
|
+
|
|
1687
|
+
### Approach
|
|
1688
|
+
|
|
1689
|
+
[Detailed description of implementation approach - 2-3 paragraphs]
|
|
1690
|
+
|
|
1691
|
+
### Key Patterns
|
|
1692
|
+
|
|
1693
|
+
**Pattern 1**: [Pattern name]
|
|
1694
|
+
- [How it's used]
|
|
1695
|
+
- [Why it's appropriate]
|
|
1696
|
+
|
|
1697
|
+
**Pattern 2**: [Pattern name]
|
|
1698
|
+
- [How it's used]
|
|
1699
|
+
- [Why it's appropriate]
|
|
1700
|
+
|
|
1701
|
+
## Algorithm
|
|
1702
|
+
|
|
1703
|
+
[If applicable - pseudocode or code examples]
|
|
1704
|
+
|
|
1705
|
+
```
|
|
1706
|
+
[Pseudocode or algorithm description]
|
|
1707
|
+
```
|
|
1708
|
+
|
|
1709
|
+
[Explanation of algorithmic approach]
|
|
1710
|
+
|
|
1711
|
+
## Validation (Tier 3: Comprehensive)
|
|
1712
|
+
|
|
1713
|
+
### Syntax Validation
|
|
1714
|
+
✅ getDiagnostics passed - no syntax errors
|
|
1715
|
+
✅ All imports resolve correctly
|
|
1716
|
+
✅ Type annotations correct
|
|
1717
|
+
|
|
1718
|
+
### Functional Validation
|
|
1719
|
+
✅ [Functional check 1]
|
|
1720
|
+
✅ [Functional check 2]
|
|
1721
|
+
✅ [Error handling check]
|
|
1722
|
+
|
|
1723
|
+
### Design Validation
|
|
1724
|
+
✅ Architecture supports extensibility - [specific example]
|
|
1725
|
+
✅ Separation of concerns maintained - [specific example]
|
|
1726
|
+
✅ Design patterns applied correctly - [specific example]
|
|
1727
|
+
✅ Abstractions appropriate - [specific example]
|
|
1728
|
+
|
|
1729
|
+
### System Integration
|
|
1730
|
+
✅ Integrates with [component 1] correctly
|
|
1731
|
+
✅ Integrates with [component 2] correctly
|
|
1732
|
+
✅ Interfaces clear and well-defined
|
|
1733
|
+
✅ Dependencies managed correctly
|
|
1734
|
+
|
|
1735
|
+
### Edge Cases
|
|
1736
|
+
✅ [Edge case 1 handled]
|
|
1737
|
+
✅ [Edge case 2 handled]
|
|
1738
|
+
✅ Error messages actionable
|
|
1739
|
+
✅ Recovery mechanisms work
|
|
1740
|
+
|
|
1741
|
+
### Requirements Compliance
|
|
1742
|
+
✅ Requirement [X.X]: [How design decision supports this]
|
|
1743
|
+
✅ Requirement [Y.Y]: [How design decision supports this]
|
|
1744
|
+
|
|
1745
|
+
## Requirements Compliance
|
|
1746
|
+
|
|
1747
|
+
[Detailed explanation of how each requirement is met]
|
|
1748
|
+
|
|
1749
|
+
## Lessons Learned
|
|
1750
|
+
|
|
1751
|
+
### What Worked Well
|
|
1752
|
+
- [Insight 1]
|
|
1753
|
+
- [Insight 2]
|
|
1754
|
+
|
|
1755
|
+
### Challenges
|
|
1756
|
+
- [Challenge 1 and how it was overcome]
|
|
1757
|
+
- [Challenge 2 and how it was overcome]
|
|
1758
|
+
|
|
1759
|
+
### Future Considerations
|
|
1760
|
+
- [What would be done differently]
|
|
1761
|
+
- [Potential improvements]
|
|
1762
|
+
|
|
1763
|
+
## Integration Points
|
|
1764
|
+
|
|
1765
|
+
### Dependencies
|
|
1766
|
+
- [Component this depends on] - [Why and how]
|
|
1767
|
+
|
|
1768
|
+
### Dependents
|
|
1769
|
+
- [Component that depends on this] - [Why and how]
|
|
1770
|
+
|
|
1771
|
+
### Extension Points
|
|
1772
|
+
- [How this can be extended in the future]
|
|
1773
|
+
- [What's designed for future expansion]
|
|
1774
|
+
|
|
1775
|
+
### API Surface
|
|
1776
|
+
- [Key interfaces or methods exposed]
|
|
1777
|
+
- [Contracts and guarantees]
|
|
1778
|
+
```
|
|
1779
|
+
|
|
1780
|
+
---
|
|
1781
|
+
|
|
1782
|
+
### Tier 3: Comprehensive Documentation (Parent Tasks - Additional Sections)
|
|
1783
|
+
|
|
1784
|
+
**Purpose**: Document overall integration story and success criteria verification
|
|
1785
|
+
|
|
1786
|
+
**When to Apply**:
|
|
1787
|
+
- Parent tasks that encompass multiple subtasks
|
|
1788
|
+
- Tasks with explicit success criteria
|
|
1789
|
+
- End-to-end functionality requiring integration verification
|
|
1790
|
+
|
|
1791
|
+
**Additional Sections (Beyond Architecture Tier 3)**:
|
|
1792
|
+
|
|
1793
|
+
1. **Success Criteria Verification**
|
|
1794
|
+
- Each success criterion listed separately
|
|
1795
|
+
- Evidence provided for each criterion
|
|
1796
|
+
- Specific examples or test results
|
|
1797
|
+
- Confirmation that overall goals are met
|
|
1798
|
+
|
|
1799
|
+
2. **Overall Integration Story**
|
|
1800
|
+
- How all subtasks fit together
|
|
1801
|
+
- The complete workflow or system behavior
|
|
1802
|
+
- End-to-end functionality description
|
|
1803
|
+
- User-facing capabilities delivered
|
|
1804
|
+
|
|
1805
|
+
3. **Subtask Summary**
|
|
1806
|
+
- Brief summary of each subtask contribution
|
|
1807
|
+
- How subtasks integrate with each other
|
|
1808
|
+
- Any cross-subtask considerations
|
|
1809
|
+
|
|
1810
|
+
**Additional Template Sections**:
|
|
1811
|
+
|
|
1812
|
+
```markdown
|
|
1813
|
+
## Success Criteria Verification
|
|
1814
|
+
|
|
1815
|
+
### Criterion 1: [Success criterion text]
|
|
1816
|
+
|
|
1817
|
+
**Evidence**: [Specific evidence that this criterion is met]
|
|
1818
|
+
|
|
1819
|
+
**Verification**:
|
|
1820
|
+
- [Specific test or check 1]
|
|
1821
|
+
- [Specific test or check 2]
|
|
1822
|
+
- [Specific test or check 3]
|
|
1823
|
+
|
|
1824
|
+
**Example**: [Concrete example demonstrating this criterion is met]
|
|
1825
|
+
|
|
1826
|
+
### Criterion 2: [Success criterion text]
|
|
1827
|
+
|
|
1828
|
+
[Same structure as Criterion 1]
|
|
1829
|
+
|
|
1830
|
+
## Overall Integration Story
|
|
1831
|
+
|
|
1832
|
+
### Complete Workflow
|
|
1833
|
+
|
|
1834
|
+
[Description of the end-to-end workflow enabled by this parent task - 2-3 paragraphs]
|
|
1835
|
+
|
|
1836
|
+
### Subtask Contributions
|
|
1837
|
+
|
|
1838
|
+
**Task [N.1]**: [Subtask name]
|
|
1839
|
+
- [What it contributed to the overall system]
|
|
1840
|
+
- [How it integrates with other subtasks]
|
|
1841
|
+
|
|
1842
|
+
**Task [N.2]**: [Subtask name]
|
|
1843
|
+
- [What it contributed to the overall system]
|
|
1844
|
+
- [How it integrates with other subtasks]
|
|
1845
|
+
|
|
1846
|
+
**Task [N.3]**: [Subtask name]
|
|
1847
|
+
- [What it contributed to the overall system]
|
|
1848
|
+
- [How it integrates with other subtasks]
|
|
1849
|
+
|
|
1850
|
+
### System Behavior
|
|
1851
|
+
|
|
1852
|
+
[Description of the complete system behavior after all subtasks are integrated]
|
|
1853
|
+
|
|
1854
|
+
### User-Facing Capabilities
|
|
1855
|
+
|
|
1856
|
+
[What capabilities are now available to users/developers as a result of this work]
|
|
1857
|
+
```
|
|
1858
|
+
|
|
1859
|
+
**Example - Parent Task Completion**:
|
|
1860
|
+
|
|
1861
|
+
```markdown
|
|
1862
|
+
# Task 1 Completion: Build System Foundation
|
|
1863
|
+
|
|
1864
|
+
**Date**: 2025-10-20
|
|
1865
|
+
**Task**: 1. Build System Foundation
|
|
1866
|
+
**Type**: Parent
|
|
1867
|
+
**Status**: Complete
|
|
1868
|
+
|
|
1869
|
+
---
|
|
1870
|
+
|
|
1871
|
+
## Artifacts Created
|
|
1872
|
+
|
|
1873
|
+
- `src/build/` directory structure
|
|
1874
|
+
- `src/build/TokenSelector.ts` - Token selection with priority logic
|
|
1875
|
+
- `src/build/BuildOrchestrator.ts` - Build orchestration architecture
|
|
1876
|
+
- `src/build/interfaces/` - All build system interfaces
|
|
1877
|
+
- `src/build/platforms/` - Platform generator structure
|
|
1878
|
+
|
|
1879
|
+
## Architecture Decisions
|
|
1880
|
+
|
|
1881
|
+
### Decision 1: Orchestration Pattern
|
|
1882
|
+
|
|
1883
|
+
**Options Considered**:
|
|
1884
|
+
1. Monolithic builder - Single class handling all build logic
|
|
1885
|
+
2. Pipeline pattern - Sequential stages with data passing
|
|
1886
|
+
3. Orchestrator pattern - Coordinator delegating to specialized components
|
|
1887
|
+
|
|
1888
|
+
**Decision**: Orchestrator pattern
|
|
1889
|
+
|
|
1890
|
+
**Rationale**:
|
|
1891
|
+
The orchestrator pattern provides the best balance of separation of concerns and coordination. The BuildOrchestrator coordinates between token selection, platform-specific generation, and file writing without implementing any of these concerns itself. This makes the system highly extensible - new platforms can be added by implementing the platform generator interface without modifying the orchestrator.
|
|
1892
|
+
|
|
1893
|
+
The pattern also provides clear error handling boundaries. Each component (TokenSelector, platform generators, file writers) can fail independently, and the orchestrator can handle these failures with appropriate recovery strategies.
|
|
1894
|
+
|
|
1895
|
+
**Trade-offs**:
|
|
1896
|
+
- ✅ **Gained**: Clear separation of concerns, high extensibility, testable components
|
|
1897
|
+
- ❌ **Lost**: Some simplicity - more classes and interfaces than monolithic approach
|
|
1898
|
+
- ⚠️ **Risk**: Coordination complexity if many components need to interact
|
|
1899
|
+
|
|
1900
|
+
**Counter-Arguments**:
|
|
1901
|
+
- **Argument**: Pipeline pattern would be simpler and more functional
|
|
1902
|
+
- **Response**: Pipeline pattern works well for linear data transformations, but our build process has branching logic (different platforms) and error recovery needs that fit better with orchestration
|
|
1903
|
+
|
|
1904
|
+
### Decision 2: Token Selection Priority
|
|
1905
|
+
|
|
1906
|
+
**Options Considered**:
|
|
1907
|
+
1. Unified registry with priority metadata
|
|
1908
|
+
2. Two-phase lookup (semantic first, then primitive)
|
|
1909
|
+
3. Configuration-driven priority
|
|
1910
|
+
|
|
1911
|
+
**Decision**: Two-phase lookup
|
|
1912
|
+
|
|
1913
|
+
**Rationale**:
|
|
1914
|
+
Two-phase lookup makes the priority explicit in code rather than hidden in configuration or metadata. When reading the TokenSelector code, it's immediately clear that semantic tokens are checked first, then primitive tokens. This explicitness helps developers understand the system behavior without needing to trace through configuration or metadata.
|
|
1915
|
+
|
|
1916
|
+
The approach also keeps the registries simple - they don't need to know about priority, they just store and retrieve tokens. Priority is a concern of the selector, not the storage.
|
|
1917
|
+
|
|
1918
|
+
**Trade-offs**:
|
|
1919
|
+
- ✅ **Gained**: Explicit priority logic, simple registries, clear code flow
|
|
1920
|
+
- ❌ **Lost**: Flexibility to change priority without code changes
|
|
1921
|
+
- ⚠️ **Risk**: If priority rules become complex, two-phase lookup might not scale
|
|
1922
|
+
|
|
1923
|
+
**Counter-Arguments**:
|
|
1924
|
+
- **Argument**: Configuration-driven priority would be more flexible
|
|
1925
|
+
- **Response**: Priority is a core architectural decision, not a configuration concern. Making it explicit in code is appropriate for this level of system behavior.
|
|
1926
|
+
|
|
1927
|
+
## Implementation Details
|
|
1928
|
+
|
|
1929
|
+
### Approach
|
|
1930
|
+
|
|
1931
|
+
Built the foundation in three phases:
|
|
1932
|
+
1. Directory structure and interfaces (Task 1.1)
|
|
1933
|
+
2. Token selection logic (Task 1.2)
|
|
1934
|
+
3. Orchestration architecture (Task 1.3)
|
|
1935
|
+
|
|
1936
|
+
This bottom-up approach ensured each component was solid before building the coordination layer. The interfaces were defined first to establish clear contracts between components.
|
|
1937
|
+
|
|
1938
|
+
### Key Patterns
|
|
1939
|
+
|
|
1940
|
+
**Pattern 1**: Strategy Pattern for Platform Generators
|
|
1941
|
+
- Each platform implements the same interface
|
|
1942
|
+
- Orchestrator doesn't know about platform-specific details
|
|
1943
|
+
- New platforms can be added without modifying orchestrator
|
|
1944
|
+
|
|
1945
|
+
**Pattern 2**: Dependency Injection
|
|
1946
|
+
- Orchestrator receives registries and generators as constructor parameters
|
|
1947
|
+
- Makes testing easier and dependencies explicit
|
|
1948
|
+
- Allows for different configurations in different contexts
|
|
1949
|
+
|
|
1950
|
+
## Validation (Tier 3: Comprehensive - Parent Task)
|
|
1951
|
+
|
|
1952
|
+
### Syntax Validation
|
|
1953
|
+
✅ getDiagnostics passed - no syntax errors across all artifacts
|
|
1954
|
+
✅ All imports resolve correctly
|
|
1955
|
+
✅ Type annotations correct throughout
|
|
1956
|
+
|
|
1957
|
+
### Functional Validation
|
|
1958
|
+
✅ TokenSelector correctly prioritizes semantic over primitive tokens
|
|
1959
|
+
✅ BuildOrchestrator successfully coordinates all components
|
|
1960
|
+
✅ End-to-end build process executes successfully
|
|
1961
|
+
✅ Error handling works for all failure scenarios
|
|
1962
|
+
|
|
1963
|
+
### Design Validation
|
|
1964
|
+
✅ Architecture supports extensibility - new platforms can be added via interface
|
|
1965
|
+
✅ Separation of concerns maintained - selection, generation, writing are separate
|
|
1966
|
+
✅ Strategy pattern applied correctly for platform-specific generation
|
|
1967
|
+
✅ Abstractions appropriate - orchestrator coordinates, doesn't implement
|
|
1968
|
+
|
|
1969
|
+
### System Integration
|
|
1970
|
+
✅ All subtasks integrate correctly with each other
|
|
1971
|
+
✅ TokenSelector integrates with both registries
|
|
1972
|
+
✅ BuildOrchestrator integrates with TokenSelector and generators
|
|
1973
|
+
✅ No conflicts between subtask implementations
|
|
1974
|
+
|
|
1975
|
+
### Edge Cases
|
|
1976
|
+
✅ Missing tokens handled gracefully with clear errors
|
|
1977
|
+
✅ File write failures trigger rollback mechanism
|
|
1978
|
+
✅ Invalid platform specifications caught early
|
|
1979
|
+
✅ Error messages provide actionable guidance
|
|
1980
|
+
|
|
1981
|
+
### Subtask Integration
|
|
1982
|
+
✅ Task 1.1 (directory structure) provides foundation for Task 1.2 and 1.3
|
|
1983
|
+
✅ Task 1.2 (TokenSelector) integrates seamlessly with Task 1.3 (orchestrator)
|
|
1984
|
+
✅ All interfaces defined in Task 1.1 properly implemented in Tasks 1.2 and 1.3
|
|
1985
|
+
|
|
1986
|
+
## Success Criteria Verification
|
|
1987
|
+
|
|
1988
|
+
### Criterion 1: Build system foundation established
|
|
1989
|
+
|
|
1990
|
+
**Evidence**: BuildOrchestrator successfully coordinates token selection, platform-specific generation, and file writing in a single orchestrate() call.
|
|
1991
|
+
|
|
1992
|
+
**Verification**:
|
|
1993
|
+
- Created complete directory structure for build system
|
|
1994
|
+
- Implemented TokenSelector with priority logic
|
|
1995
|
+
- Implemented BuildOrchestrator with coordination logic
|
|
1996
|
+
- All components integrate correctly
|
|
1997
|
+
|
|
1998
|
+
**Example**:
|
|
1999
|
+
```typescript
|
|
2000
|
+
const orchestrator = new BuildOrchestrator(
|
|
2001
|
+
primitiveRegistry,
|
|
2002
|
+
semanticRegistry,
|
|
2003
|
+
platformGenerators
|
|
2004
|
+
);
|
|
2005
|
+
const result = orchestrator.orchestrate('web');
|
|
2006
|
+
// Successfully generates web platform files
|
|
2007
|
+
```
|
|
2008
|
+
|
|
2009
|
+
### Criterion 2: Platform-specific generation working
|
|
2010
|
+
|
|
2011
|
+
**Evidence**: Build system can generate files for web, iOS, and Android platforms with correct platform-specific formatting.
|
|
2012
|
+
|
|
2013
|
+
**Verification**:
|
|
2014
|
+
- Platform generator interface defined
|
|
2015
|
+
- Structure in place for platform-specific generators
|
|
2016
|
+
- Orchestrator delegates to appropriate generator based on platform
|
|
2017
|
+
- Generated files follow platform conventions
|
|
2018
|
+
|
|
2019
|
+
**Example**: Web generates CSS, iOS generates Swift, Android generates Kotlin - all from same token source.
|
|
2020
|
+
|
|
2021
|
+
### Criterion 3: Error handling comprehensive
|
|
2022
|
+
|
|
2023
|
+
**Evidence**: All error scenarios tested and handled with appropriate recovery strategies.
|
|
2024
|
+
|
|
2025
|
+
**Verification**:
|
|
2026
|
+
- Token not found errors provide clear messages
|
|
2027
|
+
- File write failures trigger rollback
|
|
2028
|
+
- Invalid platform specifications caught early
|
|
2029
|
+
- All error paths tested
|
|
2030
|
+
|
|
2031
|
+
**Example**: When a token reference is invalid, error message indicates which registries were checked and suggests valid alternatives.
|
|
2032
|
+
|
|
2033
|
+
## Overall Integration Story
|
|
2034
|
+
|
|
2035
|
+
### Complete Workflow
|
|
2036
|
+
|
|
2037
|
+
The build system foundation enables a complete workflow from token definition to platform-specific file generation:
|
|
2038
|
+
|
|
2039
|
+
1. **Token Selection**: TokenSelector resolves token references by checking semantic registry first, then falling back to primitive registry
|
|
2040
|
+
2. **Platform Generation**: BuildOrchestrator delegates to platform-specific generators based on target platform
|
|
2041
|
+
3. **File Writing**: Generated content is written to appropriate platform directories
|
|
2042
|
+
4. **Error Recovery**: Any failures trigger appropriate error handling and rollback
|
|
2043
|
+
|
|
2044
|
+
This workflow is coordinated by the BuildOrchestrator, which maintains clear separation between these concerns while ensuring they work together correctly.
|
|
2045
|
+
|
|
2046
|
+
### Subtask Contributions
|
|
2047
|
+
|
|
2048
|
+
**Task 1.1**: Create directory structure
|
|
2049
|
+
- Established organizational foundation for build system
|
|
2050
|
+
- Defined clear separation between interfaces, platform code, and orchestration
|
|
2051
|
+
- Provided structure that guides future development
|
|
2052
|
+
|
|
2053
|
+
**Task 1.2**: Implement TokenSelector
|
|
2054
|
+
- Implemented priority logic for token resolution
|
|
2055
|
+
- Provided clear interface for token lookup
|
|
2056
|
+
- Handles fallback and error cases gracefully
|
|
2057
|
+
|
|
2058
|
+
**Task 1.3**: Design BuildOrchestrator architecture
|
|
2059
|
+
- Established coordination pattern for build process
|
|
2060
|
+
- Defined clear interfaces for platform generators
|
|
2061
|
+
- Implemented error handling and recovery strategies
|
|
2062
|
+
|
|
2063
|
+
### System Behavior
|
|
2064
|
+
|
|
2065
|
+
The build system now provides a unified interface for generating platform-specific files from design tokens. Developers can call `orchestrator.orchestrate(platform)` and receive platform-appropriate files without needing to understand the internal coordination logic.
|
|
2066
|
+
|
|
2067
|
+
The system prioritizes semantic tokens over primitive tokens, ensuring that design intent (semantic) is preferred over raw values (primitive) when both are available. This supports the design system's goal of maintaining semantic meaning across platforms.
|
|
2068
|
+
|
|
2069
|
+
### User-Facing Capabilities
|
|
2070
|
+
|
|
2071
|
+
Developers can now:
|
|
2072
|
+
- Generate platform-specific token files with a single command
|
|
2073
|
+
- Rely on automatic token resolution with semantic priority
|
|
2074
|
+
- Receive clear error messages when token references are invalid
|
|
2075
|
+
- Trust that the system handles platform-specific formatting correctly
|
|
2076
|
+
|
|
2077
|
+
## Requirements Compliance
|
|
2078
|
+
|
|
2079
|
+
✅ Requirement 1.1: Build system foundation with clear architecture
|
|
2080
|
+
✅ Requirement 6.3: Comprehensive error handling strategy
|
|
2081
|
+
✅ Requirement 8.2: Extensibility for new platforms via interface
|
|
2082
|
+
✅ Requirement 9.1: Token selection priority (semantic > primitive)
|
|
2083
|
+
✅ Requirement 9.2: Fallback mechanism for missing semantic tokens
|
|
2084
|
+
✅ Requirement 9.3: Clear error messages for invalid references
|
|
2085
|
+
|
|
2086
|
+
## Lessons Learned
|
|
2087
|
+
|
|
2088
|
+
### What Worked Well
|
|
2089
|
+
|
|
2090
|
+
- **Bottom-up approach**: Building interfaces first, then implementations, ensured clear contracts
|
|
2091
|
+
- **Explicit priority logic**: Two-phase lookup made token selection behavior obvious
|
|
2092
|
+
- **Orchestrator pattern**: Provided excellent separation of concerns and extensibility
|
|
2093
|
+
|
|
2094
|
+
### Challenges
|
|
2095
|
+
|
|
2096
|
+
- **Coordination complexity**: Ensuring all components work together required careful interface design
|
|
2097
|
+
- **Resolution**: Defined interfaces early and validated integration points incrementally
|
|
2098
|
+
- **Error handling boundaries**: Determining which component should handle which errors
|
|
2099
|
+
- **Resolution**: Established clear ownership - components detect errors, orchestrator handles recovery
|
|
2100
|
+
|
|
2101
|
+
### Future Considerations
|
|
2102
|
+
|
|
2103
|
+
- **Performance optimization**: Current implementation prioritizes clarity over performance
|
|
2104
|
+
- Could add caching layer for token lookups if performance becomes an issue
|
|
2105
|
+
- **Configuration flexibility**: Priority logic is hardcoded
|
|
2106
|
+
- Could make configurable if different priority strategies are needed
|
|
2107
|
+
- **Parallel generation**: Currently generates platforms sequentially
|
|
2108
|
+
- Could parallelize for better performance with many platforms
|
|
2109
|
+
|
|
2110
|
+
## Integration Points
|
|
2111
|
+
|
|
2112
|
+
### Dependencies
|
|
2113
|
+
|
|
2114
|
+
- **PrimitiveTokenRegistry**: TokenSelector depends on this for primitive token lookups
|
|
2115
|
+
- **SemanticTokenRegistry**: TokenSelector depends on this for semantic token lookups
|
|
2116
|
+
- **Platform Generators**: BuildOrchestrator depends on these for platform-specific generation
|
|
2117
|
+
|
|
2118
|
+
### Dependents
|
|
2119
|
+
|
|
2120
|
+
- **Build CLI**: Will depend on BuildOrchestrator to trigger builds
|
|
2121
|
+
- **Watch Mode**: Will depend on BuildOrchestrator for incremental builds
|
|
2122
|
+
- **Test Utilities**: Will depend on these components for testing token generation
|
|
2123
|
+
|
|
2124
|
+
### Extension Points
|
|
2125
|
+
|
|
2126
|
+
- **New Platforms**: Add by implementing platform generator interface
|
|
2127
|
+
- **Custom Token Resolution**: Could extend TokenSelector for custom priority logic
|
|
2128
|
+
- **Build Plugins**: Could add plugin system to BuildOrchestrator for custom build steps
|
|
2129
|
+
|
|
2130
|
+
### API Surface
|
|
2131
|
+
|
|
2132
|
+
**TokenSelector**:
|
|
2133
|
+
- `selectToken(tokenName: string): Token` - Main token resolution method
|
|
2134
|
+
|
|
2135
|
+
**BuildOrchestrator**:
|
|
2136
|
+
- `orchestrate(platform: string): BuildResult` - Main build coordination method
|
|
2137
|
+
- `rollback(): void` - Error recovery method
|
|
2138
|
+
```
|
|
2139
|
+
|
|
2140
|
+
---
|
|
2141
|
+
|
|
2142
|
+
### Documentation Workflow
|
|
2143
|
+
|
|
2144
|
+
#### During Task Execution
|
|
2145
|
+
|
|
2146
|
+
1. **Start Documentation Early**
|
|
2147
|
+
- Create completion document when starting task
|
|
2148
|
+
- Add notes as you implement
|
|
2149
|
+
- Document decisions as they're made
|
|
2150
|
+
|
|
2151
|
+
2. **Document Incrementally**
|
|
2152
|
+
- Add to completion doc throughout implementation
|
|
2153
|
+
- Don't wait until end to write everything
|
|
2154
|
+
- Capture insights while they're fresh
|
|
2155
|
+
|
|
2156
|
+
3. **Use Appropriate Tier**
|
|
2157
|
+
- Check task type to determine documentation tier
|
|
2158
|
+
- Follow template for that tier
|
|
2159
|
+
- Include all required sections
|
|
2160
|
+
|
|
2161
|
+
4. **Provide Evidence**
|
|
2162
|
+
- Include specific examples
|
|
2163
|
+
- Reference validation results
|
|
2164
|
+
- Show concrete outcomes
|
|
2165
|
+
|
|
2166
|
+
#### After Task Completion
|
|
2167
|
+
|
|
2168
|
+
1. **Review Completeness**
|
|
2169
|
+
- Verify all required sections present
|
|
2170
|
+
- Check that validation results documented
|
|
2171
|
+
- Confirm requirements compliance listed
|
|
2172
|
+
|
|
2173
|
+
2. **Review Clarity**
|
|
2174
|
+
- Ensure decisions are clearly explained
|
|
2175
|
+
- Verify examples are helpful
|
|
2176
|
+
- Check that future readers will understand
|
|
2177
|
+
|
|
2178
|
+
3. **File Organization**
|
|
2179
|
+
- Save to `.kiro/specs/[spec-name]/completion/`
|
|
2180
|
+
- Use naming convention: `task-[N]-completion.md` or `task-[N.M]-completion.md`
|
|
2181
|
+
- Add organization metadata: `spec-completion`
|
|
2182
|
+
|
|
2183
|
+
---
|
|
2184
|
+
|
|
2185
|
+
### Documentation Best Practices
|
|
2186
|
+
|
|
2187
|
+
**Write for Future You**: Document as if you'll need to understand this in 6 months without any context.
|
|
2188
|
+
|
|
2189
|
+
**Be Specific**: "Implemented token selection" is vague. "Implemented two-phase token lookup prioritizing semantic over primitive tokens" is specific.
|
|
2190
|
+
|
|
2191
|
+
**Document Decisions**: Don't just document what you did - document why you did it that way.
|
|
2192
|
+
|
|
2193
|
+
**Include Counter-Arguments**: For architecture tasks, document why alternative approaches were rejected.
|
|
2194
|
+
|
|
2195
|
+
**Provide Examples**: Concrete examples make documentation much more useful than abstract descriptions.
|
|
2196
|
+
|
|
2197
|
+
**Link to Requirements**: Always reference which requirements are addressed by the work.
|
|
2198
|
+
|
|
2199
|
+
**Capture Lessons**: Document what you learned, what was challenging, and what you'd do differently.
|
|
2200
|
+
|
|
2201
|
+
---
|
|
2202
|
+
|
|
2203
|
+
### Parent Task Summary Documents
|
|
2204
|
+
|
|
2205
|
+
**Purpose**: Create concise, commit-style summaries of parent task completion that serve as release note content for the release tool.
|
|
2206
|
+
|
|
2207
|
+
**Location**: `docs/specs/[spec-name]/task-N-summary.md`
|
|
2208
|
+
|
|
2209
|
+
**When to Create**: After completing a parent task and writing detailed completion documentation in `.kiro/specs/[spec-name]/completion/task-N-parent-completion.md`
|
|
2210
|
+
|
|
2211
|
+
**Hook Limitation**: Kiro IDE's `fileCreated` and `fileSaved` hooks only trigger for manual file operations through the IDE UI, not for programmatically created files by AI agents. This requires a hybrid approach:
|
|
2212
|
+
- **Automatic hooks**: Work for manually created/edited files through IDE UI
|
|
2213
|
+
- **Manual trigger**: Required for AI-assisted workflows after summary document creation
|
|
2214
|
+
|
|
2215
|
+
**Rationale**:
|
|
2216
|
+
- **Hook Triggering**: The `.kiro/` directory is filtered from Kiro IDE's file watching system, preventing hooks from triggering on files created there. Summary documents in `docs/specs/` directory enable automatic release detection for manual file operations.
|
|
2217
|
+
- **Dual Purpose**: Summary documents serve both as hook triggers and as concise, public-facing release note content.
|
|
2218
|
+
- **Clear Separation**: Detailed completion docs (internal knowledge preservation) remain in `.kiro/`, while summaries (public-facing) live in `docs/`.
|
|
2219
|
+
- **Hybrid Approach**: Automatic hooks for manual edits, manual trigger for AI workflows ensures release detection works in all scenarios.
|
|
2220
|
+
|
|
2221
|
+
**Forward-Looking Note**: This summary document workflow applies to new specs going forward. Existing completion documents don't need changes.
|
|
2222
|
+
|
|
2223
|
+
**Release Analysis**: The release tool (`src/tools/release/`) scans summary documents via git log to generate release notes. `commit-task.sh` runs release analysis automatically after each commit.
|
|
2224
|
+
|
|
2225
|
+
**Format Template**:
|
|
2226
|
+
|
|
2227
|
+
```markdown
|
|
2228
|
+
# Task N Summary: [Task Title]
|
|
2229
|
+
|
|
2230
|
+
**Date**: [Date]
|
|
2231
|
+
**Spec**: [spec-name]
|
|
2232
|
+
**Type**: [Setup | Implementation | Architecture | Infrastructure Fix]
|
|
2233
|
+
|
|
2234
|
+
---
|
|
2235
|
+
|
|
2236
|
+
## What Was Done
|
|
2237
|
+
|
|
2238
|
+
[Concise description of what was implemented - 2-3 sentences focusing on the deliverable]
|
|
2239
|
+
|
|
2240
|
+
## Why It Matters
|
|
2241
|
+
|
|
2242
|
+
[Business value, user impact, or technical benefit - 1-2 sentences]
|
|
2243
|
+
|
|
2244
|
+
## Key Changes
|
|
2245
|
+
|
|
2246
|
+
- [Change 1 - specific artifact or capability]
|
|
2247
|
+
- [Change 2 - specific artifact or capability]
|
|
2248
|
+
- [Change 3 - specific artifact or capability]
|
|
2249
|
+
|
|
2250
|
+
## Impact
|
|
2251
|
+
|
|
2252
|
+
- ✅ [Positive impact 1]
|
|
2253
|
+
- ✅ [Positive impact 2]
|
|
2254
|
+
- ✅ [Positive impact 3]
|
|
2255
|
+
|
|
2256
|
+
## Deliverables *(optional)*
|
|
2257
|
+
|
|
2258
|
+
- 🔴 [Token/Component/Breaking]: [description]
|
|
2259
|
+
- 🟡 [Tool/Agent/MCP/Build]: [description]
|
|
2260
|
+
- 🔵 [Governance/Infrastructure]: [description]
|
|
2261
|
+
|
|
2262
|
+
---
|
|
2263
|
+
|
|
2264
|
+
*For detailed implementation notes, see [task-N-parent-completion.md](../../.kiro/specs/[spec-name]/completion/task-N-parent-completion.md)*
|
|
2265
|
+
```
|
|
2266
|
+
|
|
2267
|
+
**Deliverables Field**: Optional. Classifies what this task delivered for release notes.
|
|
2268
|
+
- 🔴 **Consumer-facing** — changes that directly affect token consumers, component users, or break existing behavior. Always surfaced in release notes.
|
|
2269
|
+
- 🟡 **Ecosystem** — new tools, agents, MCPs, build system changes, or third-party integrations. Surfaced prominently.
|
|
2270
|
+
- 🔵 **Internal** — governance updates, process changes, infrastructure work. Included as context.
|
|
2271
|
+
|
|
2272
|
+
When present, the release tool uses this for accurate classification. When absent, it falls back to section-based extraction. Include when your task delivers artifacts that should appear in release notes.
|
|
2273
|
+
|
|
2274
|
+
**Example - Task 1 Summary**:
|
|
2275
|
+
|
|
2276
|
+
```markdown
|
|
2277
|
+
# Task 1 Summary: Update Spec Planning Standards with Summary Document Workflow
|
|
2278
|
+
|
|
2279
|
+
**Date**: 2025-10-30
|
|
2280
|
+
**Spec**: release-detection-trigger-fix
|
|
2281
|
+
**Type**: Implementation
|
|
2282
|
+
|
|
2283
|
+
---
|
|
2284
|
+
|
|
2285
|
+
## What Was Done
|
|
2286
|
+
|
|
2287
|
+
Added "Parent Task Summary Documents" section to Spec Planning Standards documenting the new two-document workflow for parent task completion. This section explains the purpose, location, format, and rationale for creating concise summary documents that trigger release detection hooks.
|
|
2288
|
+
|
|
2289
|
+
## Why It Matters
|
|
2290
|
+
|
|
2291
|
+
Enables automatic release detection by creating summary documents in a location where Kiro IDE file watching can detect them (`.kiro/` directory is filtered). Provides clear guidance for future specs on creating both detailed internal documentation and concise public-facing summaries.
|
|
2292
|
+
|
|
2293
|
+
## Key Changes
|
|
2294
|
+
|
|
2295
|
+
- Added "Parent Task Summary Documents" section after "Documentation Best Practices"
|
|
2296
|
+
- Included format template with required sections (What Was Done, Why It Matters, Key Changes, Impact)
|
|
2297
|
+
- Explained rationale for two-document approach (hook triggering + dual purpose as release notes)
|
|
2298
|
+
- Added forward-looking note about applying to new specs only
|
|
2299
|
+
|
|
2300
|
+
## Impact
|
|
2301
|
+
|
|
2302
|
+
- ✅ Clear documentation of summary document workflow for future specs
|
|
2303
|
+
- ✅ Format template ensures consistent summary document structure
|
|
2304
|
+
- ✅ Rationale explains why two documents are needed (`.kiro/` filtering + dual purpose)
|
|
2305
|
+
- ✅ Forward-looking approach avoids migration complexity
|
|
2306
|
+
|
|
2307
|
+
## Deliverables *(optional)*
|
|
2308
|
+
|
|
2309
|
+
- 🔵 Governance: Summary document workflow added to Process-Spec-Planning.md
|
|
2310
|
+
|
|
2311
|
+
---
|
|
2312
|
+
|
|
2313
|
+
*For detailed implementation notes, see [task-1-parent-completion.md](../../.kiro/specs/release-detection-trigger-fix/completion/task-1-parent-completion.md)*
|
|
2314
|
+
```
|
|
2315
|
+
|
|
2316
|
+
**Naming Convention**:
|
|
2317
|
+
- Summary docs: `task-N-summary.md` (e.g., `task-1-summary.md`, `task-2-summary.md`, `task-10-summary.md`)
|
|
2318
|
+
- Detailed docs: `task-N-parent-completion.md` (e.g., `task-1-parent-completion.md`)
|
|
2319
|
+
|
|
2320
|
+
**Hook Pattern**: `**/task-*-summary.md` (matches summary format with wildcard in middle)
|
|
2321
|
+
|
|
2322
|
+
**Cross-References**:
|
|
2323
|
+
|
|
2324
|
+
Summary documents and detailed completion documents should cross-reference each other to enable easy navigation between public-facing summaries and comprehensive internal documentation.
|
|
2325
|
+
|
|
2326
|
+
**From Summary to Detailed Docs**:
|
|
2327
|
+
|
|
2328
|
+
Summary documents should include a link to the detailed completion document at the end, providing readers a path to comprehensive implementation notes.
|
|
2329
|
+
|
|
2330
|
+
Format:
|
|
2331
|
+
```markdown
|
|
2332
|
+
---
|
|
2333
|
+
|
|
2334
|
+
*For detailed implementation notes, see [task-N-parent-completion.md](../../.kiro/specs/[spec-name]/completion/task-N-parent-completion.md)*
|
|
2335
|
+
```
|
|
2336
|
+
|
|
2337
|
+
Example from `docs/specs/release-detection-trigger-fix/task-1-summary.md`:
|
|
2338
|
+
```markdown
|
|
2339
|
+
---
|
|
2340
|
+
|
|
2341
|
+
*For detailed implementation notes, see [task-1-parent-completion.md](../../.kiro/specs/release-detection-trigger-fix/completion/task-1-parent-completion.md)*
|
|
2342
|
+
```
|
|
2343
|
+
|
|
2344
|
+
**From Detailed Docs to Summary (Optional)**:
|
|
2345
|
+
|
|
2346
|
+
Detailed completion documents can optionally link to the summary document, though this is less critical since detailed docs are the primary reference.
|
|
2347
|
+
|
|
2348
|
+
Format:
|
|
2349
|
+
```markdown
|
|
2350
|
+
## Related Documentation
|
|
2351
|
+
|
|
2352
|
+
- [Task N Summary](../../../docs/specs/[spec-name]/task-N-summary.md) - Public-facing summary that triggered release detection
|
|
2353
|
+
```
|
|
2354
|
+
|
|
2355
|
+
Example from `.kiro/specs/release-detection-trigger-fix/completion/task-1-parent-completion.md`:
|
|
2356
|
+
```markdown
|
|
2357
|
+
## Related Documentation
|
|
2358
|
+
|
|
2359
|
+
- [Task 1 Summary](../../../docs/specs/release-detection-trigger-fix/task-1-summary.md) - Public-facing summary that triggered release detection
|
|
2360
|
+
```
|
|
2361
|
+
|
|
2362
|
+
**In Tasks.md**:
|
|
2363
|
+
|
|
2364
|
+
Parent tasks should reference both documentation types in the "Completion Documentation" section to make it clear that two documents will be created.
|
|
2365
|
+
|
|
2366
|
+
Format:
|
|
2367
|
+
```markdown
|
|
2368
|
+
**Completion Documentation:**
|
|
2369
|
+
- Detailed: `.kiro/specs/[spec-name]/completion/task-[N]-parent-completion.md`
|
|
2370
|
+
- Summary: `docs/specs/[spec-name]/task-[N]-summary.md`
|
|
2371
|
+
```
|
|
2372
|
+
|
|
2373
|
+
Example:
|
|
2374
|
+
```markdown
|
|
2375
|
+
**Completion Documentation:**
|
|
2376
|
+
- Detailed: `.kiro/specs/release-detection-trigger-fix/completion/task-1-parent-completion.md`
|
|
2377
|
+
- Summary: `docs/specs/release-detection-trigger-fix/task-1-summary.md`
|
|
2378
|
+
```
|
|
2379
|
+
|
|
2380
|
+
**Relative Path Calculation**:
|
|
2381
|
+
|
|
2382
|
+
When creating cross-references, calculate relative paths based on the source document location:
|
|
2383
|
+
|
|
2384
|
+
- **From summary to detailed**: Summary docs are in `docs/specs/[spec-name]/`, detailed docs are in `.kiro/specs/[spec-name]/completion/`
|
|
2385
|
+
- Path: `../../.kiro/specs/[spec-name]/completion/task-N-parent-completion.md`
|
|
2386
|
+
- Breakdown: `../..` (up to root) → `.kiro/specs/[spec-name]/completion/` (down to target)
|
|
2387
|
+
|
|
2388
|
+
- **From detailed to summary**: Detailed docs are in `.kiro/specs/[spec-name]/completion/`, summary docs are in `docs/specs/[spec-name]/`
|
|
2389
|
+
- Path: `../../../docs/specs/[spec-name]/task-N-summary.md`
|
|
2390
|
+
- Breakdown: `../../..` (up to root) → `docs/specs/[spec-name]/` (down to target)
|
|
2391
|
+
|
|
2392
|
+
**Best Practices**:
|
|
2393
|
+
|
|
2394
|
+
- Always use relative paths (not absolute paths) for cross-references
|
|
2395
|
+
- Include descriptive link text that explains what the linked document contains
|
|
2396
|
+
- Test links by clicking them in rendered markdown to verify they work
|
|
2397
|
+
- Update cross-references if files are moved during organization
|
|
2398
|
+
|
|
2399
|
+
---
|
|
2400
|
+
|
|
2401
|
+
## Spec Workflow
|
|
2402
|
+
|
|
2403
|
+
### Phase 1: Requirements
|
|
2404
|
+
|
|
2405
|
+
**For component development**: Consider creating a design outline before requirements to explore variants, token usage, and platform considerations. See Component Development Guide for component-specific spec methodology.
|
|
2406
|
+
|
|
2407
|
+
1. Generate initial requirements based on feature idea
|
|
2408
|
+
2. Use EARS format for acceptance criteria
|
|
2409
|
+
3. Include user stories for context
|
|
2410
|
+
4. Get user approval before proceeding
|
|
2411
|
+
|
|
2412
|
+
### Phase 2: Design
|
|
2413
|
+
|
|
2414
|
+
1. Create architecture based on requirements
|
|
2415
|
+
2. Define components and interfaces
|
|
2416
|
+
3. Document design decisions with rationale
|
|
2417
|
+
4. Apply systematic skepticism (counter-arguments)
|
|
2418
|
+
5. Get user approval before proceeding
|
|
2419
|
+
|
|
2420
|
+
### Phase 3: Tasks
|
|
2421
|
+
|
|
2422
|
+
1. Convert design into actionable coding tasks
|
|
2423
|
+
2. Use hierarchical format (primary + sub-tasks)
|
|
2424
|
+
3. **Classify task types** for each subtask:
|
|
2425
|
+
- Review task characteristics (structural vs coding vs design work)
|
|
2426
|
+
- Assess complexity and risk (low vs medium vs high)
|
|
2427
|
+
- Assign task type (Setup, Implementation, or Architecture)
|
|
2428
|
+
- Add **Type** and **Validation** metadata to each subtask
|
|
2429
|
+
- Reference **Task Type Definitions** (`.kiro/steering/Process-Task-Type-Definitions.md`) for classification guidance
|
|
2430
|
+
- Prompt human for clarification if task type is ambiguous
|
|
2431
|
+
4. Add success criteria at primary task level
|
|
2432
|
+
5. Include artifacts and completion documentation paths
|
|
2433
|
+
6. Get user approval before implementation
|
|
2434
|
+
|
|
2435
|
+
### Phase 4: Implementation
|
|
2436
|
+
|
|
2437
|
+
1. **Before starting task**: Review task type and validation tier requirements
|
|
2438
|
+
2. Execute tasks incrementally (one at a time)
|
|
2439
|
+
3. **Mark tasks using `taskStatus` tool**:
|
|
2440
|
+
- Mark task "in_progress" when starting
|
|
2441
|
+
- Mark task "completed" when finished
|
|
2442
|
+
- **Important**: Using `taskStatus` tool (not direct git commits) triggers agent hooks for:
|
|
2443
|
+
- Automatic file organization (based on Organization metadata)
|
|
2444
|
+
- Automatic release detection (creates release triggers for analysis)
|
|
2445
|
+
4. **Validate by tier** before marking complete:
|
|
2446
|
+
- **Tier 1 (Setup)**: Syntax validation + artifact verification + basic structure
|
|
2447
|
+
- **Tier 2 (Implementation)**: Syntax + functional + integration + requirements compliance
|
|
2448
|
+
- **Tier 3 (Architecture/Parent)**: Syntax + functional + design + system integration + edge cases + requirements
|
|
2449
|
+
- Fix any validation failures before proceeding
|
|
2450
|
+
5. **Create completion documentation** using appropriate tier format:
|
|
2451
|
+
- **Tier 1 (Setup)**: Minimal format - artifacts, notes, validation
|
|
2452
|
+
- **Tier 2 (Implementation)**: Standard format - artifacts, details, validation, requirements
|
|
2453
|
+
- **Tier 3 (Architecture/Parent)**: Comprehensive format - artifacts, decisions, algorithm, validation, lessons, integration
|
|
2454
|
+
6. **Commit changes**: Run `./.kiro/hooks/commit-task.sh "Task Name"` to commit and push
|
|
2455
|
+
7. Verify all validation checks passed before moving to next task
|
|
2456
|
+
|
|
2457
|
+
**Two Workflow Paths:**
|
|
2458
|
+
|
|
2459
|
+
**Path A (Recommended - IDE-based with automation)**:
|
|
2460
|
+
- Use `taskStatus` tool → Triggers agent hooks → Auto organization → Auto release detection → Manual commit
|
|
2461
|
+
- **Benefit**: Automated file organization and release detection
|
|
2462
|
+
- **Use when**: Working within Kiro IDE on spec tasks
|
|
2463
|
+
|
|
2464
|
+
**Path B (Manual - Script-based)**:
|
|
2465
|
+
- Manual task status updates → Manual commit via script → No agent hooks triggered
|
|
2466
|
+
- **Benefit**: Simpler, direct control
|
|
2467
|
+
- **Use when**: Quick fixes, non-spec work, or when agent hooks aren't needed
|
|
2468
|
+
- **Note**: Run `npm run release:analyze` for on-demand release analysis
|
|
2469
|
+
|
|
2470
|
+
---
|
|
2471
|
+
|
|
2472
|
+
## Examples
|
|
2473
|
+
|
|
2474
|
+
### Example: F1 Mathematical Token System
|
|
2475
|
+
|
|
2476
|
+
**Good example of**:
|
|
2477
|
+
- Comprehensive requirements with EARS format
|
|
2478
|
+
- Detailed design with architecture diagrams
|
|
2479
|
+
- Hierarchical tasks with success criteria at primary level
|
|
2480
|
+
- Clear completion documentation per task
|
|
2481
|
+
|
|
2482
|
+
**Reference**: `.kiro/specs/mathematical-token-system/`
|
|
2483
|
+
|
|
2484
|
+
### Example: F2 Cross-Platform Build System
|
|
2485
|
+
|
|
2486
|
+
**Good example of**:
|
|
2487
|
+
- Requirements informed by preserved knowledge
|
|
2488
|
+
- Design with systematic skepticism applied
|
|
2489
|
+
- Hierarchical task format (improved from F1)
|
|
2490
|
+
- Success criteria at primary level only
|
|
2491
|
+
|
|
2492
|
+
**Reference**: `.kiro/specs/cross-platform-build-system/`
|
|
2493
|
+
|
|
2494
|
+
---
|
|
2495
|
+
|
|
2496
|
+
## Quality Standards
|
|
2497
|
+
|
|
2498
|
+
**Note**: This section intentionally uses the same heading as other steering documents because each document defines quality standards specific to its domain. Spec Planning Standards focuses on requirements, design, and task quality, while other documents define standards for their respective processes.
|
|
2499
|
+
|
|
2500
|
+
### Requirements Quality
|
|
2501
|
+
|
|
2502
|
+
- All requirements testable and verifiable
|
|
2503
|
+
- EARS format used consistently
|
|
2504
|
+
- User stories provide stakeholder context
|
|
2505
|
+
- Edge cases and error conditions included
|
|
2506
|
+
|
|
2507
|
+
### Design Quality
|
|
2508
|
+
|
|
2509
|
+
- Architecture clearly explained
|
|
2510
|
+
- Interfaces well-defined with TypeScript
|
|
2511
|
+
- Design decisions documented with rationale
|
|
2512
|
+
- Trade-offs acknowledged honestly
|
|
2513
|
+
- Systematic skepticism applied (counter-arguments)
|
|
2514
|
+
|
|
2515
|
+
### Tasks Quality
|
|
2516
|
+
|
|
2517
|
+
- Hierarchical structure (primary + sub-tasks)
|
|
2518
|
+
- Success criteria at primary level
|
|
2519
|
+
- Artifacts clearly identified
|
|
2520
|
+
- Completion documentation specified
|
|
2521
|
+
- Requirements referenced
|
|
2522
|
+
- Incremental and buildable
|
|
2523
|
+
|
|
2524
|
+
---
|
|
2525
|
+
|
|
2526
|
+
## Escape Hatch Documentation
|
|
2527
|
+
|
|
2528
|
+
When a spec intentionally deviates from component selection guidance (e.g., `get_prop_guidance` recommends Component A but the spec uses Component B), the deviation must be documented as an escape hatch.
|
|
2529
|
+
|
|
2530
|
+
### Format
|
|
2531
|
+
|
|
2532
|
+
```markdown
|
|
2533
|
+
### Escape Hatch: [Component used] for [use case]
|
|
2534
|
+
- **Date**: [YYYY-MM-DD]
|
|
2535
|
+
- **Guidance says**: [What get_prop_guidance or selection rules recommend, with source]
|
|
2536
|
+
- **This spec uses**: [What the spec actually chose]
|
|
2537
|
+
- **Reason**: [Why the deviation is justified]
|
|
2538
|
+
- **Migration trigger**: [Condition under which this should be revisited]
|
|
2539
|
+
```
|
|
2540
|
+
|
|
2541
|
+
### Resolution Path
|
|
2542
|
+
|
|
2543
|
+
When selection verification identifies a deviation from selection guidance and the spec author disagrees:
|
|
2544
|
+
1. The deviation is documented as an escape hatch with rationale
|
|
2545
|
+
2. Escape hatches are tracked during Stacy's Lessons Synthesis Reviews for migration opportunities
|
|
2546
|
+
3. When the migration trigger is met, the escape hatch is flagged for resolution
|
|
2547
|
+
|
|
2548
|
+
### Placement
|
|
2549
|
+
|
|
2550
|
+
Escape hatches are placed in the spec's design document or a dedicated section of the spec. They are living annotations — they should be findable during governance reviews.
|
|
2551
|
+
|
|
2552
|
+
---
|
|
2553
|
+
|
|
2554
|
+
## Anti-Patterns to Avoid
|
|
2555
|
+
|
|
2556
|
+
**Note**: This section intentionally uses the same heading as other steering documents because each document addresses anti-patterns specific to its domain. Spec Planning Standards focuses on spec creation anti-patterns (requirements, design, tasks), while other documents cover their respective domains.
|
|
2557
|
+
|
|
2558
|
+
### Requirements Anti-Patterns
|
|
2559
|
+
|
|
2560
|
+
❌ **Implementation details in requirements** - Focus on behavior, not how
|
|
2561
|
+
❌ **Vague acceptance criteria** - Must be specific and testable
|
|
2562
|
+
❌ **Missing user stories** - Context helps understand intent
|
|
2563
|
+
❌ **Arbitrary metrics** - Validate metrics are achievable and meaningful
|
|
2564
|
+
|
|
2565
|
+
### Design Anti-Patterns
|
|
2566
|
+
|
|
2567
|
+
❌ **No architecture diagram** - Visual representation helps understanding
|
|
2568
|
+
❌ **Undocumented design decisions** - Future you needs to know why
|
|
2569
|
+
❌ **No trade-off analysis** - Every decision has costs
|
|
2570
|
+
❌ **Missing systematic skepticism** - Challenge assumptions with counter-arguments
|
|
2571
|
+
|
|
2572
|
+
### Tasks Anti-Patterns
|
|
2573
|
+
|
|
2574
|
+
❌ **Success criteria on every sub-task** - Repetitive and token-heavy
|
|
2575
|
+
❌ **Post-complete in tasks** - Redundant with hook automation
|
|
2576
|
+
❌ **Vague implementation steps** - Be specific about what to build
|
|
2577
|
+
❌ **Missing artifacts** - Hard to know what files should exist
|
|
2578
|
+
❌ **No completion documentation** - Learnings get lost
|
|
2579
|
+
|
|
2580
|
+
---
|
|
2581
|
+
|
|
2582
|
+
## Cross-Spec Coordination (Conditional Loading)
|
|
2583
|
+
|
|
2584
|
+
**📖 CONDITIONAL SECTION - Read only when needed**
|
|
2585
|
+
|
|
2586
|
+
**Load when**:
|
|
2587
|
+
- Working with dependencies between specs
|
|
2588
|
+
- Writing integration tests
|
|
2589
|
+
- Task blocked by external dependency
|
|
2590
|
+
- Creating integration contracts
|
|
2591
|
+
- Spec header lists dependencies
|
|
2592
|
+
|
|
2593
|
+
**Skip when**:
|
|
2594
|
+
- Spec is independent
|
|
2595
|
+
- Dependencies already complete
|
|
2596
|
+
- No integration work needed
|
|
2597
|
+
|
|
2598
|
+
---
|
|
2599
|
+
|
|
2600
|
+
### Cross-Spec Dependencies
|
|
2601
|
+
|
|
2602
|
+
When your spec depends on another spec, declare dependencies explicitly in the header and document integration requirements.
|
|
2603
|
+
|
|
2604
|
+
#### Dependency Declaration Format
|
|
2605
|
+
|
|
2606
|
+
**In spec header (requirements.md, design.md, tasks.md)**:
|
|
2607
|
+
|
|
2608
|
+
```markdown
|
|
2609
|
+
**Dependencies**:
|
|
2610
|
+
- Spec XXX ([Spec Name]) - [What you need from it]
|
|
2611
|
+
- Status: [Complete | In Progress | Not Started]
|
|
2612
|
+
- Required for: [Which tasks depend on this]
|
|
2613
|
+
- Integration point: [Specific API/component needed]
|
|
2614
|
+
```
|
|
2615
|
+
|
|
2616
|
+
**Example - Simple Dependency**:
|
|
2617
|
+
|
|
2618
|
+
```markdown
|
|
2619
|
+
**Dependencies**:
|
|
2620
|
+
- Spec 004 (Icon System) - createIcon() function
|
|
2621
|
+
- Status: Complete
|
|
2622
|
+
- Required for: Task 3.3 (icon integration)
|
|
2623
|
+
- Integration point: createIcon({ name, size, color }) API
|
|
2624
|
+
```
|
|
2625
|
+
|
|
2626
|
+
**Example - Blocking Dependency**:
|
|
2627
|
+
|
|
2628
|
+
```markdown
|
|
2629
|
+
**Dependencies**:
|
|
2630
|
+
- Spec 005 (ButtonCTA Component) - Working web component
|
|
2631
|
+
- Status: In Progress (Task 3.3 not complete)
|
|
2632
|
+
- Required for: Task 3.7 (integration tests)
|
|
2633
|
+
- Integration point: ButtonCTA web component with shadow DOM
|
|
2634
|
+
- **BLOCKER**: Cannot write integration tests until ButtonCTA works in test environment
|
|
2635
|
+
```
|
|
2636
|
+
|
|
2637
|
+
#### When to Check Dependencies
|
|
2638
|
+
|
|
2639
|
+
**During Requirements Phase**:
|
|
2640
|
+
- Identify which specs you depend on
|
|
2641
|
+
- Document what you need from each dependency
|
|
2642
|
+
- Verify dependencies exist or plan to create them
|
|
2643
|
+
|
|
2644
|
+
**During Design Phase**:
|
|
2645
|
+
- Review dependency status
|
|
2646
|
+
- Design integration points and contracts
|
|
2647
|
+
- Plan for dependency delays or changes
|
|
2648
|
+
|
|
2649
|
+
**During Tasks Phase**:
|
|
2650
|
+
- Mark tasks that depend on external specs
|
|
2651
|
+
- Add blocker documentation if dependencies not ready
|
|
2652
|
+
- Sequence tasks to minimize blocking
|
|
2653
|
+
|
|
2654
|
+
**During Implementation**:
|
|
2655
|
+
- Verify dependency is ready before starting dependent task
|
|
2656
|
+
- Check integration contract if one exists
|
|
2657
|
+
- Coordinate with dependency spec if issues arise
|
|
2658
|
+
|
|
2659
|
+
---
|
|
2660
|
+
|
|
2661
|
+
### Blocked Tasks
|
|
2662
|
+
|
|
2663
|
+
When a task cannot proceed due to external dependencies, mark it as blocked with clear documentation.
|
|
2664
|
+
|
|
2665
|
+
#### Blocked Task Format
|
|
2666
|
+
|
|
2667
|
+
```markdown
|
|
2668
|
+
- [ ] X.Y Task Name
|
|
2669
|
+
**Type**: [Setup | Implementation | Architecture]
|
|
2670
|
+
**Validation**: [Tier 1 | Tier 2 | Tier 3]
|
|
2671
|
+
**Status**: BLOCKED
|
|
2672
|
+
**Blocker**: [Spec XXX Task Y.Z] - [Specific reason]
|
|
2673
|
+
**Unblock Criteria**: [What needs to happen to unblock]
|
|
2674
|
+
**Partial Progress**: [What's been done despite block]
|
|
2675
|
+
|
|
2676
|
+
- [Implementation steps]
|
|
2677
|
+
- _Requirements: X.X_
|
|
2678
|
+
```
|
|
2679
|
+
|
|
2680
|
+
#### Blocked Task Example
|
|
2681
|
+
|
|
2682
|
+
```markdown
|
|
2683
|
+
- [ ] 3.7 Create ButtonCTA integration tests
|
|
2684
|
+
**Type**: Implementation
|
|
2685
|
+
**Validation**: Tier 2 - Standard
|
|
2686
|
+
**Status**: BLOCKED
|
|
2687
|
+
**Blocker**: Spec 005 Task 3.3 - ButtonCTA icon integration not implemented
|
|
2688
|
+
**Unblock Criteria**:
|
|
2689
|
+
- ButtonCTA web component functional in test environment
|
|
2690
|
+
- ButtonCTA shadow DOM initializes correctly
|
|
2691
|
+
- ButtonCTA can render icons using createIcon()
|
|
2692
|
+
**Partial Progress**:
|
|
2693
|
+
- ✅ Integration test file created with 37 comprehensive tests
|
|
2694
|
+
- ✅ 3/37 tests passing (createIcon import verification)
|
|
2695
|
+
- ❌ 34/37 tests failing (ButtonCTA shadow DOM null)
|
|
2696
|
+
|
|
2697
|
+
- Test ButtonCTA imports createIcon successfully
|
|
2698
|
+
- Test ButtonCTA renders icons using createIcon
|
|
2699
|
+
- Test ButtonCTA icon rendering unchanged
|
|
2700
|
+
- Test ButtonCTA with all icon names
|
|
2701
|
+
- Test ButtonCTA with different icon sizes
|
|
2702
|
+
- Verify ButtonCTA requires no code changes
|
|
2703
|
+
- _Requirements: 6.1, 6.2_
|
|
2704
|
+
```
|
|
2705
|
+
|
|
2706
|
+
#### Unblocking Process
|
|
2707
|
+
|
|
2708
|
+
**When dependency becomes ready**:
|
|
2709
|
+
1. Verify unblock criteria are met
|
|
2710
|
+
2. Update task status from BLOCKED to in progress
|
|
2711
|
+
3. Remove blocker documentation
|
|
2712
|
+
4. Proceed with task implementation
|
|
2713
|
+
5. Document any integration issues discovered
|
|
2714
|
+
|
|
2715
|
+
**If blocker persists**:
|
|
2716
|
+
1. Coordinate with blocking spec
|
|
2717
|
+
2. Update unblock criteria if they change
|
|
2718
|
+
3. Consider workarounds or alternative approaches
|
|
2719
|
+
4. Document coordination in completion notes
|
|
2720
|
+
|
|
2721
|
+
---
|
|
2722
|
+
|
|
2723
|
+
### Integration Testing Workflow
|
|
2724
|
+
|
|
2725
|
+
Integration tests verify that components from different specs work together correctly. Follow this workflow to avoid premature integration testing.
|
|
2726
|
+
|
|
2727
|
+
#### The Integration Testing Rule
|
|
2728
|
+
|
|
2729
|
+
**RULE**: Integration tests should only be written **after** both components have working unit tests.
|
|
2730
|
+
|
|
2731
|
+
**Why**: Integration tests require both components to be functional. Writing integration tests before components work leads to:
|
|
2732
|
+
- False failures (component not ready, not integration broken)
|
|
2733
|
+
- Wasted effort (tests fail for wrong reasons)
|
|
2734
|
+
- Unclear ownership (who fixes the test?)
|
|
2735
|
+
- Blocked tasks (can't complete until dependency ready)
|
|
2736
|
+
|
|
2737
|
+
#### Integration Testing Phases
|
|
2738
|
+
|
|
2739
|
+
**Phase 1: Independent Development**
|
|
2740
|
+
- Each spec completes its component with unit tests
|
|
2741
|
+
- Components proven to work independently
|
|
2742
|
+
- APIs are stable and tested
|
|
2743
|
+
|
|
2744
|
+
**Phase 2: Integration Readiness Checkpoint**
|
|
2745
|
+
- Verify both components work independently
|
|
2746
|
+
- Review integration contract (if one exists)
|
|
2747
|
+
- Confirm APIs are stable and won't change
|
|
2748
|
+
- Agree on integration test ownership
|
|
2749
|
+
|
|
2750
|
+
**Phase 3: Write Integration Tests**
|
|
2751
|
+
- One spec owns the integration tests (usually the consumer)
|
|
2752
|
+
- Tests verify the integration works as expected
|
|
2753
|
+
- Tests focus on integration points, not component internals
|
|
2754
|
+
|
|
2755
|
+
**Phase 4: Fix Integration Issues**
|
|
2756
|
+
- Both specs coordinate on fixes
|
|
2757
|
+
- Provider spec fixes API issues
|
|
2758
|
+
- Consumer spec fixes usage issues
|
|
2759
|
+
- Integration tests pass
|
|
2760
|
+
|
|
2761
|
+
#### Integration Test Ownership
|
|
2762
|
+
|
|
2763
|
+
**Consumer spec writes integration tests** when:
|
|
2764
|
+
- Testing that provider's API works for consumer's use case
|
|
2765
|
+
- Verifying backward compatibility (e.g., Icon testing ButtonCTA still works)
|
|
2766
|
+
- Consumer needs to prove integration works
|
|
2767
|
+
|
|
2768
|
+
**Provider spec writes integration tests** when:
|
|
2769
|
+
- Testing that provider works with multiple consumers
|
|
2770
|
+
- Verifying provider's contract is met
|
|
2771
|
+
- Provider needs to prove API stability
|
|
2772
|
+
|
|
2773
|
+
**Example - Consumer Owns Tests**:
|
|
2774
|
+
```markdown
|
|
2775
|
+
# Icon Spec (008) - Task 3.7
|
|
2776
|
+
- [ ] 3.7 Create ButtonCTA integration tests
|
|
2777
|
+
**Type**: Implementation
|
|
2778
|
+
**Validation**: Tier 2 - Standard
|
|
2779
|
+
|
|
2780
|
+
- Test ButtonCTA imports createIcon successfully
|
|
2781
|
+
- Test ButtonCTA renders icons using createIcon
|
|
2782
|
+
- Verify ButtonCTA requires no code changes
|
|
2783
|
+
- _Requirements: 6.1, 6.2_
|
|
2784
|
+
```
|
|
2785
|
+
|
|
2786
|
+
**Rationale**: Icon spec needs to prove backward compatibility - that ButtonCTA continues working after Icon's web component conversion.
|
|
2787
|
+
|
|
2788
|
+
#### Blocked Integration Tests
|
|
2789
|
+
|
|
2790
|
+
If integration tests are written before dependencies are ready:
|
|
2791
|
+
|
|
2792
|
+
1. **Mark task as BLOCKED** with clear blocker documentation
|
|
2793
|
+
2. **Document partial progress** (test file created, some tests passing)
|
|
2794
|
+
3. **Wait for dependency** to be ready
|
|
2795
|
+
4. **Unblock and complete** when dependency is available
|
|
2796
|
+
|
|
2797
|
+
**Example**:
|
|
2798
|
+
```markdown
|
|
2799
|
+
- [ ] 3.7 Create ButtonCTA integration tests
|
|
2800
|
+
**Status**: BLOCKED
|
|
2801
|
+
**Blocker**: Spec 005 Task 3.3 - ButtonCTA not functional in test environment
|
|
2802
|
+
**Partial Progress**:
|
|
2803
|
+
- ✅ Test file created with 37 tests
|
|
2804
|
+
- ✅ 3/37 tests passing (import tests)
|
|
2805
|
+
- ❌ 34/37 tests failing (ButtonCTA shadow DOM null)
|
|
2806
|
+
```
|
|
2807
|
+
|
|
2808
|
+
---
|
|
2809
|
+
|
|
2810
|
+
### Integration Contracts
|
|
2811
|
+
|
|
2812
|
+
Integration contracts are optional documents that formalize the agreement between specs about what one provides and what the other needs.
|
|
2813
|
+
|
|
2814
|
+
#### When to Create Integration Contracts
|
|
2815
|
+
|
|
2816
|
+
**Create a contract when**:
|
|
2817
|
+
- Integration is complex with multiple touch points
|
|
2818
|
+
- Multiple specs depend on the same provider
|
|
2819
|
+
- Integration requirements are unclear
|
|
2820
|
+
- Coordination between teams is needed
|
|
2821
|
+
- You want to prevent integration issues
|
|
2822
|
+
|
|
2823
|
+
**Skip the contract when**:
|
|
2824
|
+
- Integration is simple (single API call)
|
|
2825
|
+
- Both specs are developed by same person
|
|
2826
|
+
- Integration is obvious and well-understood
|
|
2827
|
+
- Overhead isn't justified
|
|
2828
|
+
|
|
2829
|
+
#### Integration Contract Template
|
|
2830
|
+
|
|
2831
|
+
Create contracts in `.kiro/specs/integration-contracts/[provider]-[consumer].md`:
|
|
2832
|
+
|
|
2833
|
+
```markdown
|
|
2834
|
+
# Integration Contract: [Provider] + [Consumer]
|
|
2835
|
+
|
|
2836
|
+
**Provider**: Spec XXX ([Provider Name])
|
|
2837
|
+
**Consumer**: Spec YYY ([Consumer Name])
|
|
2838
|
+
**Status**: [Pending | Active | Complete]
|
|
2839
|
+
**Date**: [Creation Date]
|
|
2840
|
+
|
|
2841
|
+
---
|
|
2842
|
+
|
|
2843
|
+
## What Provider Offers
|
|
2844
|
+
|
|
2845
|
+
### [API/Component Name]
|
|
2846
|
+
- **API**: [Function signature or component interface]
|
|
2847
|
+
- **Returns**: [What it returns]
|
|
2848
|
+
- **Status**: [Available | In Progress | Not Started]
|
|
2849
|
+
|
|
2850
|
+
### [Additional APIs/Components]
|
|
2851
|
+
- **API**: [Function signature or component interface]
|
|
2852
|
+
- **Status**: [Available | In Progress | Not Started]
|
|
2853
|
+
|
|
2854
|
+
---
|
|
2855
|
+
|
|
2856
|
+
## What Consumer Needs
|
|
2857
|
+
|
|
2858
|
+
### [Consumer Requirement]
|
|
2859
|
+
- **Need**: [What consumer needs from provider]
|
|
2860
|
+
- **Usage**: [How consumer will use it]
|
|
2861
|
+
- **Status**: [Implemented | In Progress | Not Started]
|
|
2862
|
+
|
|
2863
|
+
### [Additional Requirements]
|
|
2864
|
+
- **Need**: [What consumer needs]
|
|
2865
|
+
- **Status**: [Implemented | In Progress | Not Started]
|
|
2866
|
+
|
|
2867
|
+
---
|
|
2868
|
+
|
|
2869
|
+
## Integration Tests
|
|
2870
|
+
|
|
2871
|
+
### Location
|
|
2872
|
+
- [Which spec owns the integration tests]
|
|
2873
|
+
- [Where tests are located]
|
|
2874
|
+
|
|
2875
|
+
### Status
|
|
2876
|
+
- [Test status and results]
|
|
2877
|
+
|
|
2878
|
+
---
|
|
2879
|
+
|
|
2880
|
+
## Unblock Criteria
|
|
2881
|
+
|
|
2882
|
+
1. [Criterion 1 for integration to proceed]
|
|
2883
|
+
2. [Criterion 2 for integration to proceed]
|
|
2884
|
+
3. [Criterion 3 for integration to proceed]
|
|
2885
|
+
|
|
2886
|
+
---
|
|
2887
|
+
|
|
2888
|
+
## Coordination Notes
|
|
2889
|
+
|
|
2890
|
+
- [Notes about coordination between specs]
|
|
2891
|
+
- [Issues discovered during integration]
|
|
2892
|
+
- [Decisions made about integration approach]
|
|
2893
|
+
```
|
|
2894
|
+
|
|
2895
|
+
#### Integration Contract Example
|
|
2896
|
+
|
|
2897
|
+
```markdown
|
|
2898
|
+
# Integration Contract: Icon + ButtonCTA
|
|
2899
|
+
|
|
2900
|
+
**Provider**: Spec 008 (Icon Web Component Conversion)
|
|
2901
|
+
**Consumer**: Spec 005 (ButtonCTA Component)
|
|
2902
|
+
**Status**: Pending ButtonCTA completion
|
|
2903
|
+
**Date**: 2025-11-20
|
|
2904
|
+
|
|
2905
|
+
---
|
|
2906
|
+
|
|
2907
|
+
## What Provider Offers
|
|
2908
|
+
|
|
2909
|
+
### createIcon() Function
|
|
2910
|
+
- **API**: `createIcon({ name: IconName, size: number, color: string }): string`
|
|
2911
|
+
- **Returns**: SVG string with icon markup
|
|
2912
|
+
- **Status**: ✅ Available and tested
|
|
2913
|
+
|
|
2914
|
+
### Icon Web Component
|
|
2915
|
+
- **API**: `<icon-base name="..." size="..." color="..."></icon-base>`
|
|
2916
|
+
- **Status**: ✅ Available and tested
|
|
2917
|
+
|
|
2918
|
+
---
|
|
2919
|
+
|
|
2920
|
+
## What Consumer Needs
|
|
2921
|
+
|
|
2922
|
+
### ButtonCTA Requirements
|
|
2923
|
+
- **Need**: createIcon() function to render icons
|
|
2924
|
+
- **Usage**: Called when icon prop provided to ButtonCTA
|
|
2925
|
+
- **Status**: ❌ Not implemented (Task 3.3 pending)
|
|
2926
|
+
|
|
2927
|
+
### ButtonCTA Test Environment
|
|
2928
|
+
- **Need**: Working web component in test environment
|
|
2929
|
+
- **Requirement**: Shadow DOM must initialize correctly
|
|
2930
|
+
- **Status**: ❌ Not working (shadow DOM returns null)
|
|
2931
|
+
|
|
2932
|
+
---
|
|
2933
|
+
|
|
2934
|
+
## Integration Tests
|
|
2935
|
+
|
|
2936
|
+
### Location
|
|
2937
|
+
- Icon spec (008) - Task 3.7
|
|
2938
|
+
- Tests Icon's backward compatibility with ButtonCTA
|
|
2939
|
+
|
|
2940
|
+
### Status
|
|
2941
|
+
- ❌ BLOCKED - ButtonCTA not ready
|
|
2942
|
+
- Partial: 3/37 tests passing (import tests only)
|
|
2943
|
+
- Remaining: 34/37 tests failing (ButtonCTA shadow DOM issues)
|
|
2944
|
+
|
|
2945
|
+
---
|
|
2946
|
+
|
|
2947
|
+
## Unblock Criteria
|
|
2948
|
+
|
|
2949
|
+
1. ButtonCTA Task 3.3 complete (icon integration implemented)
|
|
2950
|
+
2. ButtonCTA has working unit tests
|
|
2951
|
+
3. ButtonCTA shadow DOM initializes in test environment
|
|
2952
|
+
4. ButtonCTA can render icons using createIcon()
|
|
2953
|
+
|
|
2954
|
+
---
|
|
2955
|
+
|
|
2956
|
+
## Coordination Notes
|
|
2957
|
+
|
|
2958
|
+
- Icon spec should wait for ButtonCTA completion before unblocking Task 3.7
|
|
2959
|
+
- ButtonCTA spec should notify when Task 3.3 is complete
|
|
2960
|
+
- Integration tests can then be run and debugged
|
|
2961
|
+
- Both specs coordinate on any integration issues discovered
|
|
2962
|
+
```
|
|
2963
|
+
|
|
2964
|
+
---
|
|
2965
|
+
|
|
2966
|
+
## Conditional Loading Pattern
|
|
2967
|
+
|
|
2968
|
+
This document uses **conditional loading** - it's only loaded when AI agents are creating or updating specs.
|
|
2969
|
+
|
|
2970
|
+
**Trigger conditions**:
|
|
2971
|
+
- User asks to create a new spec
|
|
2972
|
+
- User asks to update existing spec documents
|
|
2973
|
+
- AI agent is in spec planning workflow
|
|
2974
|
+
|
|
2975
|
+
**Not loaded when**:
|
|
2976
|
+
- Executing implementation tasks
|
|
2977
|
+
- Regular development work
|
|
2978
|
+
- Non-spec-related activities
|
|
2979
|
+
|
|
2980
|
+
**This pattern**:
|
|
2981
|
+
- Saves tokens for irrelevant work
|
|
2982
|
+
- Ensures standards applied when needed
|
|
2983
|
+
- Keeps context focused and relevant
|
|
2984
|
+
- Scales to other conditional guidance
|
|
2985
|
+
|
|
2986
|
+
---
|
|
2987
|
+
|
|
2988
|
+
*This document provides the standards for creating well-structured, actionable specifications that enable systematic feature development while maintaining quality and consistency across all specs.*
|