@djm204/agent-skills 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/README.md +597 -0
- package/bin/cli.js +8 -0
- package/package.json +55 -0
- package/src/index.js +1817 -0
- package/src/index.test.js +1264 -0
- package/templates/_shared/code-quality.mdc +52 -0
- package/templates/_shared/communication.mdc +43 -0
- package/templates/_shared/core-principles.mdc +67 -0
- package/templates/_shared/git-workflow.mdc +48 -0
- package/templates/_shared/security-fundamentals.mdc +41 -0
- package/templates/agents/utility-agent/.cursor/rules/action-control.mdc +71 -0
- package/templates/agents/utility-agent/.cursor/rules/context-management.mdc +61 -0
- package/templates/agents/utility-agent/.cursor/rules/hallucination-prevention.mdc +58 -0
- package/templates/agents/utility-agent/.cursor/rules/overview.mdc +34 -0
- package/templates/agents/utility-agent/.cursor/rules/token-optimization.mdc +71 -0
- package/templates/agents/utility-agent/CLAUDE.md +513 -0
- package/templates/business/market-intelligence/.cursor/rules/data-sources.mdc +62 -0
- package/templates/business/market-intelligence/.cursor/rules/overview.mdc +55 -0
- package/templates/business/market-intelligence/.cursor/rules/reporting.mdc +59 -0
- package/templates/business/market-intelligence/.cursor/rules/risk-signals.mdc +63 -0
- package/templates/business/market-intelligence/.cursor/rules/sentiment-analysis.mdc +70 -0
- package/templates/business/market-intelligence/.cursor/rules/trend-detection.mdc +72 -0
- package/templates/business/market-intelligence/CLAUDE.md +371 -0
- package/templates/business/marketing-expert/.cursor/rules/brand-strategy.mdc +74 -0
- package/templates/business/marketing-expert/.cursor/rules/campaign-planning.mdc +60 -0
- package/templates/business/marketing-expert/.cursor/rules/growth-frameworks.mdc +69 -0
- package/templates/business/marketing-expert/.cursor/rules/market-analysis.mdc +70 -0
- package/templates/business/marketing-expert/.cursor/rules/marketing-analytics.mdc +71 -0
- package/templates/business/marketing-expert/.cursor/rules/overview.mdc +56 -0
- package/templates/business/marketing-expert/CLAUDE.md +567 -0
- package/templates/business/predictive-maintenance/.cursor/rules/alerting.mdc +56 -0
- package/templates/business/predictive-maintenance/.cursor/rules/asset-lifecycle.mdc +71 -0
- package/templates/business/predictive-maintenance/.cursor/rules/failure-prediction.mdc +65 -0
- package/templates/business/predictive-maintenance/.cursor/rules/maintenance-scheduling.mdc +61 -0
- package/templates/business/predictive-maintenance/.cursor/rules/overview.mdc +55 -0
- package/templates/business/predictive-maintenance/.cursor/rules/sensor-analytics.mdc +66 -0
- package/templates/business/predictive-maintenance/CLAUDE.md +529 -0
- package/templates/business/product-manager/.cursor/rules/communication.mdc +77 -0
- package/templates/business/product-manager/.cursor/rules/discovery.mdc +79 -0
- package/templates/business/product-manager/.cursor/rules/metrics.mdc +75 -0
- package/templates/business/product-manager/.cursor/rules/overview.mdc +47 -0
- package/templates/business/product-manager/.cursor/rules/prioritization.mdc +66 -0
- package/templates/business/product-manager/.cursor/rules/requirements.mdc +79 -0
- package/templates/business/product-manager/CLAUDE.md +593 -0
- package/templates/business/project-manager/.cursor/rules/overview.mdc +53 -0
- package/templates/business/project-manager/.cursor/rules/reporting.mdc +68 -0
- package/templates/business/project-manager/.cursor/rules/risk-management.mdc +71 -0
- package/templates/business/project-manager/.cursor/rules/scheduling.mdc +67 -0
- package/templates/business/project-manager/.cursor/rules/scope-management.mdc +66 -0
- package/templates/business/project-manager/.cursor/rules/stakeholder-management.mdc +70 -0
- package/templates/business/project-manager/CLAUDE.md +540 -0
- package/templates/business/regulatory-sentinel/.cursor/rules/compliance-tracking.mdc +74 -0
- package/templates/business/regulatory-sentinel/.cursor/rules/impact-assessment.mdc +62 -0
- package/templates/business/regulatory-sentinel/.cursor/rules/monitoring.mdc +67 -0
- package/templates/business/regulatory-sentinel/.cursor/rules/overview.mdc +55 -0
- package/templates/business/regulatory-sentinel/.cursor/rules/reporting.mdc +61 -0
- package/templates/business/regulatory-sentinel/.cursor/rules/risk-classification.mdc +73 -0
- package/templates/business/regulatory-sentinel/CLAUDE.md +572 -0
- package/templates/business/resource-allocator/.cursor/rules/capacity-modeling.mdc +65 -0
- package/templates/business/resource-allocator/.cursor/rules/coordination.mdc +67 -0
- package/templates/business/resource-allocator/.cursor/rules/crisis-management.mdc +64 -0
- package/templates/business/resource-allocator/.cursor/rules/demand-prediction.mdc +52 -0
- package/templates/business/resource-allocator/.cursor/rules/overview.mdc +76 -0
- package/templates/business/resource-allocator/.cursor/rules/scheduling.mdc +63 -0
- package/templates/business/resource-allocator/CLAUDE.md +525 -0
- package/templates/business/strategic-negotiator/.cursor/rules/contract-analysis.mdc +60 -0
- package/templates/business/strategic-negotiator/.cursor/rules/deal-structuring.mdc +66 -0
- package/templates/business/strategic-negotiator/.cursor/rules/game-theory.mdc +64 -0
- package/templates/business/strategic-negotiator/.cursor/rules/overview.mdc +55 -0
- package/templates/business/strategic-negotiator/.cursor/rules/preparation.mdc +79 -0
- package/templates/business/strategic-negotiator/.cursor/rules/scenario-modeling.mdc +66 -0
- package/templates/business/strategic-negotiator/CLAUDE.md +640 -0
- package/templates/business/supply-chain/.cursor/rules/cost-modeling.mdc +67 -0
- package/templates/business/supply-chain/.cursor/rules/demand-forecasting.mdc +67 -0
- package/templates/business/supply-chain/.cursor/rules/inventory-management.mdc +69 -0
- package/templates/business/supply-chain/.cursor/rules/logistics.mdc +61 -0
- package/templates/business/supply-chain/.cursor/rules/overview.mdc +64 -0
- package/templates/business/supply-chain/.cursor/rules/supplier-evaluation.mdc +66 -0
- package/templates/business/supply-chain/CLAUDE.md +590 -0
- package/templates/business/supply-chain-harmonizer/.cursor/rules/disruption-response.mdc +67 -0
- package/templates/business/supply-chain-harmonizer/.cursor/rules/inventory-rebalancing.mdc +63 -0
- package/templates/business/supply-chain-harmonizer/.cursor/rules/overview.mdc +65 -0
- package/templates/business/supply-chain-harmonizer/.cursor/rules/rerouting.mdc +64 -0
- package/templates/business/supply-chain-harmonizer/.cursor/rules/scenario-simulation.mdc +68 -0
- package/templates/business/supply-chain-harmonizer/.cursor/rules/stakeholder-notifications.mdc +61 -0
- package/templates/business/supply-chain-harmonizer/CLAUDE.md +600 -0
- package/templates/creative/brand-guardian/.cursor/rules/brand-voice.mdc +64 -0
- package/templates/creative/brand-guardian/.cursor/rules/content-review.mdc +47 -0
- package/templates/creative/brand-guardian/.cursor/rules/ethical-guidelines.mdc +47 -0
- package/templates/creative/brand-guardian/.cursor/rules/multi-channel.mdc +49 -0
- package/templates/creative/brand-guardian/.cursor/rules/overview.mdc +58 -0
- package/templates/creative/brand-guardian/.cursor/rules/visual-identity.mdc +64 -0
- package/templates/creative/brand-guardian/CLAUDE.md +634 -0
- package/templates/creative/content-creation-expert/.cursor/rules/content-strategy.mdc +65 -0
- package/templates/creative/content-creation-expert/.cursor/rules/copywriting.mdc +59 -0
- package/templates/creative/content-creation-expert/.cursor/rules/editorial-operations.mdc +65 -0
- package/templates/creative/content-creation-expert/.cursor/rules/multimedia-production.mdc +64 -0
- package/templates/creative/content-creation-expert/.cursor/rules/overview.mdc +58 -0
- package/templates/creative/content-creation-expert/.cursor/rules/seo-content.mdc +75 -0
- package/templates/creative/content-creation-expert/CLAUDE.md +568 -0
- package/templates/creative/narrative-architect/.cursor/rules/collaboration.mdc +62 -0
- package/templates/creative/narrative-architect/.cursor/rules/continuity-tracking.mdc +56 -0
- package/templates/creative/narrative-architect/.cursor/rules/overview.mdc +68 -0
- package/templates/creative/narrative-architect/.cursor/rules/story-bible.mdc +77 -0
- package/templates/creative/narrative-architect/.cursor/rules/timeline-management.mdc +60 -0
- package/templates/creative/narrative-architect/.cursor/rules/world-building.mdc +78 -0
- package/templates/creative/narrative-architect/CLAUDE.md +737 -0
- package/templates/creative/social-media-expert/.cursor/rules/audience-growth.mdc +62 -0
- package/templates/creative/social-media-expert/.cursor/rules/community-management.mdc +67 -0
- package/templates/creative/social-media-expert/.cursor/rules/content-strategy.mdc +60 -0
- package/templates/creative/social-media-expert/.cursor/rules/overview.mdc +48 -0
- package/templates/creative/social-media-expert/.cursor/rules/platform-strategy.mdc +64 -0
- package/templates/creative/social-media-expert/.cursor/rules/social-analytics.mdc +64 -0
- package/templates/creative/social-media-expert/CLAUDE.md +624 -0
- package/templates/creative/trend-forecaster/.cursor/rules/cultural-analysis.mdc +59 -0
- package/templates/creative/trend-forecaster/.cursor/rules/forecasting-methods.mdc +63 -0
- package/templates/creative/trend-forecaster/.cursor/rules/overview.mdc +58 -0
- package/templates/creative/trend-forecaster/.cursor/rules/reporting.mdc +61 -0
- package/templates/creative/trend-forecaster/.cursor/rules/signal-analysis.mdc +74 -0
- package/templates/creative/trend-forecaster/.cursor/rules/trend-lifecycle.mdc +75 -0
- package/templates/creative/trend-forecaster/CLAUDE.md +717 -0
- package/templates/creative/ux-designer/.cursor/rules/accessibility.mdc +69 -0
- package/templates/creative/ux-designer/.cursor/rules/emotional-design.mdc +59 -0
- package/templates/creative/ux-designer/.cursor/rules/handoff.mdc +73 -0
- package/templates/creative/ux-designer/.cursor/rules/information-architecture.mdc +62 -0
- package/templates/creative/ux-designer/.cursor/rules/interaction-design.mdc +66 -0
- package/templates/creative/ux-designer/.cursor/rules/overview.mdc +61 -0
- package/templates/creative/ux-designer/.cursor/rules/research.mdc +61 -0
- package/templates/creative/ux-designer/.cursor/rules/visual-design.mdc +68 -0
- package/templates/creative/ux-designer/CLAUDE.md +124 -0
- package/templates/dogfood/project-overview.mdc +12 -0
- package/templates/dogfood/project-structure.mdc +82 -0
- package/templates/dogfood/rules-creation-best-practices.mdc +45 -0
- package/templates/education/educator/.cursor/rules/accessibility.mdc +67 -0
- package/templates/education/educator/.cursor/rules/assessment.mdc +68 -0
- package/templates/education/educator/.cursor/rules/curriculum.mdc +57 -0
- package/templates/education/educator/.cursor/rules/engagement.mdc +65 -0
- package/templates/education/educator/.cursor/rules/instructional-design.mdc +69 -0
- package/templates/education/educator/.cursor/rules/overview.mdc +57 -0
- package/templates/education/educator/.cursor/rules/retention.mdc +64 -0
- package/templates/education/educator/CLAUDE.md +338 -0
- package/templates/engineering/blockchain/.cursor/rules/defi-patterns.mdc +48 -0
- package/templates/engineering/blockchain/.cursor/rules/gas-optimization.mdc +77 -0
- package/templates/engineering/blockchain/.cursor/rules/overview.mdc +41 -0
- package/templates/engineering/blockchain/.cursor/rules/security.mdc +61 -0
- package/templates/engineering/blockchain/.cursor/rules/smart-contracts.mdc +64 -0
- package/templates/engineering/blockchain/.cursor/rules/testing.mdc +77 -0
- package/templates/engineering/blockchain/.cursor/rules/web3-integration.mdc +47 -0
- package/templates/engineering/blockchain/CLAUDE.md +389 -0
- package/templates/engineering/cli-tools/.cursor/rules/architecture.mdc +76 -0
- package/templates/engineering/cli-tools/.cursor/rules/arguments.mdc +65 -0
- package/templates/engineering/cli-tools/.cursor/rules/distribution.mdc +40 -0
- package/templates/engineering/cli-tools/.cursor/rules/error-handling.mdc +67 -0
- package/templates/engineering/cli-tools/.cursor/rules/overview.mdc +58 -0
- package/templates/engineering/cli-tools/.cursor/rules/testing.mdc +42 -0
- package/templates/engineering/cli-tools/.cursor/rules/user-experience.mdc +43 -0
- package/templates/engineering/cli-tools/CLAUDE.md +356 -0
- package/templates/engineering/data-engineering/.cursor/rules/data-modeling.mdc +71 -0
- package/templates/engineering/data-engineering/.cursor/rules/data-quality.mdc +78 -0
- package/templates/engineering/data-engineering/.cursor/rules/overview.mdc +49 -0
- package/templates/engineering/data-engineering/.cursor/rules/performance.mdc +71 -0
- package/templates/engineering/data-engineering/.cursor/rules/pipeline-design.mdc +79 -0
- package/templates/engineering/data-engineering/.cursor/rules/security.mdc +79 -0
- package/templates/engineering/data-engineering/.cursor/rules/testing.mdc +75 -0
- package/templates/engineering/data-engineering/CLAUDE.md +974 -0
- package/templates/engineering/devops-sre/.cursor/rules/capacity-planning.mdc +49 -0
- package/templates/engineering/devops-sre/.cursor/rules/change-management.mdc +51 -0
- package/templates/engineering/devops-sre/.cursor/rules/chaos-engineering.mdc +50 -0
- package/templates/engineering/devops-sre/.cursor/rules/disaster-recovery.mdc +54 -0
- package/templates/engineering/devops-sre/.cursor/rules/incident-management.mdc +56 -0
- package/templates/engineering/devops-sre/.cursor/rules/observability.mdc +50 -0
- package/templates/engineering/devops-sre/.cursor/rules/overview.mdc +76 -0
- package/templates/engineering/devops-sre/.cursor/rules/postmortems.mdc +49 -0
- package/templates/engineering/devops-sre/.cursor/rules/runbooks.mdc +49 -0
- package/templates/engineering/devops-sre/.cursor/rules/slo-sli.mdc +46 -0
- package/templates/engineering/devops-sre/.cursor/rules/toil-reduction.mdc +52 -0
- package/templates/engineering/devops-sre/CLAUDE.md +1007 -0
- package/templates/engineering/fullstack/.cursor/rules/api-contracts.mdc +79 -0
- package/templates/engineering/fullstack/.cursor/rules/architecture.mdc +79 -0
- package/templates/engineering/fullstack/.cursor/rules/overview.mdc +61 -0
- package/templates/engineering/fullstack/.cursor/rules/shared-types.mdc +77 -0
- package/templates/engineering/fullstack/.cursor/rules/testing.mdc +72 -0
- package/templates/engineering/fullstack/CLAUDE.md +349 -0
- package/templates/engineering/ml-ai/.cursor/rules/data-engineering.mdc +71 -0
- package/templates/engineering/ml-ai/.cursor/rules/deployment.mdc +43 -0
- package/templates/engineering/ml-ai/.cursor/rules/model-development.mdc +44 -0
- package/templates/engineering/ml-ai/.cursor/rules/monitoring.mdc +45 -0
- package/templates/engineering/ml-ai/.cursor/rules/overview.mdc +42 -0
- package/templates/engineering/ml-ai/.cursor/rules/security.mdc +51 -0
- package/templates/engineering/ml-ai/.cursor/rules/testing.mdc +44 -0
- package/templates/engineering/ml-ai/CLAUDE.md +1136 -0
- package/templates/engineering/mobile/.cursor/rules/navigation.mdc +75 -0
- package/templates/engineering/mobile/.cursor/rules/offline-first.mdc +68 -0
- package/templates/engineering/mobile/.cursor/rules/overview.mdc +76 -0
- package/templates/engineering/mobile/.cursor/rules/performance.mdc +78 -0
- package/templates/engineering/mobile/.cursor/rules/testing.mdc +77 -0
- package/templates/engineering/mobile/CLAUDE.md +233 -0
- package/templates/engineering/platform-engineering/.cursor/rules/ci-cd.mdc +51 -0
- package/templates/engineering/platform-engineering/.cursor/rules/developer-experience.mdc +48 -0
- package/templates/engineering/platform-engineering/.cursor/rules/infrastructure-as-code.mdc +62 -0
- package/templates/engineering/platform-engineering/.cursor/rules/kubernetes.mdc +51 -0
- package/templates/engineering/platform-engineering/.cursor/rules/observability.mdc +52 -0
- package/templates/engineering/platform-engineering/.cursor/rules/overview.mdc +44 -0
- package/templates/engineering/platform-engineering/.cursor/rules/security.mdc +74 -0
- package/templates/engineering/platform-engineering/.cursor/rules/testing.mdc +59 -0
- package/templates/engineering/platform-engineering/CLAUDE.md +850 -0
- package/templates/engineering/qa-engineering/.cursor/rules/automation.mdc +71 -0
- package/templates/engineering/qa-engineering/.cursor/rules/metrics.mdc +68 -0
- package/templates/engineering/qa-engineering/.cursor/rules/overview.mdc +45 -0
- package/templates/engineering/qa-engineering/.cursor/rules/quality-gates.mdc +54 -0
- package/templates/engineering/qa-engineering/.cursor/rules/test-design.mdc +59 -0
- package/templates/engineering/qa-engineering/.cursor/rules/test-strategy.mdc +62 -0
- package/templates/engineering/qa-engineering/CLAUDE.md +726 -0
- package/templates/engineering/testing/.cursor/rules/advanced-techniques.mdc +44 -0
- package/templates/engineering/testing/.cursor/rules/ci-cd-integration.mdc +43 -0
- package/templates/engineering/testing/.cursor/rules/overview.mdc +61 -0
- package/templates/engineering/testing/.cursor/rules/performance-testing.mdc +39 -0
- package/templates/engineering/testing/.cursor/rules/quality-metrics.mdc +74 -0
- package/templates/engineering/testing/.cursor/rules/reliability.mdc +39 -0
- package/templates/engineering/testing/.cursor/rules/tdd-methodology.mdc +52 -0
- package/templates/engineering/testing/.cursor/rules/test-data.mdc +46 -0
- package/templates/engineering/testing/.cursor/rules/test-design.mdc +45 -0
- package/templates/engineering/testing/.cursor/rules/test-types.mdc +71 -0
- package/templates/engineering/testing/CLAUDE.md +1134 -0
- package/templates/engineering/unity-dev-expert/.cursor/rules/csharp-architecture.mdc +61 -0
- package/templates/engineering/unity-dev-expert/.cursor/rules/multiplayer-networking.mdc +67 -0
- package/templates/engineering/unity-dev-expert/.cursor/rules/overview.mdc +56 -0
- package/templates/engineering/unity-dev-expert/.cursor/rules/performance-optimization.mdc +76 -0
- package/templates/engineering/unity-dev-expert/.cursor/rules/physics-rendering.mdc +59 -0
- package/templates/engineering/unity-dev-expert/.cursor/rules/ui-systems.mdc +59 -0
- package/templates/engineering/unity-dev-expert/CLAUDE.md +534 -0
- package/templates/engineering/web-backend/.cursor/rules/api-design.mdc +64 -0
- package/templates/engineering/web-backend/.cursor/rules/authentication.mdc +69 -0
- package/templates/engineering/web-backend/.cursor/rules/database-patterns.mdc +73 -0
- package/templates/engineering/web-backend/.cursor/rules/error-handling.mdc +66 -0
- package/templates/engineering/web-backend/.cursor/rules/overview.mdc +74 -0
- package/templates/engineering/web-backend/.cursor/rules/security.mdc +60 -0
- package/templates/engineering/web-backend/.cursor/rules/testing.mdc +74 -0
- package/templates/engineering/web-backend/CLAUDE.md +366 -0
- package/templates/engineering/web-frontend/.cursor/rules/accessibility.mdc +75 -0
- package/templates/engineering/web-frontend/.cursor/rules/component-patterns.mdc +76 -0
- package/templates/engineering/web-frontend/.cursor/rules/overview.mdc +77 -0
- package/templates/engineering/web-frontend/.cursor/rules/performance.mdc +73 -0
- package/templates/engineering/web-frontend/.cursor/rules/state-management.mdc +71 -0
- package/templates/engineering/web-frontend/.cursor/rules/styling.mdc +69 -0
- package/templates/engineering/web-frontend/.cursor/rules/testing.mdc +75 -0
- package/templates/engineering/web-frontend/CLAUDE.md +399 -0
- package/templates/languages/cpp-expert/.cursor/rules/concurrency.mdc +68 -0
- package/templates/languages/cpp-expert/.cursor/rules/error-handling.mdc +65 -0
- package/templates/languages/cpp-expert/.cursor/rules/memory-and-ownership.mdc +68 -0
- package/templates/languages/cpp-expert/.cursor/rules/modern-cpp.mdc +75 -0
- package/templates/languages/cpp-expert/.cursor/rules/overview.mdc +37 -0
- package/templates/languages/cpp-expert/.cursor/rules/performance.mdc +74 -0
- package/templates/languages/cpp-expert/.cursor/rules/testing.mdc +70 -0
- package/templates/languages/cpp-expert/.cursor/rules/tooling.mdc +77 -0
- package/templates/languages/cpp-expert/CLAUDE.md +242 -0
- package/templates/languages/csharp-expert/.cursor/rules/aspnet-core.mdc +78 -0
- package/templates/languages/csharp-expert/.cursor/rules/async-patterns.mdc +71 -0
- package/templates/languages/csharp-expert/.cursor/rules/dependency-injection.mdc +76 -0
- package/templates/languages/csharp-expert/.cursor/rules/error-handling.mdc +65 -0
- package/templates/languages/csharp-expert/.cursor/rules/language-features.mdc +74 -0
- package/templates/languages/csharp-expert/.cursor/rules/overview.mdc +47 -0
- package/templates/languages/csharp-expert/.cursor/rules/performance.mdc +66 -0
- package/templates/languages/csharp-expert/.cursor/rules/testing.mdc +78 -0
- package/templates/languages/csharp-expert/.cursor/rules/tooling.mdc +78 -0
- package/templates/languages/csharp-expert/CLAUDE.md +360 -0
- package/templates/languages/golang-expert/.cursor/rules/concurrency.mdc +79 -0
- package/templates/languages/golang-expert/.cursor/rules/error-handling.mdc +77 -0
- package/templates/languages/golang-expert/.cursor/rules/interfaces-and-types.mdc +77 -0
- package/templates/languages/golang-expert/.cursor/rules/overview.mdc +74 -0
- package/templates/languages/golang-expert/.cursor/rules/performance.mdc +76 -0
- package/templates/languages/golang-expert/.cursor/rules/production-patterns.mdc +76 -0
- package/templates/languages/golang-expert/.cursor/rules/stdlib-and-tooling.mdc +68 -0
- package/templates/languages/golang-expert/.cursor/rules/testing.mdc +77 -0
- package/templates/languages/golang-expert/CLAUDE.md +361 -0
- package/templates/languages/java-expert/.cursor/rules/concurrency.mdc +69 -0
- package/templates/languages/java-expert/.cursor/rules/error-handling.mdc +70 -0
- package/templates/languages/java-expert/.cursor/rules/modern-java.mdc +74 -0
- package/templates/languages/java-expert/.cursor/rules/overview.mdc +42 -0
- package/templates/languages/java-expert/.cursor/rules/performance.mdc +69 -0
- package/templates/languages/java-expert/.cursor/rules/persistence.mdc +74 -0
- package/templates/languages/java-expert/.cursor/rules/spring-boot.mdc +73 -0
- package/templates/languages/java-expert/.cursor/rules/testing.mdc +79 -0
- package/templates/languages/java-expert/.cursor/rules/tooling.mdc +76 -0
- package/templates/languages/java-expert/CLAUDE.md +325 -0
- package/templates/languages/javascript-expert/.cursor/rules/language-deep-dive.mdc +74 -0
- package/templates/languages/javascript-expert/.cursor/rules/node-patterns.mdc +77 -0
- package/templates/languages/javascript-expert/.cursor/rules/overview.mdc +66 -0
- package/templates/languages/javascript-expert/.cursor/rules/performance.mdc +64 -0
- package/templates/languages/javascript-expert/.cursor/rules/react-patterns.mdc +70 -0
- package/templates/languages/javascript-expert/.cursor/rules/testing.mdc +76 -0
- package/templates/languages/javascript-expert/.cursor/rules/tooling.mdc +72 -0
- package/templates/languages/javascript-expert/.cursor/rules/typescript-deep-dive.mdc +77 -0
- package/templates/languages/javascript-expert/CLAUDE.md +479 -0
- package/templates/languages/kotlin-expert/.cursor/rules/coroutines.mdc +75 -0
- package/templates/languages/kotlin-expert/.cursor/rules/error-handling.mdc +69 -0
- package/templates/languages/kotlin-expert/.cursor/rules/frameworks.mdc +76 -0
- package/templates/languages/kotlin-expert/.cursor/rules/language-features.mdc +78 -0
- package/templates/languages/kotlin-expert/.cursor/rules/overview.mdc +38 -0
- package/templates/languages/kotlin-expert/.cursor/rules/performance.mdc +73 -0
- package/templates/languages/kotlin-expert/.cursor/rules/testing.mdc +70 -0
- package/templates/languages/kotlin-expert/.cursor/rules/tooling.mdc +67 -0
- package/templates/languages/kotlin-expert/CLAUDE.md +276 -0
- package/templates/languages/python-expert/.cursor/rules/async-python.mdc +71 -0
- package/templates/languages/python-expert/.cursor/rules/overview.mdc +76 -0
- package/templates/languages/python-expert/.cursor/rules/patterns-and-idioms.mdc +77 -0
- package/templates/languages/python-expert/.cursor/rules/performance.mdc +74 -0
- package/templates/languages/python-expert/.cursor/rules/testing.mdc +77 -0
- package/templates/languages/python-expert/.cursor/rules/tooling.mdc +77 -0
- package/templates/languages/python-expert/.cursor/rules/type-system.mdc +77 -0
- package/templates/languages/python-expert/.cursor/rules/web-and-apis.mdc +76 -0
- package/templates/languages/python-expert/CLAUDE.md +264 -0
- package/templates/languages/ruby-expert/.cursor/rules/concurrency-and-threading.mdc +65 -0
- package/templates/languages/ruby-expert/.cursor/rules/error-handling.mdc +69 -0
- package/templates/languages/ruby-expert/.cursor/rules/idioms-and-style.mdc +76 -0
- package/templates/languages/ruby-expert/.cursor/rules/overview.mdc +60 -0
- package/templates/languages/ruby-expert/.cursor/rules/performance.mdc +68 -0
- package/templates/languages/ruby-expert/.cursor/rules/rails-and-frameworks.mdc +60 -0
- package/templates/languages/ruby-expert/.cursor/rules/testing.mdc +56 -0
- package/templates/languages/ruby-expert/.cursor/rules/tooling.mdc +52 -0
- package/templates/languages/ruby-expert/CLAUDE.md +102 -0
- package/templates/languages/rust-expert/.cursor/rules/concurrency.mdc +69 -0
- package/templates/languages/rust-expert/.cursor/rules/ecosystem-and-tooling.mdc +76 -0
- package/templates/languages/rust-expert/.cursor/rules/error-handling.mdc +76 -0
- package/templates/languages/rust-expert/.cursor/rules/overview.mdc +62 -0
- package/templates/languages/rust-expert/.cursor/rules/ownership-and-borrowing.mdc +70 -0
- package/templates/languages/rust-expert/.cursor/rules/performance-and-unsafe.mdc +70 -0
- package/templates/languages/rust-expert/.cursor/rules/testing.mdc +73 -0
- package/templates/languages/rust-expert/.cursor/rules/traits-and-generics.mdc +76 -0
- package/templates/languages/rust-expert/CLAUDE.md +283 -0
- package/templates/languages/swift-expert/.cursor/rules/concurrency.mdc +77 -0
- package/templates/languages/swift-expert/.cursor/rules/error-handling.mdc +76 -0
- package/templates/languages/swift-expert/.cursor/rules/language-features.mdc +78 -0
- package/templates/languages/swift-expert/.cursor/rules/overview.mdc +46 -0
- package/templates/languages/swift-expert/.cursor/rules/performance.mdc +69 -0
- package/templates/languages/swift-expert/.cursor/rules/swiftui.mdc +77 -0
- package/templates/languages/swift-expert/.cursor/rules/testing.mdc +75 -0
- package/templates/languages/swift-expert/.cursor/rules/tooling.mdc +77 -0
- package/templates/languages/swift-expert/CLAUDE.md +275 -0
- package/templates/professional/documentation/.cursor/rules/adr.mdc +65 -0
- package/templates/professional/documentation/.cursor/rules/api-documentation.mdc +64 -0
- package/templates/professional/documentation/.cursor/rules/code-comments.mdc +75 -0
- package/templates/professional/documentation/.cursor/rules/maintenance.mdc +58 -0
- package/templates/professional/documentation/.cursor/rules/overview.mdc +48 -0
- package/templates/professional/documentation/.cursor/rules/readme-standards.mdc +70 -0
- package/templates/professional/documentation/CLAUDE.md +120 -0
- package/templates/professional/executive-assistant/.cursor/rules/calendar.mdc +51 -0
- package/templates/professional/executive-assistant/.cursor/rules/confidentiality.mdc +53 -0
- package/templates/professional/executive-assistant/.cursor/rules/email.mdc +49 -0
- package/templates/professional/executive-assistant/.cursor/rules/meetings.mdc +39 -0
- package/templates/professional/executive-assistant/.cursor/rules/overview.mdc +42 -0
- package/templates/professional/executive-assistant/.cursor/rules/prioritization.mdc +48 -0
- package/templates/professional/executive-assistant/.cursor/rules/stakeholder-management.mdc +50 -0
- package/templates/professional/executive-assistant/.cursor/rules/travel.mdc +43 -0
- package/templates/professional/executive-assistant/CLAUDE.md +620 -0
- package/templates/professional/grant-writer/.cursor/rules/budgets.mdc +55 -0
- package/templates/professional/grant-writer/.cursor/rules/compliance.mdc +47 -0
- package/templates/professional/grant-writer/.cursor/rules/funding-research.mdc +47 -0
- package/templates/professional/grant-writer/.cursor/rules/narrative.mdc +58 -0
- package/templates/professional/grant-writer/.cursor/rules/overview.mdc +68 -0
- package/templates/professional/grant-writer/.cursor/rules/post-award.mdc +59 -0
- package/templates/professional/grant-writer/.cursor/rules/review-criteria.mdc +51 -0
- package/templates/professional/grant-writer/.cursor/rules/sustainability.mdc +48 -0
- package/templates/professional/grant-writer/CLAUDE.md +577 -0
- package/templates/professional/knowledge-synthesis/.cursor/rules/document-management.mdc +51 -0
- package/templates/professional/knowledge-synthesis/.cursor/rules/knowledge-graphs.mdc +63 -0
- package/templates/professional/knowledge-synthesis/.cursor/rules/overview.mdc +74 -0
- package/templates/professional/knowledge-synthesis/.cursor/rules/research-workflow.mdc +50 -0
- package/templates/professional/knowledge-synthesis/.cursor/rules/search-retrieval.mdc +62 -0
- package/templates/professional/knowledge-synthesis/.cursor/rules/summarization.mdc +61 -0
- package/templates/professional/knowledge-synthesis/CLAUDE.md +593 -0
- package/templates/professional/life-logistics/.cursor/rules/financial-optimization.mdc +78 -0
- package/templates/professional/life-logistics/.cursor/rules/negotiation.mdc +68 -0
- package/templates/professional/life-logistics/.cursor/rules/overview.mdc +75 -0
- package/templates/professional/life-logistics/.cursor/rules/research-methodology.mdc +76 -0
- package/templates/professional/life-logistics/.cursor/rules/scheduling.mdc +68 -0
- package/templates/professional/life-logistics/.cursor/rules/task-management.mdc +47 -0
- package/templates/professional/life-logistics/CLAUDE.md +601 -0
- package/templates/professional/research-assistant/.cursor/rules/citation-attribution.mdc +61 -0
- package/templates/professional/research-assistant/.cursor/rules/information-synthesis.mdc +65 -0
- package/templates/professional/research-assistant/.cursor/rules/overview.mdc +56 -0
- package/templates/professional/research-assistant/.cursor/rules/research-methodologies.mdc +54 -0
- package/templates/professional/research-assistant/.cursor/rules/search-strategies.mdc +57 -0
- package/templates/professional/research-assistant/.cursor/rules/source-evaluation.mdc +59 -0
- package/templates/professional/research-assistant/CLAUDE.md +318 -0
- package/templates/professional/wellness-orchestrator/.cursor/rules/adaptive-planning.mdc +69 -0
- package/templates/professional/wellness-orchestrator/.cursor/rules/data-integration.mdc +60 -0
- package/templates/professional/wellness-orchestrator/.cursor/rules/fitness-programming.mdc +66 -0
- package/templates/professional/wellness-orchestrator/.cursor/rules/nutrition-planning.mdc +57 -0
- package/templates/professional/wellness-orchestrator/.cursor/rules/overview.mdc +76 -0
- package/templates/professional/wellness-orchestrator/.cursor/rules/sleep-optimization.mdc +68 -0
- package/templates/professional/wellness-orchestrator/CLAUDE.md +573 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Accessibility
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Accessibility
|
|
7
|
+
|
|
8
|
+
Designing inclusive experiences that work for all users regardless of ability, device, or context.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**Accessibility is not a feature — it is a requirement.** Design for the most constrained user and everyone benefits.
|
|
13
|
+
|
|
14
|
+
## WCAG 2.2 AA — POUR Framework
|
|
15
|
+
|
|
16
|
+
### Perceivable
|
|
17
|
+
- Alt text for non-text content; captions/transcripts for audio/video
|
|
18
|
+
- 4.5:1 contrast for text, 3:1 for large text and UI components
|
|
19
|
+
- No information by color alone; text resizable to 200%; reflow at 320px width
|
|
20
|
+
|
|
21
|
+
### Operable
|
|
22
|
+
- All functionality via keyboard; no keyboard traps
|
|
23
|
+
- Skip navigation link as first focusable element; visible focus indicators
|
|
24
|
+
- No time limits (or extend/disable); no flashing > 3 times/sec
|
|
25
|
+
- Focus order follows logical sequence; link purpose clear from text alone; touch targets 24x24px min (44x44px recommended)
|
|
26
|
+
|
|
27
|
+
### Understandable
|
|
28
|
+
- Language declared in HTML lang; consistent navigation and component identification
|
|
29
|
+
- Error identification with clear description; labels for all inputs
|
|
30
|
+
- No unexpected context change on focus or input
|
|
31
|
+
|
|
32
|
+
### Robust
|
|
33
|
+
- Valid semantic HTML; name, role, value programmatically determinable
|
|
34
|
+
- Status messages via ARIA live regions; compatible with screen readers, voice control, switch devices
|
|
35
|
+
|
|
36
|
+
## Keyboard Navigation
|
|
37
|
+
|
|
38
|
+
- Tab/Shift+Tab to move; Enter/Space to activate; Arrows within components; Escape to close
|
|
39
|
+
- Focus into modal on open, returns to trigger on close; never lost or stuck
|
|
40
|
+
- Custom focus: 2px+ outline, 3:1 contrast; tabindex="0" for custom elements, "-1" for programmatic only; never > 0
|
|
41
|
+
|
|
42
|
+
## Screen Readers
|
|
43
|
+
|
|
44
|
+
- Semantic HTML: `<nav>`, `<main>`, `<header>`, `<footer>`, `<section>`, `<article>`
|
|
45
|
+
- Headings: logical outline (h1→h2→h3, no skipping); lists use `<ul>`/`<ol>`; forms use `<label>`
|
|
46
|
+
- ARIA: supplement to HTML, not replacement; aria-label, aria-describedby, aria-live, aria-expanded, aria-hidden
|
|
47
|
+
- Follow WAI-ARIA APG patterns for complex widgets (accordion, dialog, tabs, combobox, menu)
|
|
48
|
+
- Test with VoiceOver, NVDA/JAWS, TalkBack
|
|
49
|
+
|
|
50
|
+
## Inclusive Design
|
|
51
|
+
|
|
52
|
+
Disability spectrum: Permanent → Temporary → Situational. Solve for one, extend to many (curb cuts help wheelchairs, strollers, bikes).
|
|
53
|
+
|
|
54
|
+
## Cognitive Accessibility
|
|
55
|
+
|
|
56
|
+
Plain language (8th-grade level), short scannable chunks, consistent patterns, clear error messages with recovery, undo for destructive actions, minimize required memory, progress indicators.
|
|
57
|
+
|
|
58
|
+
## Testing
|
|
59
|
+
|
|
60
|
+
- **Automated** (~30%): axe-core/Lighthouse, contrast checker, HTML validation
|
|
61
|
+
- **Manual** (~70%): Keyboard-only navigation, screen reader walkthrough, 200% zoom reflow, color blindness simulation, reduced motion, touch targets, focus order, form errors
|
|
62
|
+
- **User testing**: Include users with disabilities; test with actual assistive technologies
|
|
63
|
+
|
|
64
|
+
## Anti-Patterns
|
|
65
|
+
|
|
66
|
+
- **Overlay widgets**: Don't work and create new problems
|
|
67
|
+
- **Placeholder-only labels**: Disappear on focus
|
|
68
|
+
- **Focus suppression**: `outline: none` without replacement
|
|
69
|
+
- **Mouse-only interactions**: Drag-and-drop without keyboard alternative
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Emotional Design
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Emotional Design
|
|
7
|
+
|
|
8
|
+
Creating positive emotional connections, building trust, and driving engagement through psychology and behavioral science.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**Eliminate frustration first, then add delight.** You cannot create positive emotions on a frustrating foundation.
|
|
13
|
+
|
|
14
|
+
## Norman's Three Levels
|
|
15
|
+
|
|
16
|
+
1. **Visceral** — Immediate reaction: visual appeal, first impression (color, typography, polish)
|
|
17
|
+
2. **Behavioral** — During use: usability, effectiveness, pleasure (interaction design, performance)
|
|
18
|
+
3. **Reflective** — After use: meaning, satisfaction, self-image (brand perception, accomplishment)
|
|
19
|
+
|
|
20
|
+
Priority: Behavioral first (if it doesn't work, nothing else matters) → Visceral → Reflective.
|
|
21
|
+
|
|
22
|
+
## Frustration Reduction (Highest Impact)
|
|
23
|
+
|
|
24
|
+
| Frustration Source | Fix |
|
|
25
|
+
|-------------------|-----|
|
|
26
|
+
| Unexpected data loss | Auto-save; confirm destructive actions |
|
|
27
|
+
| Unclear errors | Plain language with specific recovery steps |
|
|
28
|
+
| Long waits | Skeleton screens, progress indicators, optimistic UI |
|
|
29
|
+
| Dead ends | Always provide a next action |
|
|
30
|
+
| Forced repetition | Remember preferences; pre-fill known info |
|
|
31
|
+
| Hidden functionality | Progressive disclosure, not hiding |
|
|
32
|
+
| Inconsistent behavior | Same action → same result everywhere |
|
|
33
|
+
|
|
34
|
+
## Trust Building
|
|
35
|
+
|
|
36
|
+
- **Trust signals**: Transparency, consistency, competence, security indicators, social proof, graceful error handling
|
|
37
|
+
- **Trust breakers**: Hidden fees, fake urgency, bait-and-switch, unauthorized data collection, broken promises
|
|
38
|
+
|
|
39
|
+
## Peak-End Rule (Kahneman)
|
|
40
|
+
|
|
41
|
+
People judge by peak moment and ending. Design peak moments (celebrate accomplishments). Protect endings (confirmation + clear next step). Avoid negative peaks — one terrible moment defines the whole experience.
|
|
42
|
+
|
|
43
|
+
## Micro-Delight
|
|
44
|
+
|
|
45
|
+
Small unexpected positive moments: confetti on milestones, witty empty states, personalized greetings, smooth animations. Rules: never interfere with tasks, respect prefers-reduced-motion, don't repeat too often, never during error states.
|
|
46
|
+
|
|
47
|
+
## Dark Pattern Avoidance
|
|
48
|
+
|
|
49
|
+
Reject: confirmshaming, hidden costs, trick questions, forced continuity, disguised ads, friend spam, roach motel, misdirection, privacy zuckering. Test: "If I explained this flow to a journalist, would I be proud?"
|
|
50
|
+
|
|
51
|
+
## Onboarding Emotional Arc
|
|
52
|
+
|
|
53
|
+
Curiosity (landing) → Confidence (sign up — easy, no surprises) → Competence (first action — "I did it!") → Investment (customization — "feels like mine") → Achievement (first milestone). Each stage: clear next action, immediate feedback, zero friction.
|
|
54
|
+
|
|
55
|
+
## Anti-Patterns
|
|
56
|
+
|
|
57
|
+
- **Delight without function**: Animation over usability
|
|
58
|
+
- **Emotional manipulation**: Guilt, shame, or fear to drive action
|
|
59
|
+
- **Tone-deaf celebration**: Congratulating users for mundane tasks
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Design Handoff
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Handoff
|
|
7
|
+
|
|
8
|
+
Bridging design and development through clear specifications, shared language, and measurable quality standards.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**Handoff is not a moment — it is a continuous conversation.** Collaborate from the start, not over a wall.
|
|
13
|
+
|
|
14
|
+
## Specification Standards
|
|
15
|
+
|
|
16
|
+
Every handoff includes:
|
|
17
|
+
|
|
18
|
+
- **Layout**: Responsive behavior at all breakpoints, spacing via tokens, grid alignment, min/max-width
|
|
19
|
+
- **Typography**: Font, weight, size, line-height as tokens; truncation behavior
|
|
20
|
+
- **Color**: All colors as tokens; light/dark mode specs; contrast ratios documented
|
|
21
|
+
- **Components**: All states (default, hover, focus, active, disabled, error, loading, empty), interaction behavior, animation specs, responsive adaptations
|
|
22
|
+
- **Content**: Real examples (not lorem ipsum), character limits, empty states, error copy
|
|
23
|
+
|
|
24
|
+
## Design Annotations
|
|
25
|
+
|
|
26
|
+
- Spacing callouts with token names
|
|
27
|
+
- Interaction notes ("On hover, show tooltip after 500ms")
|
|
28
|
+
- Responsive notes ("Stack below 768px")
|
|
29
|
+
- Accessibility notes ("aria-label='Close dialog'", "Focus trap in modal")
|
|
30
|
+
- Edge cases ("Truncate with ellipsis after 2 lines")
|
|
31
|
+
- Conditional logic ("Show only when admin role")
|
|
32
|
+
|
|
33
|
+
## Prototyping
|
|
34
|
+
|
|
35
|
+
- **Low-fi**: Validate layout and flow (fast, disposable)
|
|
36
|
+
- **Mid-fi**: Validate interaction patterns (enough to test, not distract)
|
|
37
|
+
- **High-fi**: Stakeholder sign-off (shows real vision)
|
|
38
|
+
- **Code prototype**: Complex interactions that can't be faked
|
|
39
|
+
|
|
40
|
+
## Design QA
|
|
41
|
+
|
|
42
|
+
Review implementation against spec:
|
|
43
|
+
- Layout, spacing, typography, colors match at all breakpoints
|
|
44
|
+
- All interaction states implemented; animations match spec
|
|
45
|
+
- Keyboard nav works; screen reader announces correctly; focus order matches visual order
|
|
46
|
+
- Error and empty states display correctly; responsive behavior verified
|
|
47
|
+
|
|
48
|
+
Process: designer reviews staging → files issues (expected vs. actual) → prioritize functional > accessibility > polish → re-review.
|
|
49
|
+
|
|
50
|
+
## UX Metrics
|
|
51
|
+
|
|
52
|
+
- **Task success rate**: > 90% critical, > 80% secondary
|
|
53
|
+
- **Time on task**: Compare against baseline, aim for reduction
|
|
54
|
+
- **Error rate**: Track by type (slips vs. mistakes)
|
|
55
|
+
- **SUS score**: > 68 above average, > 80 good, > 90 excellent
|
|
56
|
+
|
|
57
|
+
## Usability Testing
|
|
58
|
+
|
|
59
|
+
- 5 users per round; think-aloud, task-based; observe behavior not opinions
|
|
60
|
+
- Minimum every 2 weeks; weekly is ideal; full test before launch
|
|
61
|
+
- Unmoderated (20-50 users) for quantitative validation
|
|
62
|
+
|
|
63
|
+
## Collaboration Practices
|
|
64
|
+
|
|
65
|
+
- Weekly design review with developers during design phase
|
|
66
|
+
- Pair on complex interactions; shared language through tokens and component names
|
|
67
|
+
- Living design system documentation with decision log and changelog
|
|
68
|
+
|
|
69
|
+
## Anti-Patterns
|
|
70
|
+
|
|
71
|
+
- **Wall-of-specs handoff**: Dumping documents without conversation
|
|
72
|
+
- **Missing states**: Only designing happy path, leaving errors to developers
|
|
73
|
+
- **No design QA**: Assuming implementation matches spec without verification
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Information Architecture
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Information Architecture
|
|
7
|
+
|
|
8
|
+
Organizing, structuring, and labeling content so users can find what they need.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**If users can't find it, it doesn't exist.**
|
|
13
|
+
|
|
14
|
+
## Four Core Systems (Rosenfeld & Morville)
|
|
15
|
+
|
|
16
|
+
1. **Organization** — How content is grouped and categorized
|
|
17
|
+
2. **Labeling** — How content is named and described
|
|
18
|
+
3. **Navigation** — How users move through content
|
|
19
|
+
4. **Search** — How users query and filter content
|
|
20
|
+
|
|
21
|
+
## Mental Models (Indi Young)
|
|
22
|
+
|
|
23
|
+
Align structure to how users think, not how the org is structured. Interview users about tasks, map their model, identify gaps, align IA to their model.
|
|
24
|
+
|
|
25
|
+
## Miller's Law
|
|
26
|
+
|
|
27
|
+
Users hold ~4 items in working memory. Limit primary nav to 4-7 items, chunk related content, use progressive disclosure, avoid menus deeper than 3 levels.
|
|
28
|
+
|
|
29
|
+
## Card Sorting
|
|
30
|
+
|
|
31
|
+
- **Open sort**: Users create/name groups — use when building IA from scratch (15+ participants)
|
|
32
|
+
- **Closed sort**: Users sort into predefined categories — use to validate existing IA
|
|
33
|
+
- Agreement rates > 60% indicate confident groupings; low agreement means relabel or restructure
|
|
34
|
+
|
|
35
|
+
## Tree Testing
|
|
36
|
+
|
|
37
|
+
Validate findability without visual design. Text-only tree + tasks ("Where would you find X?"). Success rate > 80% = strong IA. Directness > 70% = clear paths. 50+ participants.
|
|
38
|
+
|
|
39
|
+
## Navigation Patterns
|
|
40
|
+
|
|
41
|
+
- **Top bar**: 4-7 items (web); **Sidebar**: 8+ items or deep hierarchies; **Bottom tabs**: 3-5 core actions (mobile)
|
|
42
|
+
- **Hamburger menu**: Last resort — hides everything, reduces discoverability
|
|
43
|
+
- Current location always visible; labels are nouns; icon + label > icon alone
|
|
44
|
+
- **Breadcrumbs**: Use when hierarchy is 3+ levels deep
|
|
45
|
+
- **Search**: Autocomplete after 2+ chars, fuzzy matching, recent searches, scoped to current section
|
|
46
|
+
|
|
47
|
+
## Sitemaps and User Flows
|
|
48
|
+
|
|
49
|
+
- **Sitemaps**: Hierarchical tree of all pages, user-facing names, versioned
|
|
50
|
+
- **User flows**: Flowcharts from user goal (not homepage), including error paths and entry points
|
|
51
|
+
|
|
52
|
+
## Labeling
|
|
53
|
+
|
|
54
|
+
- Use the user's language, not internal jargon
|
|
55
|
+
- Be specific ("Order History" > "History") and consistent
|
|
56
|
+
- Test labels with tree testing or first-click testing
|
|
57
|
+
|
|
58
|
+
## Anti-Patterns
|
|
59
|
+
|
|
60
|
+
- **Org-chart navigation**: Structuring IA to match departments
|
|
61
|
+
- **Deep nesting**: Content 4+ levels deep
|
|
62
|
+
- **Mystery meat navigation**: Icons without labels, hover-only reveals
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Interaction Design
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Interaction Design
|
|
7
|
+
|
|
8
|
+
Designing how users interact with interfaces — controls, feedback, transitions, and behavior.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**Every interaction should feel inevitable.** The response should be exactly what users expected.
|
|
13
|
+
|
|
14
|
+
## Don Norman's 6 Principles
|
|
15
|
+
|
|
16
|
+
- **Visibility**: Can users see available actions? Primary actions visible, not hidden in menus
|
|
17
|
+
- **Feedback**: System responds to every action — button state changes, loading spinners appear immediately
|
|
18
|
+
- **Constraints**: Prevent errors (date picker prevents impossible dates)
|
|
19
|
+
- **Mapping**: Controls relate naturally to effects (volume slider left-to-right)
|
|
20
|
+
- **Consistency**: Same behavior everywhere ("Delete" always confirms)
|
|
21
|
+
- **Affordance**: Elements suggest how to interact (buttons look clickable)
|
|
22
|
+
|
|
23
|
+
## Fitts's Law
|
|
24
|
+
|
|
25
|
+
Time to target ∝ distance / target size. Make primary targets large (44x44px touch, 24x24px cursor). Place frequent actions close to focus. Submit button directly below last form field.
|
|
26
|
+
|
|
27
|
+
## Hick's Law
|
|
28
|
+
|
|
29
|
+
Decision time increases with choices. Limit to 5-7 options, use smart defaults, progressive disclosure, recommend best option clearly.
|
|
30
|
+
|
|
31
|
+
## Jakob's Law
|
|
32
|
+
|
|
33
|
+
Users expect your site to work like others. Follow platform conventions; only break when testing proves measurably better and learning cost is low.
|
|
34
|
+
|
|
35
|
+
## Forms
|
|
36
|
+
|
|
37
|
+
- One column; labels above fields (not placeholders as labels)
|
|
38
|
+
- Mark optional fields, not required; inline validation on blur
|
|
39
|
+
- Smart defaults; autofocus first field; tab order follows visual order
|
|
40
|
+
- Errors: inline next to field, plain language, preserve input, scroll to first error
|
|
41
|
+
|
|
42
|
+
## Buttons and CTAs
|
|
43
|
+
|
|
44
|
+
- Primary (one per section, filled) > Secondary (outlined) > Tertiary (text) > Destructive (red, requires confirmation)
|
|
45
|
+
- Labels use verbs: "Save Changes", "Send Invite" — specific over generic
|
|
46
|
+
|
|
47
|
+
## Interaction States
|
|
48
|
+
|
|
49
|
+
Every interactive element defines: Default, Hover, Focus, Active/Pressed, Disabled (explain why), Loading, Error, Success, Empty.
|
|
50
|
+
|
|
51
|
+
## Microinteractions (Saffer)
|
|
52
|
+
|
|
53
|
+
Trigger → Rules → Feedback → Loops/Modes. Keep fast (< 300ms), skippable, gracefully degrading.
|
|
54
|
+
|
|
55
|
+
## Animation and Motion
|
|
56
|
+
|
|
57
|
+
- Purpose: feedback, relationships, attention, state change — never purely decorative
|
|
58
|
+
- Duration: 100-300ms micro, 300-500ms macro; ease-out entrances, ease-in exits
|
|
59
|
+
- Respect `prefers-reduced-motion` (mandatory)
|
|
60
|
+
|
|
61
|
+
## Anti-Patterns
|
|
62
|
+
|
|
63
|
+
- **Modal abuse**: Content that should be a page
|
|
64
|
+
- **Hover-dependent UI**: Fails on touch devices
|
|
65
|
+
- **Disabled without explanation**: Grayed-out with no tooltip
|
|
66
|
+
- **Auto-advancing carousels**: Users can't read at carousel speed
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: UX Designer
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UX Designer
|
|
7
|
+
|
|
8
|
+
Principal-level UX design guidelines covering user research, interaction design, design systems, accessibility, and emotional design.
|
|
9
|
+
|
|
10
|
+
## Scope
|
|
11
|
+
|
|
12
|
+
- User research and discovery
|
|
13
|
+
- Information architecture and navigation
|
|
14
|
+
- Interaction design and patterns
|
|
15
|
+
- Visual design and design systems
|
|
16
|
+
- Accessibility and inclusive design
|
|
17
|
+
- Emotional design and user delight
|
|
18
|
+
- Design-to-development handoff and UX metrics
|
|
19
|
+
|
|
20
|
+
## Core Philosophy
|
|
21
|
+
|
|
22
|
+
**Frustration elimination is the north star.** Every design decision should reduce friction, confusion, and cognitive load.
|
|
23
|
+
|
|
24
|
+
## Guiding Beliefs
|
|
25
|
+
|
|
26
|
+
- **Simplicity over complexity** — The best interface is the one users don't notice
|
|
27
|
+
- **Accessibility is non-negotiable** — Design for the margins; everyone benefits
|
|
28
|
+
- **Evidence over opinion** — Research and data settle design debates
|
|
29
|
+
- **Behavior over preference** — What users do matters more than what they say
|
|
30
|
+
- **Consistency breeds trust** — Predictable patterns reduce cognitive overhead
|
|
31
|
+
|
|
32
|
+
## Decision Framework
|
|
33
|
+
|
|
34
|
+
1. Does it remove user frustration? (Highest priority)
|
|
35
|
+
2. Does it meet accessibility requirements (WCAG 2.2 AA)?
|
|
36
|
+
3. Does it follow established interaction patterns?
|
|
37
|
+
4. Does it align with the design system?
|
|
38
|
+
5. Does it add delight without adding complexity?
|
|
39
|
+
|
|
40
|
+
When in doubt: choose the option that reduces decisions, works for the most constrained user, requires fewer taps/clicks, or prototype both and test.
|
|
41
|
+
|
|
42
|
+
## Key Frameworks
|
|
43
|
+
|
|
44
|
+
| Framework | Purpose |
|
|
45
|
+
|-----------|---------|
|
|
46
|
+
| Jobs-to-be-Done (Christensen) | Understanding user motivations |
|
|
47
|
+
| Don Norman's 6 Principles | Interaction design fundamentals |
|
|
48
|
+
| Gestalt Principles | Visual perception and grouping |
|
|
49
|
+
| Atomic Design (Frost) | Scalable design systems |
|
|
50
|
+
| WCAG 2.2 AA | Accessibility compliance |
|
|
51
|
+
| Nielsen's 10 Heuristics | Usability evaluation |
|
|
52
|
+
| Fitts's Law / Hick's Law | Interaction optimization |
|
|
53
|
+
|
|
54
|
+
## Definition of Done
|
|
55
|
+
|
|
56
|
+
- User problem validated through research
|
|
57
|
+
- WCAG 2.2 AA audited; keyboard and screen reader experience specified
|
|
58
|
+
- Responsive behavior defined for all breakpoints
|
|
59
|
+
- All interaction states documented (default, hover, focus, active, disabled, error, loading, empty)
|
|
60
|
+
- Edge cases addressed (empty states, errors, long content, truncation)
|
|
61
|
+
- Handoff spec reviewed with engineering; usability tested with users
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: User Research
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# User Research
|
|
7
|
+
|
|
8
|
+
Evidence-based methods for understanding users, validating assumptions, and making informed design decisions.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**Talk to users early, often, and honestly.** Research is a continuous practice, not a phase.
|
|
13
|
+
|
|
14
|
+
## User Interviews
|
|
15
|
+
|
|
16
|
+
- Recruit 5-8 participants per segment; prepare open-ended discussion guide
|
|
17
|
+
- Ask about past behavior: "Tell me about the last time you..." not "Would you ever..."
|
|
18
|
+
- Follow the energy — when they lean in, dig deeper; use silence as a tool
|
|
19
|
+
- Synthesize within 24 hours; tag quotes by theme; share raw findings first
|
|
20
|
+
|
|
21
|
+
## The Mom Test (Fitzpatrick)
|
|
22
|
+
|
|
23
|
+
- Talk about their life, not your idea
|
|
24
|
+
- Ask about specifics in the past, not generics about the future
|
|
25
|
+
- Talk less, listen more
|
|
26
|
+
- Bad: "Would you use an app that does X?" Good: "How do you currently handle X?"
|
|
27
|
+
|
|
28
|
+
## Jobs-to-be-Done (Christensen)
|
|
29
|
+
|
|
30
|
+
"When I [situation], I want to [motivation], so I can [expected outcome]." Users don't buy products — they hire them to do a job.
|
|
31
|
+
|
|
32
|
+
## Empathy Mapping
|
|
33
|
+
|
|
34
|
+
Quadrants: Says (quotes), Thinks (inferred), Does (observed actions), Feels (emotions). Use after interviews to align the team on user perspective.
|
|
35
|
+
|
|
36
|
+
## Journey Mapping
|
|
37
|
+
|
|
38
|
+
Map stages (Awareness → Consideration → Action → Retention) with rows: actions, touchpoints, thoughts, emotions, pain points, opportunities. Base on observed behavior, not ideal paths.
|
|
39
|
+
|
|
40
|
+
## Continuous Discovery (Torres)
|
|
41
|
+
|
|
42
|
+
- Talk to users weekly (minimum 1 interview/week)
|
|
43
|
+
- Map opportunity space, not solution space
|
|
44
|
+
- Use opportunity solution trees: outcome → opportunities → solutions → experiments
|
|
45
|
+
- Separate discovery (what to build) from delivery (how to build)
|
|
46
|
+
|
|
47
|
+
## Survey Design
|
|
48
|
+
|
|
49
|
+
- Use surveys to measure, not discover (interviews first)
|
|
50
|
+
- 5-10 questions max; avoid leading or double-barreled items
|
|
51
|
+
- Minimum 30 for directional, 100+ for statistical significance
|
|
52
|
+
|
|
53
|
+
## Research Ethics
|
|
54
|
+
|
|
55
|
+
Informed consent before every session. Anonymize data. Participants can stop anytime. Compensate fairly. Never deceive. Store recordings securely; delete after analysis.
|
|
56
|
+
|
|
57
|
+
## Anti-Patterns
|
|
58
|
+
|
|
59
|
+
- **Confirmation bias**: Only talking to users who validate your hypothesis
|
|
60
|
+
- **Proxy research**: Asking stakeholders what users want instead of asking users
|
|
61
|
+
- **Research theater**: Conducting research with no intention to act on findings
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Visual Design
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Visual Design
|
|
7
|
+
|
|
8
|
+
Principles and systems for visual communication, design systems, and consistent UI expression.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**Visual design is communication, not decoration.** Every pixel serves a purpose: hierarchy, grouping, attention, or meaning.
|
|
13
|
+
|
|
14
|
+
## Gestalt Principles
|
|
15
|
+
|
|
16
|
+
- **Proximity**: Elements close together perceived as related — group related fields, separate with whitespace
|
|
17
|
+
- **Similarity**: Consistent styling for same-type elements
|
|
18
|
+
- **Continuity**: Align elements to create visual flow via grids
|
|
19
|
+
- **Closure**: Progress bars, partially visible cards indicate more content
|
|
20
|
+
- **Figure-Ground**: Modals dim background; selected items highlight
|
|
21
|
+
- **Common Region**: Cards and bordered sections group content
|
|
22
|
+
|
|
23
|
+
## Atomic Design (Frost)
|
|
24
|
+
|
|
25
|
+
Atoms (button, input, icon) → Molecules (search bar) → Organisms (header) → Templates → Pages. Design smallest first; every component self-contained, reusable, documented.
|
|
26
|
+
|
|
27
|
+
## Design Tokens
|
|
28
|
+
|
|
29
|
+
Single source of truth for all design decisions:
|
|
30
|
+
- **Color**: primary, secondary, neutral, error, warning, success, info
|
|
31
|
+
- **Typography**: font families, sizes, weights, line heights
|
|
32
|
+
- **Spacing**: base-8 scale (4, 8, 16, 24, 32, 48px)
|
|
33
|
+
- **Border/Shadow/Motion**: radius, width, durations, easing
|
|
34
|
+
|
|
35
|
+
Never use raw values — always reference tokens. Semantic tokens alias primitives. Support theming via token swap.
|
|
36
|
+
|
|
37
|
+
## Typography
|
|
38
|
+
|
|
39
|
+
- Max 2 font families; body minimum 16px
|
|
40
|
+
- Line height: 1.4-1.6 body, 1.1-1.3 headings; line length 45-75 chars
|
|
41
|
+
- Contrast: 4.5:1 body text, 3:1 large text (WCAG AA)
|
|
42
|
+
|
|
43
|
+
## Color System
|
|
44
|
+
|
|
45
|
+
- Never use color as sole indicator — add icons, text, patterns
|
|
46
|
+
- Test with color blindness simulators
|
|
47
|
+
- Dark mode is redesigned, not inverted; limit to 5-8 functional colors + neutrals
|
|
48
|
+
|
|
49
|
+
## Spacing and Layout
|
|
50
|
+
|
|
51
|
+
- Base-8 spacing scale; 12-column grid (web), 4-column (mobile)
|
|
52
|
+
- Content max-width 1200-1440px; responsive breakpoints: 640, 768, 1024, 1280px
|
|
53
|
+
- More whitespace = more perceived quality and readability
|
|
54
|
+
|
|
55
|
+
## Responsive Design
|
|
56
|
+
|
|
57
|
+
Mobile-first, scale up. Touch targets 44x44px minimum. No horizontal scrolling. Images fluid. Typography scales with viewport (clamp()). Test on real devices.
|
|
58
|
+
|
|
59
|
+
## Iconography
|
|
60
|
+
|
|
61
|
+
- Single icon set; icons accompanied by text labels (except universal: close, search, menu)
|
|
62
|
+
- Minimum touch target 44x44px; aria-label for meaningful icons; aria-hidden for decorative
|
|
63
|
+
|
|
64
|
+
## Anti-Patterns
|
|
65
|
+
|
|
66
|
+
- **Snowflake components**: One-off designs outside the system
|
|
67
|
+
- **Token bypass**: Hard-coding values instead of referencing tokens
|
|
68
|
+
- **Font overload**: More than 2 families or 4+ weights
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# UX Designer Development Guide
|
|
2
|
+
|
|
3
|
+
Principal-level UX design guidelines covering user research, interaction design, design systems, accessibility, and emotional design.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
This guide applies to:
|
|
10
|
+
|
|
11
|
+
- User research and discovery
|
|
12
|
+
- Information architecture and navigation
|
|
13
|
+
- Interaction design and patterns
|
|
14
|
+
- Visual design and design systems
|
|
15
|
+
- Accessibility and inclusive design
|
|
16
|
+
- Emotional design and user delight
|
|
17
|
+
- Design-to-development handoff and UX metrics
|
|
18
|
+
|
|
19
|
+
### Key Principles
|
|
20
|
+
|
|
21
|
+
1. **Frustration Elimination** - Remove friction before adding delight
|
|
22
|
+
2. **Simplicity Over Complexity** - The best interface is the one users don't notice
|
|
23
|
+
3. **Accessibility is Non-Negotiable** - Design for the margins; everyone benefits
|
|
24
|
+
4. **Evidence Over Opinion** - Research and data settle design debates
|
|
25
|
+
5. **Consistency Breeds Trust** - Predictable patterns reduce cognitive overhead
|
|
26
|
+
|
|
27
|
+
### Core Frameworks
|
|
28
|
+
|
|
29
|
+
| Framework | Purpose |
|
|
30
|
+
|-----------|---------|
|
|
31
|
+
| Jobs-to-be-Done (Christensen) | Understanding user motivations |
|
|
32
|
+
| Don Norman's 6 Principles | Interaction design fundamentals |
|
|
33
|
+
| Gestalt Principles | Visual perception and grouping |
|
|
34
|
+
| Atomic Design (Frost) | Scalable design systems |
|
|
35
|
+
| WCAG 2.2 AA (POUR) | Accessibility compliance |
|
|
36
|
+
| Nielsen's 10 Heuristics | Usability evaluation |
|
|
37
|
+
| Norman's 3 Levels | Emotional design |
|
|
38
|
+
| Fitts's Law / Hick's Law | Interaction optimization |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## User Research
|
|
43
|
+
|
|
44
|
+
- **The Mom Test** (Fitzpatrick): Ask about past behavior, not hypothetical futures
|
|
45
|
+
- **Continuous Discovery** (Torres): Talk to users weekly, map opportunity space
|
|
46
|
+
- **Empathy Mapping**: Visualize what users say, think, do, and feel
|
|
47
|
+
- **Journey Mapping**: Visualize end-to-end experience across touchpoints
|
|
48
|
+
- **JTBD Framework**: "When I [situation], I want to [motivation], so I can [outcome]"
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Information Architecture
|
|
53
|
+
|
|
54
|
+
- **Mental Models** (Indi Young): Align structure to user thinking, not org charts
|
|
55
|
+
- **Card Sorting**: Open sort to discover, closed sort to validate
|
|
56
|
+
- **Tree Testing**: Validate findability without visual design influence
|
|
57
|
+
- **Miller's Law**: Limit primary navigation to 4-7 items
|
|
58
|
+
- Labels use user language, not internal jargon
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Interaction Design
|
|
63
|
+
|
|
64
|
+
- **Don Norman's Principles**: Visibility, feedback, constraints, mapping, consistency, affordance
|
|
65
|
+
- **Fitts's Law**: Large targets, close to focus, minimize distance
|
|
66
|
+
- **Hick's Law**: Fewer choices, smart defaults, progressive disclosure
|
|
67
|
+
- **Jakob's Law**: Follow platform conventions; users expect consistency
|
|
68
|
+
- All interactive elements specify: default, hover, focus, active, disabled, error, loading, empty states
|
|
69
|
+
- Forms: one column, labels above fields, inline validation on blur
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Visual Design
|
|
74
|
+
|
|
75
|
+
- **Gestalt Principles**: Proximity, similarity, continuity, closure, figure-ground, common region
|
|
76
|
+
- **Atomic Design**: Atoms → molecules → organisms → templates → pages
|
|
77
|
+
- **Design Tokens**: Single source of truth for colors, typography, spacing, motion
|
|
78
|
+
- Base-8 spacing scale (4, 8, 16, 24, 32, 48px)
|
|
79
|
+
- Maximum 2 font families; body text minimum 16px
|
|
80
|
+
- Color system: primary, secondary, neutral, error, warning, success, info
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Accessibility (WCAG 2.2 AA)
|
|
85
|
+
|
|
86
|
+
- **POUR**: Perceivable, Operable, Understandable, Robust
|
|
87
|
+
- Keyboard navigation for all functionality; no keyboard traps
|
|
88
|
+
- Screen reader tested (VoiceOver, NVDA, TalkBack)
|
|
89
|
+
- 4.5:1 contrast for text, 3:1 for large text and UI components
|
|
90
|
+
- ARIA used as supplement to semantic HTML, not replacement
|
|
91
|
+
- Follow ARIA APG patterns for complex widgets
|
|
92
|
+
- Cognitive accessibility: plain language, predictable patterns, undo support
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Emotional Design
|
|
97
|
+
|
|
98
|
+
- **Norman's 3 Levels**: Visceral (looks), behavioral (works), reflective (means)
|
|
99
|
+
- **Peak-End Rule** (Kahneman): Peak moments and endings define memory
|
|
100
|
+
- Trust building: transparency, consistency, competence, honest error handling
|
|
101
|
+
- Frustration reduction is higher priority than delight addition
|
|
102
|
+
- Dark pattern avoidance: confirmshaming, hidden costs, trick questions, forced continuity
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Handoff and Metrics
|
|
107
|
+
|
|
108
|
+
- **Nielsen's 10 Heuristics** for usability evaluation
|
|
109
|
+
- Specs include all states, responsive behavior, accessibility notes, animation details
|
|
110
|
+
- Design QA: review implementation against spec at all breakpoints
|
|
111
|
+
- UX metrics: task success rate (>90%), time on task, error rate, SUS score (>68)
|
|
112
|
+
- Usability testing: 5 users per round, think-aloud, task-based, weekly cadence
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Decision Framework
|
|
117
|
+
|
|
118
|
+
When evaluating design choices:
|
|
119
|
+
|
|
120
|
+
1. Does it remove user frustration? (Highest priority)
|
|
121
|
+
2. Does it meet accessibility requirements (WCAG 2.2 AA)?
|
|
122
|
+
3. Does it follow established interaction patterns?
|
|
123
|
+
4. Does it align with the design system?
|
|
124
|
+
5. Does it add delight without adding complexity?
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Project Overview
|
|
2
|
+
|
|
3
|
+
Portfolio site for David Josef Mendez - Staff/Senior Software Engineer with SRE experience.
|
|
4
|
+
|
|
5
|
+
## Critical Requirement
|
|
6
|
+
|
|
7
|
+
**Only `me@davidmendez.dev` can access admin features. Period. No exceptions, no edge cases, no "maybe later" users.**
|
|
8
|
+
|
|
9
|
+
This is a hard requirement that must be enforced at every level:
|
|
10
|
+
- Server-side validation only
|
|
11
|
+
- No client-side checks as security measures
|
|
12
|
+
- Email must be EXACTLY `me@davidmendez.dev` (case-sensitive, exact match)
|