@wazir-dev/cli 1.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/AGENTS.md +111 -0
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +21 -0
- package/README.md +314 -0
- package/assets/composition-engine.mmd +34 -0
- package/assets/demo-script.sh +17 -0
- package/assets/logo-dark.svg +14 -0
- package/assets/logo.svg +14 -0
- package/assets/pipeline.mmd +39 -0
- package/assets/record-demo.sh +51 -0
- package/docs/README.md +51 -0
- package/docs/adapters/context-mode.md +60 -0
- package/docs/concepts/architecture.md +87 -0
- package/docs/concepts/artifact-model.md +60 -0
- package/docs/concepts/composition-engine.md +36 -0
- package/docs/concepts/indexing-and-recall.md +160 -0
- package/docs/concepts/observability.md +41 -0
- package/docs/concepts/roles-and-workflows.md +59 -0
- package/docs/concepts/terminology-policy.md +27 -0
- package/docs/getting-started/01-installation.md +78 -0
- package/docs/getting-started/02-first-run.md +102 -0
- package/docs/getting-started/03-adding-to-project.md +15 -0
- package/docs/getting-started/04-host-setup.md +15 -0
- package/docs/guides/ci-integration.md +15 -0
- package/docs/guides/creating-skills.md +15 -0
- package/docs/guides/expertise-module-authoring.md +15 -0
- package/docs/guides/hook-development.md +15 -0
- package/docs/guides/memory-and-learnings.md +34 -0
- package/docs/guides/multi-host-export.md +15 -0
- package/docs/guides/troubleshooting.md +101 -0
- package/docs/guides/writing-custom-roles.md +15 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
- package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
- package/docs/readmes/INDEX.md +99 -0
- package/docs/readmes/features/expertise/README.md +171 -0
- package/docs/readmes/features/exports/README.md +222 -0
- package/docs/readmes/features/hooks/README.md +103 -0
- package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
- package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
- package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
- package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
- package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
- package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
- package/docs/readmes/features/hooks/session-start.md +119 -0
- package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
- package/docs/readmes/features/roles/README.md +157 -0
- package/docs/readmes/features/roles/clarifier.md +152 -0
- package/docs/readmes/features/roles/content-author.md +190 -0
- package/docs/readmes/features/roles/designer.md +193 -0
- package/docs/readmes/features/roles/executor.md +184 -0
- package/docs/readmes/features/roles/learner.md +210 -0
- package/docs/readmes/features/roles/planner.md +182 -0
- package/docs/readmes/features/roles/researcher.md +164 -0
- package/docs/readmes/features/roles/reviewer.md +184 -0
- package/docs/readmes/features/roles/specifier.md +162 -0
- package/docs/readmes/features/roles/verifier.md +215 -0
- package/docs/readmes/features/schemas/README.md +178 -0
- package/docs/readmes/features/skills/README.md +63 -0
- package/docs/readmes/features/skills/brainstorming.md +96 -0
- package/docs/readmes/features/skills/debugging.md +148 -0
- package/docs/readmes/features/skills/design.md +120 -0
- package/docs/readmes/features/skills/prepare-next.md +109 -0
- package/docs/readmes/features/skills/run-audit.md +159 -0
- package/docs/readmes/features/skills/scan-project.md +109 -0
- package/docs/readmes/features/skills/self-audit.md +176 -0
- package/docs/readmes/features/skills/tdd.md +137 -0
- package/docs/readmes/features/skills/using-skills.md +92 -0
- package/docs/readmes/features/skills/verification.md +120 -0
- package/docs/readmes/features/skills/writing-plans.md +104 -0
- package/docs/readmes/features/tooling/README.md +320 -0
- package/docs/readmes/features/workflows/README.md +186 -0
- package/docs/readmes/features/workflows/author.md +181 -0
- package/docs/readmes/features/workflows/clarify.md +154 -0
- package/docs/readmes/features/workflows/design-review.md +171 -0
- package/docs/readmes/features/workflows/design.md +169 -0
- package/docs/readmes/features/workflows/discover.md +162 -0
- package/docs/readmes/features/workflows/execute.md +173 -0
- package/docs/readmes/features/workflows/learn.md +167 -0
- package/docs/readmes/features/workflows/plan-review.md +165 -0
- package/docs/readmes/features/workflows/plan.md +170 -0
- package/docs/readmes/features/workflows/prepare-next.md +167 -0
- package/docs/readmes/features/workflows/review.md +169 -0
- package/docs/readmes/features/workflows/run-audit.md +191 -0
- package/docs/readmes/features/workflows/spec-challenge.md +159 -0
- package/docs/readmes/features/workflows/specify.md +160 -0
- package/docs/readmes/features/workflows/verify.md +177 -0
- package/docs/readmes/packages/README.md +50 -0
- package/docs/readmes/packages/ajv.md +117 -0
- package/docs/readmes/packages/context-mode.md +118 -0
- package/docs/readmes/packages/gray-matter.md +116 -0
- package/docs/readmes/packages/node-test.md +137 -0
- package/docs/readmes/packages/yaml.md +112 -0
- package/docs/reference/configuration-reference.md +159 -0
- package/docs/reference/expertise-index.md +52 -0
- package/docs/reference/git-flow.md +43 -0
- package/docs/reference/hooks.md +87 -0
- package/docs/reference/host-exports.md +50 -0
- package/docs/reference/launch-checklist.md +172 -0
- package/docs/reference/marketplace-listings.md +76 -0
- package/docs/reference/release-process.md +34 -0
- package/docs/reference/roles-reference.md +77 -0
- package/docs/reference/skills.md +33 -0
- package/docs/reference/templates.md +29 -0
- package/docs/reference/tooling-cli.md +94 -0
- package/docs/truth-claims.yaml +222 -0
- package/expertise/PROGRESS.md +63 -0
- package/expertise/README.md +18 -0
- package/expertise/antipatterns/PROGRESS.md +56 -0
- package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
- package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
- package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
- package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
- package/expertise/antipatterns/backend/index.md +24 -0
- package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
- package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
- package/expertise/antipatterns/code/async-antipatterns.md +622 -0
- package/expertise/antipatterns/code/code-smells.md +1186 -0
- package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
- package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
- package/expertise/antipatterns/code/index.md +27 -0
- package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
- package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
- package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
- package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
- package/expertise/antipatterns/design/dark-patterns.md +1121 -0
- package/expertise/antipatterns/design/index.md +22 -0
- package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
- package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
- package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
- package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
- package/expertise/antipatterns/frontend/index.md +23 -0
- package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
- package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
- package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
- package/expertise/antipatterns/index.md +31 -0
- package/expertise/antipatterns/performance/index.md +20 -0
- package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
- package/expertise/antipatterns/performance/premature-optimization.md +623 -0
- package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
- package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
- package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
- package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
- package/expertise/antipatterns/process/index.md +23 -0
- package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
- package/expertise/antipatterns/security/index.md +20 -0
- package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
- package/expertise/antipatterns/security/security-theater.md +843 -0
- package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
- package/expertise/architecture/PROGRESS.md +70 -0
- package/expertise/architecture/data/caching-architecture.md +671 -0
- package/expertise/architecture/data/data-consistency.md +574 -0
- package/expertise/architecture/data/data-modeling.md +536 -0
- package/expertise/architecture/data/event-streams-and-queues.md +634 -0
- package/expertise/architecture/data/index.md +25 -0
- package/expertise/architecture/data/search-architecture.md +663 -0
- package/expertise/architecture/data/sql-vs-nosql.md +708 -0
- package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
- package/expertise/architecture/decisions/build-vs-buy.md +616 -0
- package/expertise/architecture/decisions/index.md +23 -0
- package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
- package/expertise/architecture/decisions/technology-selection.md +616 -0
- package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
- package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
- package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
- package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
- package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
- package/expertise/architecture/distributed/index.md +25 -0
- package/expertise/architecture/distributed/saga-pattern.md +797 -0
- package/expertise/architecture/foundations/architectural-thinking.md +460 -0
- package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
- package/expertise/architecture/foundations/design-principles-solid.md +649 -0
- package/expertise/architecture/foundations/domain-driven-design.md +719 -0
- package/expertise/architecture/foundations/index.md +25 -0
- package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
- package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
- package/expertise/architecture/index.md +34 -0
- package/expertise/architecture/integration/api-design-graphql.md +638 -0
- package/expertise/architecture/integration/api-design-grpc.md +804 -0
- package/expertise/architecture/integration/api-design-rest.md +892 -0
- package/expertise/architecture/integration/index.md +25 -0
- package/expertise/architecture/integration/third-party-integration.md +795 -0
- package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
- package/expertise/architecture/integration/websockets-realtime.md +791 -0
- package/expertise/architecture/mobile-architecture/index.md +22 -0
- package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
- package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
- package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
- package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
- package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
- package/expertise/architecture/patterns/event-driven.md +797 -0
- package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
- package/expertise/architecture/patterns/index.md +27 -0
- package/expertise/architecture/patterns/layered-architecture.md +736 -0
- package/expertise/architecture/patterns/microservices.md +753 -0
- package/expertise/architecture/patterns/modular-monolith.md +692 -0
- package/expertise/architecture/patterns/monolith.md +626 -0
- package/expertise/architecture/patterns/plugin-architecture.md +735 -0
- package/expertise/architecture/patterns/serverless.md +780 -0
- package/expertise/architecture/scaling/database-scaling.md +615 -0
- package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
- package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
- package/expertise/architecture/scaling/index.md +24 -0
- package/expertise/architecture/scaling/multi-tenancy.md +800 -0
- package/expertise/architecture/scaling/stateless-design.md +787 -0
- package/expertise/backend/embedded-firmware.md +625 -0
- package/expertise/backend/go.md +853 -0
- package/expertise/backend/index.md +24 -0
- package/expertise/backend/java-spring.md +448 -0
- package/expertise/backend/node-typescript.md +625 -0
- package/expertise/backend/python-fastapi.md +724 -0
- package/expertise/backend/rust.md +458 -0
- package/expertise/backend/solidity.md +711 -0
- package/expertise/composition-map.yaml +443 -0
- package/expertise/content/foundations/content-modeling.md +395 -0
- package/expertise/content/foundations/editorial-standards.md +449 -0
- package/expertise/content/foundations/index.md +24 -0
- package/expertise/content/foundations/microcopy.md +455 -0
- package/expertise/content/foundations/terminology-governance.md +509 -0
- package/expertise/content/index.md +34 -0
- package/expertise/content/patterns/accessibility-copy.md +518 -0
- package/expertise/content/patterns/index.md +24 -0
- package/expertise/content/patterns/notification-content.md +433 -0
- package/expertise/content/patterns/sample-content.md +486 -0
- package/expertise/content/patterns/state-copy.md +439 -0
- package/expertise/design/PROGRESS.md +58 -0
- package/expertise/design/disciplines/dark-mode-theming.md +577 -0
- package/expertise/design/disciplines/design-systems.md +595 -0
- package/expertise/design/disciplines/index.md +25 -0
- package/expertise/design/disciplines/information-architecture.md +800 -0
- package/expertise/design/disciplines/interaction-design.md +788 -0
- package/expertise/design/disciplines/responsive-design.md +552 -0
- package/expertise/design/disciplines/usability-testing.md +516 -0
- package/expertise/design/disciplines/user-research.md +792 -0
- package/expertise/design/foundations/accessibility-design.md +796 -0
- package/expertise/design/foundations/color-theory.md +797 -0
- package/expertise/design/foundations/iconography.md +795 -0
- package/expertise/design/foundations/index.md +26 -0
- package/expertise/design/foundations/motion-and-animation.md +653 -0
- package/expertise/design/foundations/rtl-design.md +585 -0
- package/expertise/design/foundations/spacing-and-layout.md +607 -0
- package/expertise/design/foundations/typography.md +800 -0
- package/expertise/design/foundations/visual-hierarchy.md +761 -0
- package/expertise/design/index.md +32 -0
- package/expertise/design/patterns/authentication-flows.md +474 -0
- package/expertise/design/patterns/content-consumption.md +789 -0
- package/expertise/design/patterns/data-display.md +618 -0
- package/expertise/design/patterns/e-commerce.md +1494 -0
- package/expertise/design/patterns/feedback-and-states.md +642 -0
- package/expertise/design/patterns/forms-and-input.md +819 -0
- package/expertise/design/patterns/gamification.md +801 -0
- package/expertise/design/patterns/index.md +31 -0
- package/expertise/design/patterns/microinteractions.md +449 -0
- package/expertise/design/patterns/navigation.md +800 -0
- package/expertise/design/patterns/notifications.md +705 -0
- package/expertise/design/patterns/onboarding.md +700 -0
- package/expertise/design/patterns/search-and-filter.md +601 -0
- package/expertise/design/patterns/settings-and-preferences.md +768 -0
- package/expertise/design/patterns/social-and-community.md +748 -0
- package/expertise/design/platforms/desktop-native.md +612 -0
- package/expertise/design/platforms/index.md +25 -0
- package/expertise/design/platforms/mobile-android.md +825 -0
- package/expertise/design/platforms/mobile-cross-platform.md +983 -0
- package/expertise/design/platforms/mobile-ios.md +699 -0
- package/expertise/design/platforms/tablet.md +794 -0
- package/expertise/design/platforms/web-dashboard.md +790 -0
- package/expertise/design/platforms/web-responsive.md +550 -0
- package/expertise/design/psychology/behavioral-nudges.md +449 -0
- package/expertise/design/psychology/cognitive-load.md +1191 -0
- package/expertise/design/psychology/error-psychology.md +778 -0
- package/expertise/design/psychology/index.md +22 -0
- package/expertise/design/psychology/persuasive-design.md +736 -0
- package/expertise/design/psychology/user-mental-models.md +623 -0
- package/expertise/design/tooling/open-pencil.md +266 -0
- package/expertise/frontend/angular.md +1073 -0
- package/expertise/frontend/desktop-electron.md +546 -0
- package/expertise/frontend/flutter.md +782 -0
- package/expertise/frontend/index.md +27 -0
- package/expertise/frontend/native-android.md +409 -0
- package/expertise/frontend/native-ios.md +490 -0
- package/expertise/frontend/react-native.md +1160 -0
- package/expertise/frontend/react.md +808 -0
- package/expertise/frontend/vue.md +1089 -0
- package/expertise/humanize/domain-rules-code.md +79 -0
- package/expertise/humanize/domain-rules-content.md +67 -0
- package/expertise/humanize/domain-rules-technical-docs.md +56 -0
- package/expertise/humanize/index.md +35 -0
- package/expertise/humanize/self-audit-checklist.md +87 -0
- package/expertise/humanize/sentence-patterns.md +218 -0
- package/expertise/humanize/vocabulary-blacklist.md +105 -0
- package/expertise/i18n/PROGRESS.md +65 -0
- package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
- package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
- package/expertise/i18n/advanced/complex-scripts.md +30 -0
- package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
- package/expertise/i18n/advanced/testing-i18n.md +28 -0
- package/expertise/i18n/content/content-adaptation.md +23 -0
- package/expertise/i18n/content/locale-specific-formatting.md +23 -0
- package/expertise/i18n/content/machine-translation-integration.md +28 -0
- package/expertise/i18n/content/translation-management.md +29 -0
- package/expertise/i18n/foundations/date-time-calendars.md +67 -0
- package/expertise/i18n/foundations/i18n-architecture.md +272 -0
- package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
- package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
- package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
- package/expertise/i18n/foundations/string-externalization.md +236 -0
- package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
- package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
- package/expertise/i18n/index.md +38 -0
- package/expertise/i18n/platform/backend-i18n.md +31 -0
- package/expertise/i18n/platform/flutter-i18n.md +148 -0
- package/expertise/i18n/platform/native-android-i18n.md +36 -0
- package/expertise/i18n/platform/native-ios-i18n.md +36 -0
- package/expertise/i18n/platform/react-i18n.md +103 -0
- package/expertise/i18n/platform/web-css-i18n.md +81 -0
- package/expertise/i18n/rtl/arabic-specific.md +175 -0
- package/expertise/i18n/rtl/hebrew-specific.md +149 -0
- package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
- package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
- package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
- package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
- package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
- package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
- package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
- package/expertise/i18n/rtl/rtl-typography.md +160 -0
- package/expertise/index.md +113 -0
- package/expertise/index.yaml +216 -0
- package/expertise/infrastructure/cloud-aws.md +597 -0
- package/expertise/infrastructure/cloud-gcp.md +599 -0
- package/expertise/infrastructure/cybersecurity.md +816 -0
- package/expertise/infrastructure/database-mongodb.md +447 -0
- package/expertise/infrastructure/database-postgres.md +400 -0
- package/expertise/infrastructure/devops-cicd.md +787 -0
- package/expertise/infrastructure/index.md +27 -0
- package/expertise/performance/PROGRESS.md +50 -0
- package/expertise/performance/backend/api-latency.md +1204 -0
- package/expertise/performance/backend/background-jobs.md +506 -0
- package/expertise/performance/backend/connection-pooling.md +1209 -0
- package/expertise/performance/backend/database-query-optimization.md +515 -0
- package/expertise/performance/backend/index.md +23 -0
- package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
- package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
- package/expertise/performance/foundations/caching-strategies.md +489 -0
- package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
- package/expertise/performance/foundations/index.md +24 -0
- package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
- package/expertise/performance/foundations/memory-management.md +964 -0
- package/expertise/performance/foundations/performance-budgets.md +1314 -0
- package/expertise/performance/index.md +31 -0
- package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
- package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
- package/expertise/performance/infrastructure/index.md +22 -0
- package/expertise/performance/infrastructure/load-balancing.md +1081 -0
- package/expertise/performance/infrastructure/observability.md +1079 -0
- package/expertise/performance/mobile/index.md +23 -0
- package/expertise/performance/mobile/mobile-animations.md +544 -0
- package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
- package/expertise/performance/mobile/mobile-network.md +452 -0
- package/expertise/performance/mobile/mobile-rendering.md +599 -0
- package/expertise/performance/mobile/mobile-startup-time.md +505 -0
- package/expertise/performance/platform-specific/flutter-performance.md +647 -0
- package/expertise/performance/platform-specific/index.md +22 -0
- package/expertise/performance/platform-specific/node-performance.md +1307 -0
- package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
- package/expertise/performance/platform-specific/react-performance.md +1403 -0
- package/expertise/performance/web/bundle-optimization.md +1239 -0
- package/expertise/performance/web/image-and-media.md +636 -0
- package/expertise/performance/web/index.md +24 -0
- package/expertise/performance/web/network-optimization.md +1133 -0
- package/expertise/performance/web/rendering-performance.md +1098 -0
- package/expertise/performance/web/ssr-and-hydration.md +918 -0
- package/expertise/performance/web/web-vitals.md +1374 -0
- package/expertise/quality/accessibility.md +985 -0
- package/expertise/quality/evidence-based-verification.md +499 -0
- package/expertise/quality/index.md +24 -0
- package/expertise/quality/ml-model-audit.md +614 -0
- package/expertise/quality/performance.md +600 -0
- package/expertise/quality/testing-api.md +891 -0
- package/expertise/quality/testing-mobile.md +496 -0
- package/expertise/quality/testing-web.md +849 -0
- package/expertise/security/PROGRESS.md +54 -0
- package/expertise/security/agentic-identity.md +540 -0
- package/expertise/security/compliance-frameworks.md +601 -0
- package/expertise/security/data/data-encryption.md +364 -0
- package/expertise/security/data/data-privacy-gdpr.md +692 -0
- package/expertise/security/data/database-security.md +1171 -0
- package/expertise/security/data/index.md +22 -0
- package/expertise/security/data/pii-handling.md +531 -0
- package/expertise/security/foundations/authentication.md +1041 -0
- package/expertise/security/foundations/authorization.md +603 -0
- package/expertise/security/foundations/cryptography.md +1001 -0
- package/expertise/security/foundations/index.md +25 -0
- package/expertise/security/foundations/owasp-top-10.md +1354 -0
- package/expertise/security/foundations/secrets-management.md +1217 -0
- package/expertise/security/foundations/secure-sdlc.md +700 -0
- package/expertise/security/foundations/supply-chain-security.md +698 -0
- package/expertise/security/index.md +31 -0
- package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
- package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
- package/expertise/security/infrastructure/container-security.md +721 -0
- package/expertise/security/infrastructure/incident-response.md +1295 -0
- package/expertise/security/infrastructure/index.md +24 -0
- package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
- package/expertise/security/infrastructure/network-security.md +1337 -0
- package/expertise/security/mobile/index.md +23 -0
- package/expertise/security/mobile/mobile-android-security.md +1218 -0
- package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
- package/expertise/security/mobile/mobile-data-storage.md +1265 -0
- package/expertise/security/mobile/mobile-ios-security.md +1401 -0
- package/expertise/security/mobile/mobile-network-security.md +1520 -0
- package/expertise/security/smart-contract-security.md +594 -0
- package/expertise/security/testing/index.md +22 -0
- package/expertise/security/testing/penetration-testing.md +1258 -0
- package/expertise/security/testing/security-code-review.md +1765 -0
- package/expertise/security/testing/threat-modeling.md +1074 -0
- package/expertise/security/testing/vulnerability-scanning.md +1062 -0
- package/expertise/security/web/api-security.md +586 -0
- package/expertise/security/web/cors-and-headers.md +433 -0
- package/expertise/security/web/csrf.md +562 -0
- package/expertise/security/web/file-upload.md +1477 -0
- package/expertise/security/web/index.md +25 -0
- package/expertise/security/web/injection.md +1375 -0
- package/expertise/security/web/session-management.md +1101 -0
- package/expertise/security/web/xss.md +1158 -0
- package/exports/README.md +17 -0
- package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
- package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
- package/exports/hosts/claude/.claude/agents/designer.md +55 -0
- package/exports/hosts/claude/.claude/agents/executor.md +55 -0
- package/exports/hosts/claude/.claude/agents/learner.md +51 -0
- package/exports/hosts/claude/.claude/agents/planner.md +53 -0
- package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
- package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
- package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
- package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
- package/exports/hosts/claude/.claude/commands/author.md +42 -0
- package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
- package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
- package/exports/hosts/claude/.claude/commands/design.md +44 -0
- package/exports/hosts/claude/.claude/commands/discover.md +37 -0
- package/exports/hosts/claude/.claude/commands/execute.md +48 -0
- package/exports/hosts/claude/.claude/commands/learn.md +38 -0
- package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
- package/exports/hosts/claude/.claude/commands/plan.md +39 -0
- package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
- package/exports/hosts/claude/.claude/commands/review.md +40 -0
- package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
- package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
- package/exports/hosts/claude/.claude/commands/specify.md +38 -0
- package/exports/hosts/claude/.claude/commands/verify.md +37 -0
- package/exports/hosts/claude/.claude/settings.json +34 -0
- package/exports/hosts/claude/CLAUDE.md +19 -0
- package/exports/hosts/claude/export.manifest.json +38 -0
- package/exports/hosts/claude/host-package.json +67 -0
- package/exports/hosts/codex/AGENTS.md +19 -0
- package/exports/hosts/codex/export.manifest.json +38 -0
- package/exports/hosts/codex/host-package.json +41 -0
- package/exports/hosts/cursor/.cursor/hooks.json +16 -0
- package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
- package/exports/hosts/cursor/export.manifest.json +38 -0
- package/exports/hosts/cursor/host-package.json +42 -0
- package/exports/hosts/gemini/GEMINI.md +19 -0
- package/exports/hosts/gemini/export.manifest.json +38 -0
- package/exports/hosts/gemini/host-package.json +41 -0
- package/hooks/README.md +18 -0
- package/hooks/definitions/loop_cap_guard.yaml +21 -0
- package/hooks/definitions/post_tool_capture.yaml +24 -0
- package/hooks/definitions/pre_compact_summary.yaml +19 -0
- package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
- package/hooks/definitions/protected_path_write_guard.yaml +19 -0
- package/hooks/definitions/session_start.yaml +19 -0
- package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
- package/hooks/loop-cap-guard +17 -0
- package/hooks/post-tool-lint +36 -0
- package/hooks/protected-path-write-guard +17 -0
- package/hooks/session-start +41 -0
- package/llms-full.txt +2355 -0
- package/llms.txt +43 -0
- package/package.json +79 -0
- package/roles/README.md +20 -0
- package/roles/clarifier.md +42 -0
- package/roles/content-author.md +63 -0
- package/roles/designer.md +55 -0
- package/roles/executor.md +55 -0
- package/roles/learner.md +51 -0
- package/roles/planner.md +53 -0
- package/roles/researcher.md +43 -0
- package/roles/reviewer.md +54 -0
- package/roles/specifier.md +47 -0
- package/roles/verifier.md +71 -0
- package/schemas/README.md +24 -0
- package/schemas/accepted-learning.schema.json +20 -0
- package/schemas/author-artifact.schema.json +156 -0
- package/schemas/clarification.schema.json +19 -0
- package/schemas/design-artifact.schema.json +80 -0
- package/schemas/docs-claim.schema.json +18 -0
- package/schemas/export-manifest.schema.json +20 -0
- package/schemas/hook.schema.json +67 -0
- package/schemas/host-export-package.schema.json +18 -0
- package/schemas/implementation-plan.schema.json +19 -0
- package/schemas/proposed-learning.schema.json +19 -0
- package/schemas/research.schema.json +18 -0
- package/schemas/review.schema.json +29 -0
- package/schemas/run-manifest.schema.json +18 -0
- package/schemas/spec-challenge.schema.json +18 -0
- package/schemas/spec.schema.json +20 -0
- package/schemas/usage.schema.json +102 -0
- package/schemas/verification-proof.schema.json +29 -0
- package/schemas/wazir-manifest.schema.json +173 -0
- package/skills/README.md +40 -0
- package/skills/brainstorming/SKILL.md +77 -0
- package/skills/debugging/SKILL.md +50 -0
- package/skills/design/SKILL.md +61 -0
- package/skills/dispatching-parallel-agents/SKILL.md +128 -0
- package/skills/executing-plans/SKILL.md +70 -0
- package/skills/finishing-a-development-branch/SKILL.md +169 -0
- package/skills/humanize/SKILL.md +123 -0
- package/skills/init-pipeline/SKILL.md +124 -0
- package/skills/prepare-next/SKILL.md +20 -0
- package/skills/receiving-code-review/SKILL.md +123 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +108 -0
- package/skills/run-audit/SKILL.md +197 -0
- package/skills/scan-project/SKILL.md +41 -0
- package/skills/self-audit/SKILL.md +153 -0
- package/skills/subagent-driven-development/SKILL.md +154 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/subagent-driven-development/implementer-prompt.md +102 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/tdd/SKILL.md +23 -0
- package/skills/using-git-worktrees/SKILL.md +163 -0
- package/skills/using-skills/SKILL.md +95 -0
- package/skills/verification/SKILL.md +22 -0
- package/skills/wazir/SKILL.md +463 -0
- package/skills/writing-plans/SKILL.md +30 -0
- package/skills/writing-skills/SKILL.md +157 -0
- package/skills/writing-skills/anthropic-best-practices.md +122 -0
- package/skills/writing-skills/persuasion-principles.md +50 -0
- package/templates/README.md +20 -0
- package/templates/artifacts/README.md +10 -0
- package/templates/artifacts/accepted-learning.md +19 -0
- package/templates/artifacts/accepted-learning.template.json +12 -0
- package/templates/artifacts/author.md +74 -0
- package/templates/artifacts/author.template.json +19 -0
- package/templates/artifacts/clarification.md +21 -0
- package/templates/artifacts/clarification.template.json +12 -0
- package/templates/artifacts/execute-notes.md +19 -0
- package/templates/artifacts/implementation-plan.md +21 -0
- package/templates/artifacts/implementation-plan.template.json +11 -0
- package/templates/artifacts/learning-proposal.md +19 -0
- package/templates/artifacts/next-run-handoff.md +21 -0
- package/templates/artifacts/plan-review.md +19 -0
- package/templates/artifacts/proposed-learning.template.json +12 -0
- package/templates/artifacts/research.md +21 -0
- package/templates/artifacts/research.template.json +12 -0
- package/templates/artifacts/review-findings.md +19 -0
- package/templates/artifacts/review.template.json +11 -0
- package/templates/artifacts/run-manifest.template.json +8 -0
- package/templates/artifacts/spec-challenge.md +19 -0
- package/templates/artifacts/spec-challenge.template.json +11 -0
- package/templates/artifacts/spec.md +21 -0
- package/templates/artifacts/spec.template.json +12 -0
- package/templates/artifacts/verification-proof.md +19 -0
- package/templates/artifacts/verification-proof.template.json +11 -0
- package/templates/examples/accepted-learning.example.json +14 -0
- package/templates/examples/author.example.json +152 -0
- package/templates/examples/clarification.example.json +15 -0
- package/templates/examples/docs-claim.example.json +8 -0
- package/templates/examples/export-manifest.example.json +7 -0
- package/templates/examples/host-export-package.example.json +11 -0
- package/templates/examples/implementation-plan.example.json +17 -0
- package/templates/examples/proposed-learning.example.json +13 -0
- package/templates/examples/research.example.json +15 -0
- package/templates/examples/research.example.md +6 -0
- package/templates/examples/review.example.json +17 -0
- package/templates/examples/run-manifest.example.json +9 -0
- package/templates/examples/spec-challenge.example.json +14 -0
- package/templates/examples/spec.example.json +21 -0
- package/templates/examples/verification-proof.example.json +21 -0
- package/templates/examples/wazir-manifest.example.yaml +65 -0
- package/templates/task-definition-schema.md +99 -0
- package/tooling/README.md +20 -0
- package/tooling/src/adapters/context-mode.js +50 -0
- package/tooling/src/capture/command.js +376 -0
- package/tooling/src/capture/store.js +99 -0
- package/tooling/src/capture/usage.js +270 -0
- package/tooling/src/checks/branches.js +50 -0
- package/tooling/src/checks/brand-truth.js +110 -0
- package/tooling/src/checks/changelog.js +231 -0
- package/tooling/src/checks/command-registry.js +36 -0
- package/tooling/src/checks/commits.js +102 -0
- package/tooling/src/checks/docs-drift.js +103 -0
- package/tooling/src/checks/docs-truth.js +201 -0
- package/tooling/src/checks/runtime-surface.js +156 -0
- package/tooling/src/cli.js +116 -0
- package/tooling/src/command-options.js +56 -0
- package/tooling/src/commands/validate.js +320 -0
- package/tooling/src/doctor/command.js +91 -0
- package/tooling/src/export/command.js +77 -0
- package/tooling/src/export/compiler.js +498 -0
- package/tooling/src/guards/loop-cap-guard.js +52 -0
- package/tooling/src/guards/protected-path-write-guard.js +67 -0
- package/tooling/src/index/command.js +152 -0
- package/tooling/src/index/storage.js +1061 -0
- package/tooling/src/index/summarizers.js +261 -0
- package/tooling/src/loaders.js +18 -0
- package/tooling/src/project-root.js +22 -0
- package/tooling/src/recall/command.js +225 -0
- package/tooling/src/schema-validator.js +30 -0
- package/tooling/src/state-root.js +40 -0
- package/tooling/src/status/command.js +71 -0
- package/wazir.manifest.yaml +135 -0
- package/workflows/README.md +19 -0
- package/workflows/author.md +42 -0
- package/workflows/clarify.md +38 -0
- package/workflows/design-review.md +46 -0
- package/workflows/design.md +44 -0
- package/workflows/discover.md +37 -0
- package/workflows/execute.md +48 -0
- package/workflows/learn.md +38 -0
- package/workflows/plan-review.md +42 -0
- package/workflows/plan.md +39 -0
- package/workflows/prepare-next.md +37 -0
- package/workflows/review.md +40 -0
- package/workflows/run-audit.md +41 -0
- package/workflows/spec-challenge.md +41 -0
- package/workflows/specify.md +38 -0
- package/workflows/verify.md +37 -0
|
@@ -0,0 +1,595 @@
|
|
|
1
|
+
# Design Systems -- Expertise Module
|
|
2
|
+
|
|
3
|
+
> A design systems specialist architects, builds, documents, and governs shared libraries of reusable components, design tokens, patterns, and guidelines that unify product development across teams, platforms, and codebases. The scope spans component API design, token architecture, documentation infrastructure, contribution workflows, versioning strategy, adoption measurement, and the design-to-code pipeline that keeps design and engineering in continuous parity.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. What This Discipline Covers
|
|
8
|
+
|
|
9
|
+
### Scope
|
|
10
|
+
|
|
11
|
+
A design system is the single source of truth for how a product family looks, feels, and behaves. It is not a style guide (static documentation), not a component library (code only), and not a UI kit (design files only). A mature design system encompasses all three plus governance, tooling, and culture.
|
|
12
|
+
|
|
13
|
+
**Core concerns:**
|
|
14
|
+
- Visual language: color, typography, spacing, elevation, motion, iconography
|
|
15
|
+
- Design tokens: platform-agnostic representation of design decisions
|
|
16
|
+
- Component library: reusable UI building blocks in both design tools and code
|
|
17
|
+
- Pattern library: recurring solutions to common UX problems (forms, navigation, empty states)
|
|
18
|
+
- Documentation: usage guidelines, do/don't examples, accessibility notes, code samples
|
|
19
|
+
- Governance: contribution model, review process, versioning, deprecation, quality gates
|
|
20
|
+
- Adoption: rollout strategy, metrics, training, internal advocacy
|
|
21
|
+
|
|
22
|
+
**What a design system is NOT:**
|
|
23
|
+
- A one-time deliverable. It is a living product requiring ongoing maintenance, staffing, and investment.
|
|
24
|
+
- A top-down mandate without buy-in. Systems imposed without practitioner input fail to gain adoption.
|
|
25
|
+
- A replacement for design thinking. Systems standardize execution; they do not replace problem-solving.
|
|
26
|
+
|
|
27
|
+
### Relationship to Other Disciplines
|
|
28
|
+
|
|
29
|
+
| Discipline | Relationship |
|
|
30
|
+
|---|---|
|
|
31
|
+
| Visual / UI Design | Codifies the visual language UI designers create. Designers contribute new patterns; the system enforces consistency. |
|
|
32
|
+
| UX Design | Patterns encode proven UX solutions. UX research informs which patterns exist and how they behave. |
|
|
33
|
+
| Interaction Design | Motion tokens, transition specs, and interactive component states bridge IxD decisions into the system. |
|
|
34
|
+
| Accessibility | Every component must meet WCAG 2.2 AA. The system embeds accessibility as a default, not an afterthought. |
|
|
35
|
+
| Frontend Engineering | The code component library is the primary consumer-facing artifact. Engineering owns implementation; design owns specification. |
|
|
36
|
+
| Brand Design | Brand tokens (color, typography, voice) flow into the system. The system operationalizes brand at scale. |
|
|
37
|
+
| Content Design | Writing guidelines, tone tokens, and content patterns are first-class system citizens. |
|
|
38
|
+
|
|
39
|
+
### When It Applies in the Design Process
|
|
40
|
+
|
|
41
|
+
- **Strategy phase**: Define design principles, audit existing UI for inconsistency, establish system scope
|
|
42
|
+
- **Exploration phase**: Designers use system primitives as building blocks; new patterns are prototyped outside the system first
|
|
43
|
+
- **Specification phase**: New components are proposed, reviewed, and formalized through the contribution model
|
|
44
|
+
- **Build phase**: Engineers implement against system specs; tokens flow into code via the build pipeline
|
|
45
|
+
- **QA phase**: Visual regression tests, accessibility audits, and component parity checks validate system compliance
|
|
46
|
+
- **Maintenance phase**: Deprecation cycles, version bumps, and adoption metrics drive continuous improvement
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 2. Core Methods & Frameworks
|
|
51
|
+
|
|
52
|
+
### Atomic Design
|
|
53
|
+
|
|
54
|
+
Brad Frost's Atomic Design provides the foundational mental model for structuring a component hierarchy, borrowing from chemistry to describe five levels of UI composition.
|
|
55
|
+
|
|
56
|
+
**Level 1 -- Atoms:** Smallest indivisible UI elements (button, input, label, icon, avatar, badge). Single responsibility, highly reusable, minimal props, well-defined states.
|
|
57
|
+
|
|
58
|
+
**Level 2 -- Molecules:** Simple groups of atoms functioning as a unit (search field = input + button + icon, form field = label + input + helper text + error). Rule of thumb: 2-4 atoms combined into one conceptual unit.
|
|
59
|
+
|
|
60
|
+
**Level 3 -- Organisms:** Complex interface sections composed of molecules and atoms (navigation header, data table, product card). Organisms carry domain-specific semantics.
|
|
61
|
+
|
|
62
|
+
**Level 4 -- Templates:** Page-level layouts arranging organisms into content structure. Define grid usage, responsive breakpoints, and content hierarchy.
|
|
63
|
+
|
|
64
|
+
**Level 5 -- Pages:** Specific instances of templates with real content. Pages validate system components in context but are not part of the system itself.
|
|
65
|
+
|
|
66
|
+
**Subatomic layer -- Design Tokens:** Below atoms sit tokens: the named values (color, spacing, typography, motion) that atoms consume. Tokens are essential ingredients but not functional on their own until applied to an atom.
|
|
67
|
+
|
|
68
|
+
### Design Tokens
|
|
69
|
+
|
|
70
|
+
Design tokens are the platform-agnostic representation of design decisions -- the contract between design and engineering.
|
|
71
|
+
|
|
72
|
+
**Token taxonomy (three-tier model, as used by Material Design 3 and Ant Design):**
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Reference Tokens (Global) Semantic Tokens (System) Component Tokens
|
|
76
|
+
------------------------------- -------------------------------- ----------------------------
|
|
77
|
+
color.blue.500: #2563EB color.primary: {color.blue.500} button.primary.bg: {color.primary}
|
|
78
|
+
color.neutral.900: #111827 color.on-primary: {color.white} button.primary.text: {color.on-primary}
|
|
79
|
+
font.size.300: 14px font.body.size: {font.size.300} input.label.size: {font.body.size}
|
|
80
|
+
spacing.400: 16px spacing.inline.md: {spacing.400} card.padding: {spacing.inline.md}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- **Reference tokens** (global/primitive): Raw values with no semantic meaning. Name the value itself: `color.blue.500`, `spacing.200`.
|
|
84
|
+
- **Semantic tokens** (alias/system): Assign purpose to reference tokens. Name the intent: `color.primary`, `color.surface`. These are what designers and developers use day-to-day.
|
|
85
|
+
- **Component tokens**: Map semantic tokens to specific component properties: `button.primary.background`. Enable component-level theming without modifying global tokens.
|
|
86
|
+
|
|
87
|
+
**Why three tiers matter:** Changing a reference value cascades through the chain. Dark mode becomes a swap of semantic-to-reference mappings, not a parallel system. Material Design 3 demonstrates this: all component tokens point to semantic tokens rather than literals, so the entire UI updates automatically when the theme changes.
|
|
88
|
+
|
|
89
|
+
**Token categories:**
|
|
90
|
+
|
|
91
|
+
| Category | Examples | Notes |
|
|
92
|
+
|---|---|---|
|
|
93
|
+
| Color | Brand, semantic (success/warning/error/info), surface, text, border | Must include light/dark/high-contrast modes |
|
|
94
|
+
| Typography | Font family, size scale, weight, line height, letter spacing | Define type ramp as finite set (6-8 sizes) |
|
|
95
|
+
| Spacing | Inline (horizontal), stack (vertical), inset (padding), gutters | Consistent scale (4px or 8px base) |
|
|
96
|
+
| Sizing | Component heights (sm/md/lg), icon sizes, avatar sizes | Tied to density modes |
|
|
97
|
+
| Border radius | None, small, medium, large, full (pill) | Keep small (4-5 values) |
|
|
98
|
+
| Elevation | Shadow definitions per level, z-index scale | Map to semantic usage (card, dropdown, modal) |
|
|
99
|
+
| Motion | Duration scale, easing curves, transition properties | Reference MD3 motion or Apple HIG timing |
|
|
100
|
+
|
|
101
|
+
**W3C DTCG token format (emerging standard):**
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"color": {
|
|
106
|
+
"primary": {
|
|
107
|
+
"$value": "#2563EB",
|
|
108
|
+
"$type": "color",
|
|
109
|
+
"$description": "Primary brand color for interactive elements"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Component API Design
|
|
116
|
+
|
|
117
|
+
**Principles:**
|
|
118
|
+
1. **Sensible defaults**: A `<Button>` with just `children` should produce a valid, styled, accessible button
|
|
119
|
+
2. **Progressive disclosure**: Common use cases need few props; advanced customization is available but not required
|
|
120
|
+
3. **Consistent naming**: Same prop names across components for the same concept (`size` takes `sm | md | lg` everywhere)
|
|
121
|
+
4. **Composition over configuration**: Prefer slots/compound-components over monolithic prop-driven APIs
|
|
122
|
+
5. **Type safety**: Export TypeScript types for all props; use discriminated unions; never `any`
|
|
123
|
+
|
|
124
|
+
**Prop patterns:**
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
128
|
+
type ButtonSize = 'sm' | 'md' | 'lg';
|
|
129
|
+
|
|
130
|
+
interface ButtonProps {
|
|
131
|
+
variant?: ButtonVariant; // default: 'primary'
|
|
132
|
+
size?: ButtonSize; // default: 'md'
|
|
133
|
+
disabled?: boolean;
|
|
134
|
+
loading?: boolean;
|
|
135
|
+
leftIcon?: ReactNode;
|
|
136
|
+
rightIcon?: ReactNode;
|
|
137
|
+
children: ReactNode;
|
|
138
|
+
onClick?: (event: MouseEvent) => void;
|
|
139
|
+
asChild?: boolean; // Radix-style composition escape hatch
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Composition patterns (preferred over excessive props):**
|
|
144
|
+
|
|
145
|
+
```tsx
|
|
146
|
+
// Compound component pattern (Radix-style)
|
|
147
|
+
<Dialog>
|
|
148
|
+
<Dialog.Trigger asChild><Button>Open</Button></Dialog.Trigger>
|
|
149
|
+
<Dialog.Content>
|
|
150
|
+
<Dialog.Title>Confirm</Dialog.Title>
|
|
151
|
+
<Dialog.Description>Are you sure?</Dialog.Description>
|
|
152
|
+
<Dialog.Close asChild><Button variant="ghost">Cancel</Button></Dialog.Close>
|
|
153
|
+
</Dialog.Content>
|
|
154
|
+
</Dialog>
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Slot-based architecture** is becoming the standard. Figma introduced slots at Schema 2025; Nathan Curtis advocates slots for flexibility. Slots provide named placeholders where consumers inject custom content while the component retains control of layout and styling.
|
|
158
|
+
|
|
159
|
+
**Headless primitives (Radix, React Aria, Headless UI):** Separate behavior (accessibility, keyboard, ARIA) from visual presentation. Build your system's visual layer on top of headless foundations for WAI-ARIA compliance by default.
|
|
160
|
+
|
|
161
|
+
### Documentation Patterns
|
|
162
|
+
|
|
163
|
+
**Per-component documentation structure (11 sections):**
|
|
164
|
+
1. Overview: what, when to use, when NOT to use
|
|
165
|
+
2. Anatomy: labeled diagram of component parts
|
|
166
|
+
3. Variants: visual catalog with descriptions
|
|
167
|
+
4. Props/API table: every prop, type, default, description
|
|
168
|
+
5. States: all interactive states (default, hover, focus, active, disabled, loading, error)
|
|
169
|
+
6. Accessibility: ARIA roles, keyboard interactions, screen reader behavior
|
|
170
|
+
7. Do/Don't examples: visual pairs with rationale
|
|
171
|
+
8. Content guidelines: writing rules for labels, placeholders, errors
|
|
172
|
+
9. Related components: links to similar/complementary components
|
|
173
|
+
10. Code examples: copy-pasteable implementations
|
|
174
|
+
11. Changelog: version history with breaking changes highlighted
|
|
175
|
+
|
|
176
|
+
### Versioning Strategy
|
|
177
|
+
|
|
178
|
+
**Semantic versioning (SemVer):**
|
|
179
|
+
- **MAJOR** (X.0.0): Breaking changes -- removed components, renamed props, altered token values
|
|
180
|
+
- **MINOR** (0.X.0): New components, new props, new tokens -- backward-compatible
|
|
181
|
+
- **PATCH** (0.0.X): Bug fixes, accessibility fixes, doc corrections -- no API changes
|
|
182
|
+
|
|
183
|
+
**Scope strategies:**
|
|
184
|
+
- **Library-level**: Single version for the entire system. Simpler. Used by Polaris, Carbon.
|
|
185
|
+
- **Component-level**: Each component versioned independently. More flexible at scale. Used by Atlassian.
|
|
186
|
+
|
|
187
|
+
**Deprecation protocol:** Mark deprecated in code (`@deprecated` JSDoc) and docs. Add console warnings. Maintain for at least 2 minor versions or 6 months. Remove in next major. Provide codemod scripts for migration (as Ant Design does).
|
|
188
|
+
|
|
189
|
+
### Contribution Model
|
|
190
|
+
|
|
191
|
+
**4-stage contribution workflow:**
|
|
192
|
+
|
|
193
|
+
| Stage | Activities |
|
|
194
|
+
|---|---|
|
|
195
|
+
| 1. Proposal | RFC/design proposal, problem statement, use case inventory, proposed API |
|
|
196
|
+
| 2. Design Review | Cross-team review panel, compatibility check, token compliance, accessibility review, naming consistency |
|
|
197
|
+
| 3. Build | Implementation in code + Figma, unit + a11y tests, visual regression, Storybook stories |
|
|
198
|
+
| 4. Release | Final system team review, documentation complete, changelog entry, version bump |
|
|
199
|
+
|
|
200
|
+
**Contribution tiers:** Bug fixes (low barrier, anyone submits). Enhancement to existing component (medium, requires design review). New component (high, requires RFC + cross-team review). Token/foundation changes (highest, requires system-wide impact analysis).
|
|
201
|
+
|
|
202
|
+
**Ambassador program:** Atlassian uses internal champions embedded in product teams as local experts. IBM Carbon uses dedicated adoption teams for pilot programs.
|
|
203
|
+
|
|
204
|
+
### Governance
|
|
205
|
+
|
|
206
|
+
**Structure:** System team (2-5 full-time, mix of design + engineering) + Review council (cross-functional, meets biweekly) + RACI matrix (system team Responsible, council Accountable, product teams Consulted).
|
|
207
|
+
|
|
208
|
+
**Quality gates for component acceptance:**
|
|
209
|
+
1. Pixel-level design-code parity
|
|
210
|
+
2. Accessibility audit passes (axe-core zero violations, keyboard test, screen reader test)
|
|
211
|
+
3. All interactive states implemented
|
|
212
|
+
4. Responsive behavior tested across breakpoints
|
|
213
|
+
5. RTL support verified (for i18n products)
|
|
214
|
+
6. Performance budget met (bundle size, render time)
|
|
215
|
+
7. Unit test coverage above 80%
|
|
216
|
+
8. Visual regression baselines established
|
|
217
|
+
9. Documentation complete (all 11 sections)
|
|
218
|
+
10. At least 3 real-world use cases validated
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 3. Deliverables
|
|
223
|
+
|
|
224
|
+
### Component Library
|
|
225
|
+
|
|
226
|
+
The coded implementation of all design system components, published as one or more packages.
|
|
227
|
+
|
|
228
|
+
**Characteristics of a production-quality library:**
|
|
229
|
+
- Published to a package registry (npm for web, CocoaPods/SPM for iOS, Maven for Android)
|
|
230
|
+
- Tree-shakeable -- consumers import only what they use
|
|
231
|
+
- TypeScript types shipped with the package (`.d.ts` files)
|
|
232
|
+
- All components meet WCAG 2.2 AA by default
|
|
233
|
+
- Supports theming via token override (CSS custom properties, theme provider, or equivalent)
|
|
234
|
+
- SSR-compatible (no client-only assumptions for web)
|
|
235
|
+
- Tested: unit tests, accessibility tests, visual regression tests
|
|
236
|
+
|
|
237
|
+
**Quality criteria:**
|
|
238
|
+
- Zero axe-core violations across all components
|
|
239
|
+
- Keyboard navigation works for every interactive component
|
|
240
|
+
- Bundle size monitored per component (budget enforced in CI)
|
|
241
|
+
- All props documented with TypeScript JSDoc comments
|
|
242
|
+
- Every component has at least 3 Storybook stories (default, variants, edge cases)
|
|
243
|
+
|
|
244
|
+
### Token System
|
|
245
|
+
|
|
246
|
+
The complete set of design tokens in source format, build pipeline, and platform-specific outputs.
|
|
247
|
+
|
|
248
|
+
**Deliverables:**
|
|
249
|
+
- Source tokens in JSON or YAML (W3C DTCG format where possible)
|
|
250
|
+
- Build pipeline (Style Dictionary, Cobalt UI, or custom) generating: CSS custom properties, Tailwind theme config, SCSS/LESS variables, Swift/Kotlin constants, JSON for design tool sync
|
|
251
|
+
- Token documentation with visual swatches, usage examples, and naming rationale
|
|
252
|
+
|
|
253
|
+
**Quality criteria:**
|
|
254
|
+
- Every token has a description field explaining its purpose
|
|
255
|
+
- No orphaned tokens (defined but never consumed)
|
|
256
|
+
- No hard-coded values in component code -- all values reference tokens
|
|
257
|
+
- Dark mode and high-contrast token sets complete and tested
|
|
258
|
+
- Token names follow consistent, predictable naming convention
|
|
259
|
+
|
|
260
|
+
### Documentation Site
|
|
261
|
+
|
|
262
|
+
A dedicated website serving as the canonical reference for the design system.
|
|
263
|
+
|
|
264
|
+
**Required sections:**
|
|
265
|
+
- Getting started guide (installation, setup, first component)
|
|
266
|
+
- Foundations (color, typography, spacing, grid, elevation, motion, iconography)
|
|
267
|
+
- Component pages (one per component, following the 11-section structure)
|
|
268
|
+
- Pattern pages (forms, navigation, empty states, loading, error handling)
|
|
269
|
+
- Design principles and philosophy
|
|
270
|
+
- Accessibility guidelines
|
|
271
|
+
- Contributing guide
|
|
272
|
+
- Changelog and migration guides
|
|
273
|
+
- Search functionality across all content
|
|
274
|
+
- Interactive code playgrounds or embedded Storybook stories
|
|
275
|
+
|
|
276
|
+
**Quality criteria:**
|
|
277
|
+
- All code examples tested and runnable
|
|
278
|
+
- Content reviewed by both design and engineering
|
|
279
|
+
- Search returns relevant results within 2 keystrokes
|
|
280
|
+
- The documentation site itself meets WCAG 2.2 AA
|
|
281
|
+
|
|
282
|
+
### Pattern Library
|
|
283
|
+
|
|
284
|
+
Reusable solutions to recurring UX problems, composed entirely from system components.
|
|
285
|
+
|
|
286
|
+
**Common patterns to document:**
|
|
287
|
+
- Form patterns: validation, inline errors, multi-step forms, conditional fields
|
|
288
|
+
- Navigation: sidebar, top nav, breadcrumbs, tabs, pagination
|
|
289
|
+
- Data display: tables, lists, cards, data visualization
|
|
290
|
+
- Feedback: toasts, alerts, modals, inline notifications, progress indicators
|
|
291
|
+
- Empty states: first use, no results, error state, offline state
|
|
292
|
+
- Loading: skeleton screens, spinners, progress bars, optimistic updates
|
|
293
|
+
- Authentication: sign-in, sign-up, password reset, MFA
|
|
294
|
+
|
|
295
|
+
**Quality criteria:** Each pattern includes problem statement, solution description, rationale, accessibility notes, responsive behavior, and is composed entirely from system components.
|
|
296
|
+
|
|
297
|
+
### Usage Guidelines
|
|
298
|
+
|
|
299
|
+
Prescriptive rules with do/don't examples covering: when-to-use/when-not-to-use per component, content guidelines (tone, terminology, casing), layout guidelines (grid, spacing, breakpoints), accessibility guidelines (testing checklist, common pitfalls), and platform-specific behavioral differences.
|
|
300
|
+
|
|
301
|
+
**Quality criteria:**
|
|
302
|
+
- Guidelines are prescriptive ("Use sentence case for button labels") not vague ("Be consistent")
|
|
303
|
+
- Do/Don't examples accompany every rule
|
|
304
|
+
- Content written in plain language accessible to non-specialists
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## 4. Tools & Techniques
|
|
309
|
+
|
|
310
|
+
### Design Tools -- Figma
|
|
311
|
+
|
|
312
|
+
- **Component architecture**: Auto-layout on every component. Use component properties (boolean, text, instance swap, variant) to reduce variant explosion.
|
|
313
|
+
- **Variants**: Organize by property groups: `Type=Primary, Size=Medium, State=Default`.
|
|
314
|
+
- **Slots (2025+)**: Named placeholders for consumer content injection, matching code composition model.
|
|
315
|
+
- **Variables over styles**: Figma Variables support modes (light/dark), scoping, and aliasing -- mirroring the three-tier token model.
|
|
316
|
+
- **Library management**: Publish as shared library. Use branching for development. Track adoption via library analytics.
|
|
317
|
+
|
|
318
|
+
**Reference Figma kits:** Material Design 3 (Google), Apple Design Resources, Ant Design for Figma, Polaris for Figma, Carbon Design Kit, Atlassian DS Kit.
|
|
319
|
+
|
|
320
|
+
### Development Tools
|
|
321
|
+
|
|
322
|
+
**Storybook:** Standard for component development, testing, and documentation in isolation. Write 3+ stories per component (default, variants, edge cases). Use Controls addon, Accessibility addon (axe-core), Chromatic for visual regression, Docs addon for auto-generated documentation, Interaction testing via play functions.
|
|
323
|
+
|
|
324
|
+
**Design Token Tools:**
|
|
325
|
+
|
|
326
|
+
| Tool | Role |
|
|
327
|
+
|---|---|
|
|
328
|
+
| Style Dictionary (Amazon) | Token build pipeline; transforms source tokens into any platform format |
|
|
329
|
+
| Tokens Studio (Figma plugin) | Syncs tokens between Figma Variables and JSON in Git |
|
|
330
|
+
| Cobalt UI | W3C DTCG-compliant token pipeline; modern Style Dictionary alternative |
|
|
331
|
+
| Specify | Design data platform; syncs across Figma, GitHub, npm |
|
|
332
|
+
|
|
333
|
+
**Documentation Tools:**
|
|
334
|
+
|
|
335
|
+
| Tool | Best For |
|
|
336
|
+
|---|---|
|
|
337
|
+
| Zeroheight | Non-technical contributors, cross-department docs, Figma/Storybook embedding |
|
|
338
|
+
| Docusaurus (Meta) | Developer-centric systems, MDX, versioned docs |
|
|
339
|
+
| Storybook Docs | Tight coupling between component code and documentation |
|
|
340
|
+
| Custom (Next.js/Astro) | Full brand control (used by Polaris, Carbon) |
|
|
341
|
+
|
|
342
|
+
**Recommended stack:** Figma + Tokens Studio + Style Dictionary + Storybook + Chromatic + Zeroheight/Docusaurus.
|
|
343
|
+
|
|
344
|
+
### Testing Techniques
|
|
345
|
+
|
|
346
|
+
- **Visual regression**: Chromatic, Percy, or Playwright screenshot assertions. Baselines per component, per theme, per viewport.
|
|
347
|
+
- **Accessibility**: axe-core (Storybook addon + jest-axe + CI), manual keyboard audit, screen reader testing (VoiceOver, NVDA, JAWS). Block merges on violations.
|
|
348
|
+
- **Component unit testing**: Test behavior not implementation (Testing Library). Test all interactive states and prop combinations. Avoid fragile snapshot tests.
|
|
349
|
+
- **Token validation**: Lint naming consistency, verify contrast ratios between foreground/background pairs, confirm all references resolve.
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## 5. Common Failures
|
|
354
|
+
|
|
355
|
+
### Premature Abstraction
|
|
356
|
+
|
|
357
|
+
**The problem:** Building components for imagined future use cases. Creating a "universal card" with 40 props instead of the 3 specific cards your product needs.
|
|
358
|
+
|
|
359
|
+
**How it manifests:**
|
|
360
|
+
- Components with excessive configuration props nobody uses
|
|
361
|
+
- Abstract naming that obscures purpose ("Container" instead of "ProductCard")
|
|
362
|
+
- Months of building before any product team can consume the system
|
|
363
|
+
|
|
364
|
+
**Prevention:** Follow the Rule of Three (do not abstract until 3 real-world instances). Start product-specific; extract shared abstractions later. Audit prop usage -- if <10% of instances use a prop, reconsider it. Prefer composition (slots) over configuration (props) for variation.
|
|
365
|
+
|
|
366
|
+
### No Governance
|
|
367
|
+
|
|
368
|
+
**The problem:** No clear process for who decides what enters the system, how quality is enforced, or how changes are communicated.
|
|
369
|
+
|
|
370
|
+
**How it manifests:**
|
|
371
|
+
- Inconsistent components (two slightly different button variants from different contributors)
|
|
372
|
+
- Breaking changes shipped without warning or migration path
|
|
373
|
+
- Stale documentation that no longer matches the code
|
|
374
|
+
- Product teams fork the system because they cannot get changes approved
|
|
375
|
+
|
|
376
|
+
**Prevention:** Contribution model with stages and SLAs. Review council with consuming-team representatives. Public changelog and migration guides. SLAs: proposals acknowledged within 3 business days, reviews within 10.
|
|
377
|
+
|
|
378
|
+
### Design-Dev Drift
|
|
379
|
+
|
|
380
|
+
**The problem:** Figma components and code components diverge over time. Neither is wrong -- they are just out of sync.
|
|
381
|
+
|
|
382
|
+
**How it manifests:**
|
|
383
|
+
- Figma shows 16px spacing; code uses 12px
|
|
384
|
+
- Design has a variant that does not exist in code (or vice versa)
|
|
385
|
+
- Token values in Figma do not match values in CSS
|
|
386
|
+
- Designers stop trusting the Figma library; engineers stop reading design specs
|
|
387
|
+
|
|
388
|
+
**Prevention:** Single-source tokens synced to both design and code via pipeline (Tokens Studio + Style Dictionary). Quarterly parity audits. Shared naming conventions. Co-ownership per component (design owner + engineering owner). Automated parity tools (Handoff.com, Interplay, UXPin Merge).
|
|
389
|
+
|
|
390
|
+
### Over-Engineering
|
|
391
|
+
|
|
392
|
+
**The problem:** Building infrastructure far exceeding actual needs. A 3-person startup does not need multi-platform, multi-theme, multi-brand token architecture with 500 tokens.
|
|
393
|
+
|
|
394
|
+
**How it manifests:**
|
|
395
|
+
- Months of setup before a single component is usable
|
|
396
|
+
- Token architecture with 5 tiers when 2 would suffice
|
|
397
|
+
- Custom build tooling when off-the-shelf tools work fine
|
|
398
|
+
- Excessive documentation requirements that slow contribution to a crawl
|
|
399
|
+
|
|
400
|
+
**Prevention:** Right-size to team size and product count (1 product = lightweight; 10+ = full infrastructure). Start with minimal viable system: core tokens + 5-10 most-used components + simple docs page. Use existing tools before building custom ones. Add complexity when pain is felt, not anticipated.
|
|
401
|
+
|
|
402
|
+
### No Adoption Strategy
|
|
403
|
+
|
|
404
|
+
**The problem:** A beautiful system that nobody uses. Product teams continue ad-hoc styles; new engineers do not know the system exists.
|
|
405
|
+
|
|
406
|
+
**How it manifests:**
|
|
407
|
+
- Usage metrics flat or declining
|
|
408
|
+
- Product teams cite "it does not have what I need" or "it is too hard to use"
|
|
409
|
+
- New hires build features without knowing the system exists
|
|
410
|
+
|
|
411
|
+
**Prevention:** Co-create initial components with pilot teams. Make adoption frictionless (starter templates, CLI scaffolding, excellent getting-started docs). Measure quantitatively (system imports vs. ad-hoc code, Figma library analytics). Training program: onboarding workshops, office hours, ambassador network. Address component gaps quickly -- if teams consistently need what the system lacks, that is a prioritization problem.
|
|
412
|
+
|
|
413
|
+
### Inconsistent Component Quality
|
|
414
|
+
|
|
415
|
+
Some components are production-ready; others are half-finished. Consumers cannot tell which is which. **Prevention:** Maturity levels (Alpha/Beta/Stable) with visible badges. Block promotion to Stable until all quality gates pass. Maintain public roadmap of component status.
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## 6. Integration with Development
|
|
420
|
+
|
|
421
|
+
### Design-to-Code Pipeline
|
|
422
|
+
|
|
423
|
+
```
|
|
424
|
+
Figma Variables Tokens Studio Git Repository
|
|
425
|
+
(design source) --> (sync plugin) --> (tokens/*.json)
|
|
426
|
+
|
|
|
427
|
+
v
|
|
428
|
+
Style Dictionary
|
|
429
|
+
(build pipeline)
|
|
430
|
+
|
|
|
431
|
+
+----------------+------+------+----------------+
|
|
432
|
+
v v v v
|
|
433
|
+
css/tokens.css tailwind/ ios/Tokens. android/
|
|
434
|
+
(CSS vars) theme.js swift tokens.xml
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
**Steps:** Design (define tokens in Figma) --> Sync (Tokens Studio pushes PR) --> Transform (Style Dictionary generates outputs) --> Validate (CI lints tokens, runs tests) --> Publish (merge releases package) --> Consume (product teams update dependency).
|
|
438
|
+
|
|
439
|
+
### Design Tokens in CSS and Tailwind
|
|
440
|
+
|
|
441
|
+
**CSS Custom Properties:**
|
|
442
|
+
|
|
443
|
+
```css
|
|
444
|
+
:root {
|
|
445
|
+
--color-primary: #2563eb;
|
|
446
|
+
--color-surface: #f8fafc;
|
|
447
|
+
--spacing-md: 16px;
|
|
448
|
+
--font-size-base: 1rem;
|
|
449
|
+
}
|
|
450
|
+
[data-theme="dark"] {
|
|
451
|
+
--color-primary: #60a5fa;
|
|
452
|
+
--color-surface: #0f172a;
|
|
453
|
+
}
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
**Tailwind v4 (CSS-first):**
|
|
457
|
+
|
|
458
|
+
```css
|
|
459
|
+
@theme {
|
|
460
|
+
--color-primary: #2563eb;
|
|
461
|
+
--spacing-md: 16px;
|
|
462
|
+
--font-sans: 'Inter', system-ui, sans-serif;
|
|
463
|
+
}
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**Tailwind v3 (config-based):** Style Dictionary generates `tailwind.config.js` values referencing CSS custom properties. Tokens Studio provides `@tokens-studio/sd-tailwindv4` for direct Figma-to-Tailwind v4 pipeline.
|
|
467
|
+
|
|
468
|
+
### Component Parity
|
|
469
|
+
|
|
470
|
+
Parity means every Figma component has a corresponding code implementation with matching variants, states, and behavior.
|
|
471
|
+
|
|
472
|
+
**Parity dimensions:** Component inventory, variant coverage, prop-to-property mapping, state coverage, token usage, responsive behavior, accessibility, naming.
|
|
473
|
+
|
|
474
|
+
**Audit process:** Export inventories from Figma and code, compare, flag discrepancies, prioritize fixes (missing components > missing variants > naming mismatches). Track parity percentage as health metric (target: 95%+ for Stable components).
|
|
475
|
+
|
|
476
|
+
### Handoff Considerations
|
|
477
|
+
|
|
478
|
+
**What the system handles (no handoff needed):** Token values, component behavior/states, accessibility, responsive behavior.
|
|
479
|
+
|
|
480
|
+
**What still requires handoff:** Layout composition, content, business logic, animation choreography, edge cases (long text, missing data, extreme viewports).
|
|
481
|
+
|
|
482
|
+
**Best practices:** Reference system component names in annotations. Annotate only deviations from system defaults. Link to Storybook stories. Use Figma Dev Mode. Treat handoff as conversation, not throw-over-the-wall.
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
## 7. Reference Systems
|
|
487
|
+
|
|
488
|
+
**Material Design 3 (Google)** -- Three-tier token architecture (reference/system/component), the gold standard. Dynamic color via HCT color space. Cross-platform (web, Android, Flutter). Learn from: token naming, color system architecture, component anatomy. Reference: m3.material.io
|
|
489
|
+
|
|
490
|
+
**Apple HIG** -- Platform-native philosophy. 2025 Liquid Glass design language (translucency, depth, fluid responsiveness). Strengths: interaction patterns, spatial computing (visionOS), motion/haptics. Learn from: platform-adaptive patterns, shared anatomy across platforms. Reference: developer.apple.com/design/human-interface-guidelines
|
|
491
|
+
|
|
492
|
+
**Ant Design (Alibaba)** -- Three-tier tokens (Seed/Map/Alias) with algorithmic derivation: seed tokens auto-generate map tokens. Theme composition via CSS-in-JS ConfigProvider (dark + compact = dark compact). 50+ enterprise components. Learn from: algorithmic token derivation, theme composition. Reference: ant.design
|
|
493
|
+
|
|
494
|
+
**Shopify Polaris** -- Exemplary governance: open-source with structured contribution workflow. Outstanding documentation with problem/solution framing and content guidelines per component. Learn from: contribution model, doc structure, content integration. Reference: polaris.shopify.com
|
|
495
|
+
|
|
496
|
+
**Atlassian Design System** -- Supports 20+ products. Component-level versioning. Ambassador program for adoption. Learn from: multi-product governance, ambassador model, versioning at scale. Reference: atlassian.design
|
|
497
|
+
|
|
498
|
+
**IBM Carbon** -- Fully open-source. Four built-in themes. Dedicated adoption teams for pilot programs. Learn from: adoption team model, theme architecture, enterprise patterns. Reference: carbondesignsystem.com
|
|
499
|
+
|
|
500
|
+
**Radix (WorkOS)** -- Headless primitives: unstyled, accessible, composable. Compound components with `asChild` prop. Powers shadcn/ui. Learn from: headless architecture, composition over configuration, accessibility implementation. Reference: radix-ui.com
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## 8. Adoption Metrics & Success Measurement
|
|
505
|
+
|
|
506
|
+
A design system is a product. Like any product, it needs metrics to demonstrate value and guide investment.
|
|
507
|
+
|
|
508
|
+
### Quantitative Metrics
|
|
509
|
+
|
|
510
|
+
| Metric | How to Measure | Target |
|
|
511
|
+
|---|---|---|
|
|
512
|
+
| Component coverage | % of UI built with system components vs. ad-hoc code | 80%+ for mature products |
|
|
513
|
+
| Figma detach rate | % of component instances detached from the library | < 5% |
|
|
514
|
+
| Token compliance | % of values in code that reference tokens vs. hard-coded | 95%+ |
|
|
515
|
+
| Accessibility violations | axe-core violations across all system components | 0 critical, 0 serious |
|
|
516
|
+
| Bundle size per component | KB (gzipped) for each component | Track trend, set budgets |
|
|
517
|
+
| Time to first component | Minutes for new developer to install and render first component | < 15 minutes |
|
|
518
|
+
| Contribution rate | PRs from non-system-team members per quarter | Growing quarter-over-quarter |
|
|
519
|
+
| Documentation coverage | % of components with complete documentation (all 11 sections) | 100% for Stable components |
|
|
520
|
+
|
|
521
|
+
### Qualitative Metrics
|
|
522
|
+
|
|
523
|
+
- **Developer satisfaction survey** (quarterly): NPS-style score for usability, docs quality, support
|
|
524
|
+
- **Designer satisfaction survey** (quarterly): ease of Figma library use, component completeness
|
|
525
|
+
- **Support ticket themes**: categorize recurring questions to identify gaps
|
|
526
|
+
- **Time-to-market impact**: compare delivery speed for teams using vs. not using the system
|
|
527
|
+
|
|
528
|
+
### Business Impact
|
|
529
|
+
|
|
530
|
+
- Reduction in design QA defects (fewer "does not match design" issues)
|
|
531
|
+
- Faster onboarding (days to first contribution)
|
|
532
|
+
- Consistent brand expression (brand audit scores)
|
|
533
|
+
- Reduced duplicate code across repositories
|
|
534
|
+
- Research from Figma: designers with a design system complete tasks 34% faster -- equivalent to adding 3.5 designers to a team of seven
|
|
535
|
+
|
|
536
|
+
---
|
|
537
|
+
|
|
538
|
+
## 9. Quick Reference Checklist
|
|
539
|
+
|
|
540
|
+
### Foundation
|
|
541
|
+
- [ ] Design principles documented and referenced in component decisions
|
|
542
|
+
- [ ] Token architecture defined (minimum: reference + semantic tiers)
|
|
543
|
+
- [ ] Token categories complete: color, typography, spacing, sizing, radius, elevation, motion
|
|
544
|
+
- [ ] Light/dark mode token sets defined and tested
|
|
545
|
+
- [ ] Spacing scale uses consistent base unit (4px or 8px)
|
|
546
|
+
- [ ] Typography scale: finite set of sizes (6-8 levels)
|
|
547
|
+
- [ ] Color contrast ratios verified (WCAG 2.2 AA: 4.5:1 text, 3:1 UI)
|
|
548
|
+
|
|
549
|
+
### Component Library
|
|
550
|
+
- [ ] Core components: Button, Input, Select, Checkbox, Radio, Toggle, TextArea
|
|
551
|
+
- [ ] Layout: Stack, Grid, Container, Divider
|
|
552
|
+
- [ ] Feedback: Alert, Toast, Dialog/Modal, Tooltip, Progress
|
|
553
|
+
- [ ] Navigation: Link, Tabs, Breadcrumb, Pagination, Menu
|
|
554
|
+
- [ ] Data: Card, Badge, Avatar, Table, List, Tag
|
|
555
|
+
- [ ] All components use tokens (no hard-coded values)
|
|
556
|
+
- [ ] All components meet WCAG 2.2 AA
|
|
557
|
+
- [ ] TypeScript types exported; all states handled (hover, focus, active, disabled)
|
|
558
|
+
- [ ] Tree-shakeable and SSR-compatible
|
|
559
|
+
|
|
560
|
+
### Documentation
|
|
561
|
+
- [ ] Getting-started guide tested with fresh project
|
|
562
|
+
- [ ] Every component has all 11 documentation sections
|
|
563
|
+
- [ ] Foundations pages for each token category
|
|
564
|
+
- [ ] Pattern library: forms, navigation, empty states, loading, errors
|
|
565
|
+
- [ ] Changelog maintained with every release
|
|
566
|
+
- [ ] Search works across all content
|
|
567
|
+
- [ ] Documentation site itself meets WCAG 2.2 AA
|
|
568
|
+
|
|
569
|
+
### Process & Governance
|
|
570
|
+
- [ ] Contribution model with clear stages and templates
|
|
571
|
+
- [ ] Review SLAs defined (acknowledgment, review, decision)
|
|
572
|
+
- [ ] SemVer versioning documented
|
|
573
|
+
- [ ] Deprecation policy: minimum support window before removal
|
|
574
|
+
- [ ] Quality gates enforced (accessibility, testing, documentation)
|
|
575
|
+
- [ ] Component maturity labels (Alpha/Beta/Stable)
|
|
576
|
+
|
|
577
|
+
### Design-Dev Integration
|
|
578
|
+
- [ ] Token pipeline automated: source generates platform outputs without manual steps
|
|
579
|
+
- [ ] Figma library and code share same token source
|
|
580
|
+
- [ ] Component parity tracked (target: 95%+)
|
|
581
|
+
- [ ] Storybook stories for every code component
|
|
582
|
+
- [ ] Visual regression tests on every PR
|
|
583
|
+
- [ ] Accessibility tests in CI (zero violations policy)
|
|
584
|
+
|
|
585
|
+
### Adoption & Health
|
|
586
|
+
- [ ] Adoption metrics tracked (system imports vs. ad-hoc, Figma detach rate)
|
|
587
|
+
- [ ] 2+ product teams actively using the system
|
|
588
|
+
- [ ] Onboarding training for new team members
|
|
589
|
+
- [ ] Feedback channel (Slack, GitHub Discussions, office hours)
|
|
590
|
+
- [ ] System team capacity sufficient (minimum 2 for active maintenance)
|
|
591
|
+
- [ ] Quarterly parity audit scheduled
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
*Apply proportionally: a startup with one product needs a lightweight system; an enterprise with 20 products needs full governance. Start small, validate with real usage, grow in response to demonstrated need -- never in anticipation of imagined need.*
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Directory Purpose
|
|
2
|
+
|
|
3
|
+
The `disciplines` directory explores the specialized fields within UX/UI design, detailing the methodologies used to create cohesive and user-centric products.
|
|
4
|
+
|
|
5
|
+
# Key Concepts
|
|
6
|
+
|
|
7
|
+
- Establishing design consistency
|
|
8
|
+
- Understanding user needs
|
|
9
|
+
- Structuring information intuitively
|
|
10
|
+
|
|
11
|
+
# File Map
|
|
12
|
+
|
|
13
|
+
- `dark-mode-theming.md` — designing for multiple color schemes
|
|
14
|
+
- `design-systems.md` — creating and maintaining component libraries
|
|
15
|
+
- `information-architecture.md` — structuring navigation and content
|
|
16
|
+
- `interaction-design.md` — micro-interactions and state changes
|
|
17
|
+
- `responsive-design.md` — fluid layouts across screen sizes
|
|
18
|
+
- `usability-testing.md` — methods for validating design choices
|
|
19
|
+
- `user-research.md` — gathering user feedback and insights
|
|
20
|
+
|
|
21
|
+
# Reading Guide
|
|
22
|
+
|
|
23
|
+
If building a component library → read `design-systems.md`
|
|
24
|
+
If organizing an app's menu → read `information-architecture.md`
|
|
25
|
+
If adapting a site for mobile → read `responsive-design.md`
|