@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,439 @@
|
|
|
1
|
+
# State Copy Patterns
|
|
2
|
+
|
|
3
|
+
> **Module Type:** Pattern
|
|
4
|
+
> **Domain:** Content -- UI State Communication
|
|
5
|
+
> **Authoritative Sources:** Material Design 3, Apple HIG, Nielsen Norman Group, Shopify Polaris, Atlassian Design System, Google Developer Documentation Style Guide
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Quick Reference Checklist
|
|
10
|
+
|
|
11
|
+
1. Every state has a headline, explanation, and next action
|
|
12
|
+
2. Error messages explain what went wrong AND how to fix it
|
|
13
|
+
3. Never use technical jargon in user-facing copy (no "500", "null", "exception")
|
|
14
|
+
4. Loading copy sets expectations: what is loading and roughly how long
|
|
15
|
+
5. Empty states distinguish first-time from no-results from error-empty
|
|
16
|
+
6. Success messages confirm what happened, not just "Success!"
|
|
17
|
+
7. Destructive confirmations name the action and consequences explicitly
|
|
18
|
+
8. Permission denied copy explains why AND how to get access
|
|
19
|
+
9. Offline copy tells users what they can still do
|
|
20
|
+
10. Timeout/retry copy offers an alternative path, not just "Try again"
|
|
21
|
+
11. All state copy is concise: headlines under 8 words, body under 30 words
|
|
22
|
+
12. Tone matches severity: neutral for info, warm for success, direct for errors
|
|
23
|
+
13. Never blame the user; use passive voice for errors when appropriate
|
|
24
|
+
14. Include the object name in confirmations ("Project 'Atlas' was deleted")
|
|
25
|
+
15. First-run copy focuses on value, not features
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 1. Loading States
|
|
30
|
+
|
|
31
|
+
Loading copy bridges the gap between action and result. It reassures users that the system is working and sets expectations for wait time.
|
|
32
|
+
|
|
33
|
+
### 1.1 Skeleton / Shimmer States
|
|
34
|
+
|
|
35
|
+
Skeleton screens typically need no copy -- the visual placeholder communicates "content is coming." However, when a skeleton persists beyond 3 seconds, supplement with a status message.
|
|
36
|
+
|
|
37
|
+
| Scenario | Copy |
|
|
38
|
+
|----------|------|
|
|
39
|
+
| Initial page load | (No copy -- skeleton alone is sufficient under 3s) |
|
|
40
|
+
| Skeleton persists 3-5s | "Loading your dashboard..." |
|
|
41
|
+
| Skeleton persists 5-10s | "Still loading. This might take a moment." |
|
|
42
|
+
| Section-level skeleton | "Loading recent activity..." |
|
|
43
|
+
|
|
44
|
+
### 1.2 Progress Indicators
|
|
45
|
+
|
|
46
|
+
For determinate operations where percentage is known.
|
|
47
|
+
|
|
48
|
+
| Scenario | Copy |
|
|
49
|
+
|----------|------|
|
|
50
|
+
| File upload | "Uploading 'quarterly-report.pdf'... 45%" |
|
|
51
|
+
| Data export | "Exporting 1,247 records... 72%" |
|
|
52
|
+
| Installation | "Installing updates... 3 of 5 complete" |
|
|
53
|
+
| Migration | "Migrating your data. This may take a few minutes." |
|
|
54
|
+
|
|
55
|
+
### 1.3 Spinner / Indeterminate States
|
|
56
|
+
|
|
57
|
+
| Scenario | Copy |
|
|
58
|
+
|----------|------|
|
|
59
|
+
| Saving | "Saving changes..." |
|
|
60
|
+
| Searching | "Searching..." |
|
|
61
|
+
| Processing payment | "Processing your payment. Please don't close this page." |
|
|
62
|
+
| Generating report | "Generating your report. This usually takes 10-20 seconds." |
|
|
63
|
+
| Connecting | "Connecting to server..." |
|
|
64
|
+
|
|
65
|
+
**Pattern:** "[Verb]ing [object]..." -- use the present participle of the actual operation, not generic "Loading."
|
|
66
|
+
|
|
67
|
+
### 1.4 Background Processing
|
|
68
|
+
|
|
69
|
+
When the user can continue working while something processes.
|
|
70
|
+
|
|
71
|
+
| Scenario | Copy |
|
|
72
|
+
|----------|------|
|
|
73
|
+
| File processing | "Your file is being processed. We'll notify you when it's ready." |
|
|
74
|
+
| Import | "Import in progress. You can keep working -- we'll send an email when it's done." |
|
|
75
|
+
| Build/deploy | "Deploying to production. You'll see the status update in your activity feed." |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 2. Empty States
|
|
80
|
+
|
|
81
|
+
Empty states are opportunities -- they explain absence and guide users toward action. Never show a blank screen or raw "No data."
|
|
82
|
+
|
|
83
|
+
### 2.1 First-Time / First-Use
|
|
84
|
+
|
|
85
|
+
The user has never created content in this area. Focus on value proposition and a clear call to action.
|
|
86
|
+
|
|
87
|
+
| Context | Headline | Body | CTA |
|
|
88
|
+
|---------|----------|------|-----|
|
|
89
|
+
| Projects list | "Start your first project" | "Projects help you organize work and track progress across your team." | "Create project" |
|
|
90
|
+
| Contacts | "Add your first contact" | "Keep track of the people you work with. Import from a file or add them one by one." | "Add contact" / "Import" |
|
|
91
|
+
| Dashboard widgets | "Customize your dashboard" | "Add widgets to see the information that matters most to you." | "Add widget" |
|
|
92
|
+
| API keys | "Create an API key" | "API keys let you connect external services to your account." | "Generate key" |
|
|
93
|
+
| Notifications | "No notifications yet" | "When something needs your attention, it will appear here." | (None -- passive) |
|
|
94
|
+
|
|
95
|
+
### 2.2 No-Results (Search / Filter)
|
|
96
|
+
|
|
97
|
+
The user searched or filtered and nothing matched. Echo their query and suggest alternatives.
|
|
98
|
+
|
|
99
|
+
| Context | Copy |
|
|
100
|
+
|---------|------|
|
|
101
|
+
| Search | **"No results for '[query]'"** / "Check your spelling or try a broader search term." |
|
|
102
|
+
| Filter combination | **"No items match these filters"** / "Try removing some filters or adjusting the date range." |
|
|
103
|
+
| Category browse | **"Nothing in [category] yet"** / "Be the first to add something, or explore other categories." |
|
|
104
|
+
| Advanced search | **"No matches found"** / "Try fewer search criteria. You can also search all fields instead of specific ones." |
|
|
105
|
+
|
|
106
|
+
**Pattern:** Echo the query or filter state so the user knows the system understood their intent. Offer 2-3 concrete alternative actions.
|
|
107
|
+
|
|
108
|
+
### 2.3 Error-Empty
|
|
109
|
+
|
|
110
|
+
Content should exist but failed to load.
|
|
111
|
+
|
|
112
|
+
| Context | Copy |
|
|
113
|
+
|---------|------|
|
|
114
|
+
| Feed failed to load | **"Couldn't load your feed"** / "Something went wrong on our end. Try refreshing the page." / CTA: "Refresh" |
|
|
115
|
+
| List fetch error | **"Unable to load [items]"** / "Check your connection and try again." / CTA: "Try again" |
|
|
116
|
+
| Widget data error | **"This widget couldn't load"** / "The data source may be temporarily unavailable." / CTA: "Retry" / "Remove widget" |
|
|
117
|
+
|
|
118
|
+
### 2.4 Cleared / All-Done
|
|
119
|
+
|
|
120
|
+
The user has completed or cleared all items. Celebrate the achievement.
|
|
121
|
+
|
|
122
|
+
| Context | Copy |
|
|
123
|
+
|---------|------|
|
|
124
|
+
| Inbox zero | **"You're all caught up"** / "No new messages. Enjoy the calm." |
|
|
125
|
+
| Task list complete | **"All tasks done"** / "Nice work. Take a break or plan your next sprint." |
|
|
126
|
+
| Review queue empty | **"No items to review"** / "Everything has been reviewed. Check back later." |
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 3. Error States
|
|
131
|
+
|
|
132
|
+
Error copy must answer three questions: What happened? Why? What can the user do?
|
|
133
|
+
|
|
134
|
+
### 3.1 Network Errors
|
|
135
|
+
|
|
136
|
+
| Scenario | Headline | Body | CTA |
|
|
137
|
+
|----------|----------|------|-----|
|
|
138
|
+
| No connection | "You're offline" | "Check your internet connection and try again." | "Try again" |
|
|
139
|
+
| Connection lost mid-action | "Connection lost" | "Your changes haven't been saved. We'll try again when you're back online." | "Retry" |
|
|
140
|
+
| Slow connection | "Taking longer than expected" | "Your connection seems slow. You can wait or try again later." | "Keep waiting" / "Cancel" |
|
|
141
|
+
| Server unreachable | "Can't reach the server" | "This is usually temporary. Try again in a few moments." | "Try again" |
|
|
142
|
+
|
|
143
|
+
### 3.2 Validation Errors
|
|
144
|
+
|
|
145
|
+
Validation errors appear inline, adjacent to the field. They should state the requirement, not just the violation.
|
|
146
|
+
|
|
147
|
+
| Field | Bad | Good |
|
|
148
|
+
|-------|-----|------|
|
|
149
|
+
| Email | "Invalid email" | "Enter an email address like name@example.com" |
|
|
150
|
+
| Password | "Password too short" | "Password must be at least 8 characters" |
|
|
151
|
+
| Phone | "Invalid phone number" | "Enter a phone number with country code, like +1 555 123 4567" |
|
|
152
|
+
| Date | "Invalid date" | "Enter a date in the format MM/DD/YYYY" |
|
|
153
|
+
| Required field | "This field is required" | "Enter your [field name] to continue" |
|
|
154
|
+
| Number range | "Out of range" | "Enter a number between 1 and 100" |
|
|
155
|
+
| File size | "File too large" | "Choose a file under 10 MB. Your file is 24 MB." |
|
|
156
|
+
| File type | "Wrong file type" | "Upload a PNG, JPG, or SVG file" |
|
|
157
|
+
| Character limit | "Too many characters" | "Keep your bio under 160 characters (currently 203)" |
|
|
158
|
+
|
|
159
|
+
### 3.3 Permission Errors
|
|
160
|
+
|
|
161
|
+
| Scenario | Headline | Body | CTA |
|
|
162
|
+
|----------|----------|------|-----|
|
|
163
|
+
| Role insufficient | "You don't have access" | "This page is available to admins. Ask your workspace owner to update your role." | "Request access" |
|
|
164
|
+
| Feature gated | "Upgrade to unlock" | "This feature is available on the Pro plan and above." | "View plans" |
|
|
165
|
+
| Resource not shared | "This [item] hasn't been shared with you" | "Ask the owner to share it, or check that you're signed in to the right account." | "Request access" |
|
|
166
|
+
| Expired access | "Your access has expired" | "Your invitation to [workspace] expired on [date]. Ask for a new invitation." | "Request new invite" |
|
|
167
|
+
|
|
168
|
+
### 3.4 Not-Found Errors
|
|
169
|
+
|
|
170
|
+
| Scenario | Headline | Body | CTA |
|
|
171
|
+
|----------|----------|------|-----|
|
|
172
|
+
| Page not found | "Page not found" | "The page you're looking for doesn't exist or has been moved." | "Go to homepage" |
|
|
173
|
+
| Deleted resource | "[Item] was deleted" | "This [item] was removed by [owner] on [date]." | "Go back" |
|
|
174
|
+
| Broken link | "This link is broken" | "The link you followed may be outdated. Try searching instead." | "Search" / "Go home" |
|
|
175
|
+
| Invalid ID | "We couldn't find that" | "Double-check the URL or search for what you need." | "Search" |
|
|
176
|
+
|
|
177
|
+
### 3.5 Server Errors
|
|
178
|
+
|
|
179
|
+
| Scenario | Headline | Body | CTA |
|
|
180
|
+
|----------|----------|------|-----|
|
|
181
|
+
| 500 / Generic | "Something went wrong" | "We're looking into it. Try again in a few minutes." | "Try again" |
|
|
182
|
+
| Maintenance | "We're doing some maintenance" | "We'll be back shortly. Check our status page for updates." | "View status" |
|
|
183
|
+
| Rate limited | "Too many requests" | "You've made a lot of requests recently. Wait a moment and try again." | "Try again in [N]s" |
|
|
184
|
+
| Service degraded | "Some features are unavailable" | "We're experiencing issues with [feature]. Other parts of the app are working normally." | "View status" |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 4. Success States
|
|
189
|
+
|
|
190
|
+
Success copy confirms what happened and, when relevant, suggests a next action.
|
|
191
|
+
|
|
192
|
+
### 4.1 Creation Success
|
|
193
|
+
|
|
194
|
+
| Action | Copy |
|
|
195
|
+
|--------|------|
|
|
196
|
+
| Item created | "Project '[name]' created" |
|
|
197
|
+
| Account created | "Welcome! Your account is ready." |
|
|
198
|
+
| Invitation sent | "Invitation sent to [email]" |
|
|
199
|
+
| File uploaded | "'[filename]' uploaded successfully" |
|
|
200
|
+
| Import complete | "24 contacts imported. 3 duplicates skipped." |
|
|
201
|
+
|
|
202
|
+
### 4.2 Update Success
|
|
203
|
+
|
|
204
|
+
| Action | Copy |
|
|
205
|
+
|--------|------|
|
|
206
|
+
| Settings saved | "Settings saved" |
|
|
207
|
+
| Profile updated | "Your profile has been updated" |
|
|
208
|
+
| Password changed | "Password updated. You'll stay signed in on this device." |
|
|
209
|
+
| Bulk update | "12 items updated" |
|
|
210
|
+
| Auto-save | "Saved" (minimal, inline indicator) |
|
|
211
|
+
|
|
212
|
+
### 4.3 Deletion Success
|
|
213
|
+
|
|
214
|
+
| Action | Copy |
|
|
215
|
+
|--------|------|
|
|
216
|
+
| Item deleted | "'[name]' deleted" + "Undo" action (available for 5-10s) |
|
|
217
|
+
| Bulk delete | "8 items deleted" + "Undo" |
|
|
218
|
+
| Account deletion initiated | "Your account will be deleted in 30 days. You can cancel this from Settings." |
|
|
219
|
+
| Permanent delete | "'[name]' permanently deleted. This can't be undone." |
|
|
220
|
+
|
|
221
|
+
**Pattern:** Include the item name in deletion confirmations so the user can verify the right thing was removed. Offer "Undo" for soft deletes.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 5. Destructive Confirmation
|
|
226
|
+
|
|
227
|
+
Before irreversible actions, confirm with the user. Name the action, the object, and the consequences.
|
|
228
|
+
|
|
229
|
+
### 5.1 Confirmation Dialog Copy
|
|
230
|
+
|
|
231
|
+
**Structure:**
|
|
232
|
+
- **Headline:** "[Verb] [object]?" -- direct question naming the action
|
|
233
|
+
- **Body:** What will happen, stated plainly. Include consequences and what cannot be undone.
|
|
234
|
+
- **Primary action:** Repeat the verb from the headline (not "OK" or "Yes")
|
|
235
|
+
- **Secondary action:** "Cancel"
|
|
236
|
+
|
|
237
|
+
| Action | Headline | Body | Confirm | Cancel |
|
|
238
|
+
|--------|----------|------|---------|--------|
|
|
239
|
+
| Delete project | "Delete 'Atlas'?" | "This will permanently delete the project and all its tasks. Team members will lose access." | "Delete project" | "Cancel" |
|
|
240
|
+
| Remove member | "Remove [name]?" | "[Name] will lose access to this workspace immediately. Their work will remain." | "Remove" | "Cancel" |
|
|
241
|
+
| Discard changes | "Discard unsaved changes?" | "You have unsaved changes that will be lost." | "Discard" | "Keep editing" |
|
|
242
|
+
| Revoke API key | "Revoke this API key?" | "Any integrations using this key will stop working immediately." | "Revoke key" | "Cancel" |
|
|
243
|
+
| Cancel subscription | "Cancel subscription?" | "You'll have access until [date]. After that, your team will be moved to the free plan." | "Cancel subscription" | "Keep subscription" |
|
|
244
|
+
| Reset data | "Reset all data?" | "This removes all records from [section]. This action can't be undone." | "Reset data" | "Cancel" |
|
|
245
|
+
|
|
246
|
+
### 5.2 Anti-Patterns in Confirmations
|
|
247
|
+
|
|
248
|
+
- Never use "Yes" / "No" -- users don't read the question, they scan for buttons
|
|
249
|
+
- Never use "OK" -- it's ambiguous for destructive actions
|
|
250
|
+
- Never use double negatives ("Cancel the cancellation?")
|
|
251
|
+
- Never make the destructive action the default/primary-styled button
|
|
252
|
+
- Never skip confirmation for permanent deletions, even if "power user mode" is on
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 6. Permission Denied
|
|
257
|
+
|
|
258
|
+
When a user tries to access or perform something they're not authorized for.
|
|
259
|
+
|
|
260
|
+
### 6.1 Copy Structure
|
|
261
|
+
|
|
262
|
+
**Headline:** State what they can't do
|
|
263
|
+
**Body:** Explain why (role, plan, ownership) and who can help
|
|
264
|
+
**CTA:** The most helpful next step (request access, upgrade, contact admin)
|
|
265
|
+
|
|
266
|
+
| Scenario | Copy |
|
|
267
|
+
|---------|------|
|
|
268
|
+
| Admin-only feature | **"Admin access required"** / "Only workspace admins can manage billing. Contact [admin name] to make changes." / CTA: "Contact admin" |
|
|
269
|
+
| Plan limitation | **"Available on Pro plan"** / "Your current plan doesn't include [feature]. Upgrade to unlock it." / CTA: "Compare plans" |
|
|
270
|
+
| Ownership | **"Only the owner can do this"** / "[Owner name] owns this [item]. Ask them to make this change." / CTA: "Contact owner" |
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## 7. Offline States
|
|
275
|
+
|
|
276
|
+
Offline copy must tell users three things: you're offline, what still works, and what will happen when you reconnect.
|
|
277
|
+
|
|
278
|
+
### 7.1 Offline Transition
|
|
279
|
+
|
|
280
|
+
| Scenario | Copy |
|
|
281
|
+
|---------|------|
|
|
282
|
+
| Connection lost | Banner: "You're offline. Changes will sync when you reconnect." |
|
|
283
|
+
| Reconnecting | Banner: "Reconnecting..." |
|
|
284
|
+
| Reconnected | Banner (temporary, 3s): "You're back online. Changes synced." |
|
|
285
|
+
|
|
286
|
+
### 7.2 Offline Capabilities
|
|
287
|
+
|
|
288
|
+
| Scenario | Copy |
|
|
289
|
+
|---------|------|
|
|
290
|
+
| Read-only mode | "You're offline. You can view cached content, but changes won't be saved until you reconnect." |
|
|
291
|
+
| Queued changes | "You're offline. Your changes are saved locally and will sync automatically." |
|
|
292
|
+
| Action unavailable | "[Action] requires an internet connection." (Inline, next to disabled button) |
|
|
293
|
+
| Stale data | "Last updated [time ago]. Connect to the internet to refresh." |
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## 8. First-Run and Onboarding
|
|
298
|
+
|
|
299
|
+
First-run copy introduces the product or feature. Focus on what the user can achieve, not what the feature does.
|
|
300
|
+
|
|
301
|
+
### 8.1 Feature Introduction
|
|
302
|
+
|
|
303
|
+
| Context | Headline | Body |
|
|
304
|
+
|---------|----------|------|
|
|
305
|
+
| New feature | "Introducing [feature]" | "[One sentence: what it helps you do]. Try it out." |
|
|
306
|
+
| Feature tour step | "Track time on tasks" | "Start a timer from any task to see where your time goes." |
|
|
307
|
+
| Post-signup | "Welcome to [Product]" | "Let's get your workspace set up. This takes about 2 minutes." |
|
|
308
|
+
| Empty first screen | "This is your [area]" | "[What will appear here once they start using it]." |
|
|
309
|
+
|
|
310
|
+
### 8.2 Progressive Disclosure
|
|
311
|
+
|
|
312
|
+
Reveal features as the user needs them, not all at once.
|
|
313
|
+
|
|
314
|
+
| Trigger | Copy |
|
|
315
|
+
|---------|------|
|
|
316
|
+
| First time using feature | Tooltip: "[Brief instruction]. Dismiss" |
|
|
317
|
+
| After completing setup | "You're all set! Here are a few things to try next: [2-3 actions]" |
|
|
318
|
+
| Reaching a milestone | "You've completed 10 tasks! Did you know you can create recurring tasks?" |
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 9. Timeout and Retry
|
|
323
|
+
|
|
324
|
+
When an operation takes too long or fails intermittently.
|
|
325
|
+
|
|
326
|
+
### 9.1 Timeout Progression
|
|
327
|
+
|
|
328
|
+
| Duration | Copy |
|
|
329
|
+
|----------|------|
|
|
330
|
+
| 5-10s over expected | "This is taking longer than usual..." |
|
|
331
|
+
| 15-30s over expected | "Still working on it. You can keep waiting or try again." / CTA: "Keep waiting" / "Try again" |
|
|
332
|
+
| 30-60s over expected | "This is taking much longer than expected. There may be an issue." / CTA: "Try again" / "Cancel" |
|
|
333
|
+
| Hard timeout | "The request timed out. This could be a temporary issue." / CTA: "Try again" / "Go back" |
|
|
334
|
+
|
|
335
|
+
### 9.2 Retry Copy
|
|
336
|
+
|
|
337
|
+
| Scenario | Copy |
|
|
338
|
+
|---------|------|
|
|
339
|
+
| First retry prompt | "Something went wrong. Try again?" / CTA: "Try again" |
|
|
340
|
+
| Second retry | "Still not working. Check your connection or try again in a few minutes." / CTA: "Try again" |
|
|
341
|
+
| After multiple failures | "We're having trouble completing this request. Please try again later or contact support." / CTA: "Contact support" / "Try later" |
|
|
342
|
+
| Auto-retry with countdown | "Retrying in [N] seconds..." / CTA: "Retry now" / "Cancel" |
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## 10. Anti-Patterns
|
|
347
|
+
|
|
348
|
+
### 10.1 Generic Messages
|
|
349
|
+
|
|
350
|
+
"An error occurred." -- tells the user nothing. Always specify what failed and what to do.
|
|
351
|
+
|
|
352
|
+
### 10.2 Technical Jargon
|
|
353
|
+
|
|
354
|
+
"Error 500: Internal Server Error" or "NullPointerException" -- translate to human language. The user doesn't need the error code.
|
|
355
|
+
|
|
356
|
+
### 10.3 Blame-the-User Tone
|
|
357
|
+
|
|
358
|
+
"You entered an invalid email" -- use "Enter a valid email address" instead. Frame errors as requirements, not accusations.
|
|
359
|
+
|
|
360
|
+
### 10.4 Missing Next Step
|
|
361
|
+
|
|
362
|
+
"Your session expired." with no action. Always provide a CTA: "Sign in again."
|
|
363
|
+
|
|
364
|
+
### 10.5 Wall of Text
|
|
365
|
+
|
|
366
|
+
Multi-paragraph error explanations. Keep headlines under 8 words, body under 30 words. Link to docs if more detail is needed.
|
|
367
|
+
|
|
368
|
+
### 10.6 Crying Wolf
|
|
369
|
+
|
|
370
|
+
Using error styling (red, alert icons) for informational messages. Reserve red for actual errors. Use blue for info, yellow for warnings.
|
|
371
|
+
|
|
372
|
+
### 10.7 Disappearing Errors
|
|
373
|
+
|
|
374
|
+
Error toast that auto-dismisses before the user reads it. Error messages should persist until dismissed or resolved. Use inline messages for validation errors, not toasts.
|
|
375
|
+
|
|
376
|
+
### 10.8 Ambiguous Confirmations
|
|
377
|
+
|
|
378
|
+
"Are you sure?" with "OK" / "Cancel" buttons. The user can't tell which button does what without re-reading the question. Use specific verb labels.
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## 11. Decision Tree
|
|
383
|
+
|
|
384
|
+
### 11.1 Choosing State Copy Tone
|
|
385
|
+
|
|
386
|
+
```
|
|
387
|
+
What is the severity?
|
|
388
|
+
+-- Critical error / data loss risk
|
|
389
|
+
| --> Direct, urgent tone. Short sentences. Specific consequences.
|
|
390
|
+
| "Unsaved changes will be lost."
|
|
391
|
+
+-- Recoverable error
|
|
392
|
+
| --> Calm, helpful tone. State problem + solution.
|
|
393
|
+
| "Couldn't save. Check your connection and try again."
|
|
394
|
+
+-- Warning / potential issue
|
|
395
|
+
| --> Advisory tone. State risk + recommendation.
|
|
396
|
+
| "This API key expires in 3 days. Generate a new one."
|
|
397
|
+
+-- Neutral info / success
|
|
398
|
+
| --> Brief, warm tone. Confirm action + optional next step.
|
|
399
|
+
| "Team created. Invite your first member."
|
|
400
|
+
+-- Empty / first-use
|
|
401
|
+
--> Encouraging tone. Value prop + CTA.
|
|
402
|
+
"Track your team's progress. Create your first project."
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
### 11.2 Choosing Feedback Mechanism for State Copy
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
Is this a form validation issue?
|
|
409
|
+
+-- YES --> Inline message adjacent to the field. Persist until fixed.
|
|
410
|
+
|
|
411
|
+
Is this a confirmation of a completed action?
|
|
412
|
+
+-- YES, routine --> Toast/snackbar, auto-dismiss 3-5s
|
|
413
|
+
+-- YES, with undo option --> Toast with "Undo" action, 8-10s
|
|
414
|
+
|
|
415
|
+
Is this an error requiring attention?
|
|
416
|
+
+-- YES, field-level --> Inline, persist
|
|
417
|
+
+-- YES, page-level --> Banner at top, persist until resolved
|
|
418
|
+
+-- YES, system-level --> Modal or persistent banner
|
|
419
|
+
|
|
420
|
+
Is this a destructive confirmation?
|
|
421
|
+
+-- YES --> Modal dialog with specific verb labels
|
|
422
|
+
|
|
423
|
+
Is this a state transition (online/offline)?
|
|
424
|
+
+-- YES --> Persistent banner until state changes back
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## References
|
|
430
|
+
|
|
431
|
+
- [NNG: Error-Message Guidelines](https://www.nngroup.com/articles/error-message-guidelines/)
|
|
432
|
+
- [NNG: Instructive vs Assertive Tone](https://www.nngroup.com/articles/tone-voice-users/)
|
|
433
|
+
- [Material Design 3 - Communication](https://m3.material.io/foundations/content-design/overview)
|
|
434
|
+
- [Apple HIG - Writing Inclusively](https://developer.apple.com/design/human-interface-guidelines/writing-inclusively)
|
|
435
|
+
- [Shopify Polaris - Error Messages](https://polaris.shopify.com/content/error-messages)
|
|
436
|
+
- [Shopify Polaris - Empty States](https://polaris.shopify.com/design/empty-states)
|
|
437
|
+
- [Atlassian Design System - Empty States](https://atlassian.design/patterns/empty-states)
|
|
438
|
+
- [Google Developer Docs Style Guide - Error Messages](https://developers.google.com/style/error-messages)
|
|
439
|
+
- [Microsoft Writing Style Guide - Error Messages](https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/error-messages)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Design Expertise Research Progress
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
- Total: 39
|
|
5
|
+
- Done: 39
|
|
6
|
+
- Remaining: 0
|
|
7
|
+
- Completed: 2026-03-07
|
|
8
|
+
|
|
9
|
+
## Modules
|
|
10
|
+
|
|
11
|
+
### Foundations
|
|
12
|
+
- [x] visual-hierarchy.md (2026-03-07, 761 lines)
|
|
13
|
+
- [x] typography.md (2026-03-07, 800 lines)
|
|
14
|
+
- [x] color-theory.md (2026-03-07, 797 lines)
|
|
15
|
+
- [x] spacing-and-layout.md (2026-03-07, 607 lines)
|
|
16
|
+
- [x] accessibility-design.md (2026-03-07, 796 lines)
|
|
17
|
+
- [x] motion-and-animation.md
|
|
18
|
+
- [x] iconography.md (2026-03-07, 795 lines)
|
|
19
|
+
- [x] rtl-design.md (2026-03-07, 585 lines)
|
|
20
|
+
|
|
21
|
+
### Platforms
|
|
22
|
+
- [x] mobile-ios.md (2026-03-07, 699 lines)
|
|
23
|
+
- [x] mobile-android.md (2026-03-07, 825 lines)
|
|
24
|
+
- [x] mobile-cross-platform.md (2026-03-07, 683 lines)
|
|
25
|
+
- [x] web-responsive.md (2026-03-07, 550 lines)
|
|
26
|
+
- [x] web-dashboard.md (2026-03-07, 790 lines)
|
|
27
|
+
- [x] desktop-native.md (2026-03-07, 612 lines)
|
|
28
|
+
- [x] tablet.md (2026-03-07, 794 lines)
|
|
29
|
+
|
|
30
|
+
### Patterns
|
|
31
|
+
- [x] navigation.md (2026-03-07, 800 lines)
|
|
32
|
+
- [x] forms-and-input.md (2026-03-07, 819 lines)
|
|
33
|
+
- [x] feedback-and-states.md (2026-03-07, 642 lines)
|
|
34
|
+
- [x] data-display.md (2026-03-07, 618 lines)
|
|
35
|
+
- [x] authentication-flows.md (2026-03-07, 474 lines)
|
|
36
|
+
- [x] onboarding.md (2026-03-07, 700 lines)
|
|
37
|
+
- [x] search-and-filter.md (2026-03-07, 601 lines)
|
|
38
|
+
- [x] notifications.md (2026-03-07, 705 lines)
|
|
39
|
+
- [x] settings-and-preferences.md (2026-03-07, 768 lines)
|
|
40
|
+
- [x] content-consumption.md (2026-03-07, 789 lines)
|
|
41
|
+
- [x] e-commerce.md (2026-03-07, 1220 lines)
|
|
42
|
+
- [x] social-and-community.md (2026-03-07, 748 lines)
|
|
43
|
+
- [x] gamification.md (2026-03-07, 800 lines)
|
|
44
|
+
|
|
45
|
+
### Disciplines
|
|
46
|
+
- [x] design-systems.md (2026-03-07, 595 lines)
|
|
47
|
+
- [x] information-architecture.md (2026-03-07, 800 lines)
|
|
48
|
+
- [x] interaction-design.md (2026-03-07, 788 lines)
|
|
49
|
+
- [x] responsive-design.md (2026-03-07, 552 lines)
|
|
50
|
+
- [x] dark-mode-theming.md (2026-03-07, 577 lines)
|
|
51
|
+
- [x] user-research.md (2026-03-07, 792 lines)
|
|
52
|
+
- [x] usability-testing.md (2026-03-07, 516 lines)
|
|
53
|
+
|
|
54
|
+
### Psychology
|
|
55
|
+
- [x] cognitive-load.md (2026-03-07, 920 lines)
|
|
56
|
+
- [x] user-mental-models.md (2026-03-07, 623 lines)
|
|
57
|
+
- [x] persuasive-design.md (2026-03-07, 736 lines)
|
|
58
|
+
- [x] error-psychology.md (2026-03-07, 778 lines)
|