@jhm1909/ag-kit 0.1.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/.agent/ARCHITECTURE.md +189 -0
- package/.agent/known-registries.json +181 -0
- package/.agent/mcp_config.json +19 -0
- package/.agent/rules/clean-code.md +107 -0
- package/.agent/rules/documents.md +177 -0
- package/.agent/rules/git-workflow.md +68 -0
- package/.agent/rules/nano-banana.md +46 -0
- package/.agent/rules/research.md +35 -0
- package/.agent/rules/skill-loading.md +100 -0
- package/.agent/rules/skill-suggestion.md +47 -0
- package/.agent/rules/testing.md +52 -0
- package/.agent/rules/workflow-advisor.md +108 -0
- package/.agent/rules/workflow-skill-convention.md +127 -0
- package/.agent/skills/ai-engineer/SKILL.md +824 -0
- package/.agent/skills/ai-engineer/references/agentic-patterns.md +329 -0
- package/.agent/skills/ai-engineer/references/evaluation.md +493 -0
- package/.agent/skills/ai-engineer/references/llm.md +490 -0
- package/.agent/skills/ai-engineer/references/rag-advanced.md +444 -0
- package/.agent/skills/ai-engineer/references/serving-optimization.md +531 -0
- package/.agent/skills/ai-engineer/vector-db/README.md +137 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +41 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agent/skills/backend-developer/SKILL.md +763 -0
- package/.agent/skills/backend-developer/references/general-patterns.md +65 -0
- package/.agent/skills/backend-developer/references/go-echo.md +68 -0
- package/.agent/skills/backend-developer/references/go-gin.md +76 -0
- package/.agent/skills/backend-developer/references/java-springboot.md +83 -0
- package/.agent/skills/backend-developer/references/node-express.md +64 -0
- package/.agent/skills/backend-developer/references/node-nestjs.md +69 -0
- package/.agent/skills/backend-developer/references/python-django.md +67 -0
- package/.agent/skills/backend-developer/references/python-fastapi.md +80 -0
- package/.agent/skills/blockchain-engineer/SKILL.md +975 -0
- package/.agent/skills/blockchain-engineer/references/deployment.md +28 -0
- package/.agent/skills/blockchain-engineer/references/evm.md +14 -0
- package/.agent/skills/blockchain-engineer/references/mechanisms.md +32 -0
- package/.agent/skills/blockchain-engineer/references/solidity.md +32 -0
- package/.agent/skills/business-analysis/SKILL.md +85 -0
- package/.agent/skills/business-analysis/references/best-practices/diagrams.md +141 -0
- package/.agent/skills/business-analysis/references/domains/ai-agent.md +94 -0
- package/.agent/skills/business-analysis/references/domains/blockchain-dapp.md +86 -0
- package/.agent/skills/business-analysis/references/domains/ecommerce.md +77 -0
- package/.agent/skills/business-analysis/references/domains/education.md +42 -0
- package/.agent/skills/business-analysis/references/domains/fintech.md +44 -0
- package/.agent/skills/business-analysis/references/domains/fnb.md +82 -0
- package/.agent/skills/business-analysis/references/domains/healthtech.md +44 -0
- package/.agent/skills/business-analysis/references/domains/internal-tools.md +38 -0
- package/.agent/skills/business-analysis/references/domains/marketplace.md +52 -0
- package/.agent/skills/business-analysis/references/domains/saas.md +36 -0
- package/.agent/skills/business-analysis/references/workflows/collaboration.md +41 -0
- package/.agent/skills/business-analysis/scripts/verify_mermaid.py +86 -0
- package/.agent/skills/business-analysis/templates/brd.md +46 -0
- package/.agent/skills/business-analysis/templates/change-request.md +41 -0
- package/.agent/skills/business-analysis/templates/prd-functional.md +38 -0
- package/.agent/skills/business-analysis/templates/use-case.md +40 -0
- package/.agent/skills/business-analysis/templates/user-story-detailed.md +36 -0
- package/.agent/skills/code-review/SKILL.md +113 -0
- package/.agent/skills/code-review/references/code-review-reception.md +209 -0
- package/.agent/skills/code-review/references/differential_review.md +59 -0
- package/.agent/skills/code-review/references/requesting-code-review.md +105 -0
- package/.agent/skills/code-review/references/spec_compliance.md +43 -0
- package/.agent/skills/code-review/references/verification-before-completion.md +139 -0
- package/.agent/skills/context-engineering/SKILL.md +68 -0
- package/.agent/skills/context-engineering/references/context-compression.md +84 -0
- package/.agent/skills/context-engineering/references/context-degradation.md +93 -0
- package/.agent/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/.agent/skills/context-engineering/references/context-optimization.md +82 -0
- package/.agent/skills/context-engineering/references/evaluation.md +89 -0
- package/.agent/skills/context-engineering/references/memory-systems.md +88 -0
- package/.agent/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/.agent/skills/context-engineering/references/project-development.md +97 -0
- package/.agent/skills/context-engineering/references/tool-design.md +86 -0
- package/.agent/skills/debugging/SKILL.md +60 -0
- package/.agent/skills/debugging/references/defense-in-depth.md +130 -0
- package/.agent/skills/debugging/references/root-cause-tracing.md +177 -0
- package/.agent/skills/debugging/references/systematic-debugging.md +295 -0
- package/.agent/skills/debugging/references/verification-before-completion.md +142 -0
- package/.agent/skills/designer/SKILL.md +159 -0
- package/.agent/skills/designer/concepts/apple-glass.md +48 -0
- package/.agent/skills/designer/concepts/aurora-gradients.md +26 -0
- package/.agent/skills/designer/concepts/bento-grids.md +14 -0
- package/.agent/skills/designer/concepts/claymorphism.md +27 -0
- package/.agent/skills/designer/concepts/neo-brutalism.md +32 -0
- package/.agent/skills/designer/data/app-interface.csv +31 -0
- package/.agent/skills/designer/data/charts.csv +26 -0
- package/.agent/skills/designer/data/colors.csv +162 -0
- package/.agent/skills/designer/data/design.csv +1776 -0
- package/.agent/skills/designer/data/icons.csv +106 -0
- package/.agent/skills/designer/data/landing.csv +35 -0
- package/.agent/skills/designer/data/products.csv +162 -0
- package/.agent/skills/designer/data/react-performance.csv +45 -0
- package/.agent/skills/designer/data/styles.csv +85 -0
- package/.agent/skills/designer/data/typography.csv +74 -0
- package/.agent/skills/designer/data/ui-reasoning.csv +162 -0
- package/.agent/skills/designer/data/ux-guidelines.csv +100 -0
- package/.agent/skills/designer/references/accessibility.md +172 -0
- package/.agent/skills/designer/references/branding.md +88 -0
- package/.agent/skills/designer/references/color-theory.md +139 -0
- package/.agent/skills/designer/references/creation.md +118 -0
- package/.agent/skills/designer/references/design-systems.md +219 -0
- package/.agent/skills/designer/references/frontend_design_aesthetics.md +57 -0
- package/.agent/skills/designer/references/layout.md +200 -0
- package/.agent/skills/designer/references/motion.md +92 -0
- package/.agent/skills/designer/references/review.md +100 -0
- package/.agent/skills/designer/references/trends.md +209 -0
- package/.agent/skills/designer/references/typography.md +190 -0
- package/.agent/skills/designer/scripts/remove_background.py +135 -0
- package/.agent/skills/designer/scripts/ui-search/__pycache__/core.cpython-314.pyc +0 -0
- package/.agent/skills/designer/scripts/ui-search/__pycache__/design_system.cpython-314.pyc +0 -0
- package/.agent/skills/designer/scripts/ui-search/core.py +217 -0
- package/.agent/skills/designer/scripts/ui-search/design_system.py +1067 -0
- package/.agent/skills/designer/scripts/ui-search/search.py +114 -0
- package/.agent/skills/designer/templates/design-motion-spec.md +30 -0
- package/.agent/skills/devops-engineer/SKILL.md +90 -0
- package/.agent/skills/devops-engineer/docker-compose/README.md +47 -0
- package/.agent/skills/devops-engineer/references/ci-cd-pipelines.md +76 -0
- package/.agent/skills/devops-engineer/references/cloud-providers.md +57 -0
- package/.agent/skills/devops-engineer/references/codebase-normalization.md +104 -0
- package/.agent/skills/devops-engineer/references/container-orchestration.md +69 -0
- package/.agent/skills/devops-engineer/references/iac-tools.md +63 -0
- package/.agent/skills/devops-engineer/references/observability-security.md +45 -0
- package/.agent/skills/devops-engineer/references/vercel-supabase.md +17 -0
- package/.agent/skills/devops-engineer/templates/release-notes.md +8 -0
- package/.agent/skills/frontend-developer/SKILL.md +125 -0
- package/.agent/skills/frontend-developer/react-nextjs/README.md +90 -0
- package/.agent/skills/frontend-developer/references/angular.md +52 -0
- package/.agent/skills/frontend-developer/references/composition_patterns.md +60 -0
- package/.agent/skills/frontend-developer/references/core-performance.md +68 -0
- package/.agent/skills/frontend-developer/references/modern-signals.md +43 -0
- package/.agent/skills/frontend-developer/references/react_performance_rules.md +55 -0
- package/.agent/skills/frontend-developer/references/vue-nuxt.md +55 -0
- package/.agent/skills/frontend-developer/scripts/validate_compliance.py +65 -0
- package/.agent/skills/frontend-developer/threejs/README.md +89 -0
- package/.agent/skills/frontend-developer/threejs/animation.md +552 -0
- package/.agent/skills/frontend-developer/threejs/fundamentals.md +488 -0
- package/.agent/skills/frontend-developer/threejs/geometry.md +548 -0
- package/.agent/skills/frontend-developer/threejs/interaction.md +660 -0
- package/.agent/skills/frontend-developer/threejs/lighting.md +481 -0
- package/.agent/skills/frontend-developer/threejs/loaders.md +623 -0
- package/.agent/skills/frontend-developer/threejs/materials.md +520 -0
- package/.agent/skills/frontend-developer/threejs/postprocessing.md +602 -0
- package/.agent/skills/frontend-developer/threejs/router.json +181 -0
- package/.agent/skills/frontend-developer/threejs/shaders.md +642 -0
- package/.agent/skills/frontend-developer/threejs/textures.md +628 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/lead-architect/SKILL.md +85 -0
- package/.agent/skills/lead-architect/references/application-architecture.md +70 -0
- package/.agent/skills/lead-architect/references/infrastructure.md +51 -0
- package/.agent/skills/lead-architect/references/process.md +42 -0
- package/.agent/skills/lead-architect/references/system-architecture.md +62 -0
- package/.agent/skills/lead-architect/references/web-fullstack.md +82 -0
- package/.agent/skills/lead-architect/templates/adr.md +62 -0
- package/.agent/skills/lead-architect/templates/rfc.md +46 -0
- package/.agent/skills/lead-architect/templates/sdd.md +62 -0
- package/.agent/skills/lead-architect/templates/technical-spec.md +61 -0
- package/.agent/skills/marketer/SKILL.md +66 -0
- package/.agent/skills/marketer/remotion-best-practices/SKILL.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/3d.md +86 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/animations.md +29 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets.md +78 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/audio.md +172 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/can-decode.md +75 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/charts.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/compositions.md +146 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/display-captions.md +126 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/fonts.md +152 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/gifs.md +138 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/images.md +130 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/lottie.md +68 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/sequencing.md +106 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/tailwind.md +11 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/text-animations.md +20 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/timing.md +179 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/transitions.md +122 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/trimming.md +53 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/videos.md +171 -0
- package/.agent/skills/mcp-builder/SKILL.md +76 -0
- package/.agent/skills/mcp-builder/references/evaluation.md +602 -0
- package/.agent/skills/mcp-builder/references/mcp_best_practices.md +249 -0
- package/.agent/skills/mcp-builder/references/node_mcp_server.md +970 -0
- package/.agent/skills/mcp-builder/references/python_mcp_server.md +719 -0
- package/.agent/skills/mobile-developer/SKILL.md +83 -0
- package/.agent/skills/mobile-developer/api-routes/SKILL.md +389 -0
- package/.agent/skills/mobile-developer/building-ui/SKILL.md +335 -0
- package/.agent/skills/mobile-developer/building-ui/references/animations.md +220 -0
- package/.agent/skills/mobile-developer/building-ui/references/controls.md +270 -0
- package/.agent/skills/mobile-developer/building-ui/references/form-sheet.md +227 -0
- package/.agent/skills/mobile-developer/building-ui/references/gradients.md +106 -0
- package/.agent/skills/mobile-developer/building-ui/references/icons.md +213 -0
- package/.agent/skills/mobile-developer/building-ui/references/media.md +198 -0
- package/.agent/skills/mobile-developer/building-ui/references/route-structure.md +229 -0
- package/.agent/skills/mobile-developer/building-ui/references/search.md +248 -0
- package/.agent/skills/mobile-developer/building-ui/references/storage.md +121 -0
- package/.agent/skills/mobile-developer/building-ui/references/tabs.md +368 -0
- package/.agent/skills/mobile-developer/building-ui/references/visual-effects.md +197 -0
- package/.agent/skills/mobile-developer/building-ui/references/webgpu-three.md +605 -0
- package/.agent/skills/mobile-developer/cicd-workflows/SKILL.md +107 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/fetch.js +109 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/package.json +11 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/validate.js +84 -0
- package/.agent/skills/mobile-developer/data-fetching/SKILL.md +508 -0
- package/.agent/skills/mobile-developer/deployment/SKILL.md +207 -0
- package/.agent/skills/mobile-developer/deployment/references/app-store-metadata.md +479 -0
- package/.agent/skills/mobile-developer/deployment/references/ios-app-store.md +355 -0
- package/.agent/skills/mobile-developer/deployment/references/play-store.md +246 -0
- package/.agent/skills/mobile-developer/deployment/references/testflight.md +58 -0
- package/.agent/skills/mobile-developer/deployment/references/workflows.md +200 -0
- package/.agent/skills/mobile-developer/dev-client/SKILL.md +181 -0
- package/.agent/skills/mobile-developer/tailwind-setup/SKILL.md +501 -0
- package/.agent/skills/mobile-developer/upgrading-expo/SKILL.md +116 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/new-architecture.md +79 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/react-19.md +79 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/react-compiler.md +59 -0
- package/.agent/skills/mobile-developer/use-dom/SKILL.md +434 -0
- package/.agent/skills/modern-python/SKILL.md +122 -0
- package/.agent/skills/project-manager/SKILL.md +110 -0
- package/.agent/skills/project-manager/references/ba-collaboration.md +62 -0
- package/.agent/skills/project-manager/references/discovery_process.md +52 -0
- package/.agent/skills/project-manager/references/jobs_to_be_done.md +51 -0
- package/.agent/skills/project-manager/references/prd_development.md +52 -0
- package/.agent/skills/project-manager/references/rules-guide.md +55 -0
- package/.agent/skills/project-manager/references/skill-creation.md +98 -0
- package/.agent/skills/project-manager/references/strategic-frameworks.md +62 -0
- package/.agent/skills/project-manager/references/task-decomposition.md +194 -0
- package/.agent/skills/project-manager/references/workflows-guide.md +44 -0
- package/.agent/skills/project-manager/router.json +160 -0
- package/.agent/skills/project-manager/scripts/compare_skill.py +177 -0
- package/.agent/skills/project-manager/scripts/encoding_utils.py +36 -0
- package/.agent/skills/project-manager/scripts/init_skill.py +190 -0
- package/.agent/skills/project-manager/scripts/quick_validate.py +123 -0
- package/.agent/skills/project-manager/templates/pm-strategy-one-pager.md +6 -0
- package/.agent/skills/project-manager/templates/prd-strategic.md +38 -0
- package/.agent/skills/project-manager/templates/skill-questionnaire.md +118 -0
- package/.agent/skills/project-manager/templates/user-story-simple.md +14 -0
- package/.agent/skills/prompt-engineer/SKILL.md +319 -0
- package/.agent/skills/prompt-engineer/skill-creator/README.md +47 -0
- package/.agent/skills/qa-tester/SKILL.md +142 -0
- package/.agent/skills/qa-tester/assets/README.md +8 -0
- package/.agent/skills/qa-tester/references/accessibility_testing.md +35 -0
- package/.agent/skills/qa-tester/references/agent_browser.md +38 -0
- package/.agent/skills/qa-tester/references/automation/api_testing.md +23 -0
- package/.agent/skills/qa-tester/references/automation/best_practices.md +14 -0
- package/.agent/skills/qa-tester/references/automation/jest_vitest.md +26 -0
- package/.agent/skills/qa-tester/references/automation/playwright.md +30 -0
- package/.agent/skills/qa-tester/references/e2e_testing.md +46 -0
- package/.agent/skills/qa-tester/references/integration_testing.md +39 -0
- package/.agent/skills/qa-tester/references/performance_testing.md +44 -0
- package/.agent/skills/qa-tester/references/property_based_testing.md +44 -0
- package/.agent/skills/qa-tester/references/security_audit.md +53 -0
- package/.agent/skills/qa-tester/references/security_testing.md +30 -0
- package/.agent/skills/qa-tester/references/sharp_edges.md +49 -0
- package/.agent/skills/qa-tester/references/static_analysis.md +52 -0
- package/.agent/skills/qa-tester/references/supply_chain_audit.md +54 -0
- package/.agent/skills/qa-tester/references/test_case_standards.md +96 -0
- package/.agent/skills/qa-tester/references/test_report_template.md +32 -0
- package/.agent/skills/qa-tester/references/unit_testing.md +50 -0
- package/.agent/skills/qa-tester/references/visual_testing.md +32 -0
- package/.agent/skills/qa-tester/templates/uat-plan.md +34 -0
- package/.agent/skills/research-first/SKILL.md +118 -0
- package/.agent/skills-manifest.json +264 -0
- package/.agent/workflows/absorb.md +176 -0
- package/.agent/workflows/bootstrap.md +91 -0
- package/.agent/workflows/brainstorm.md +168 -0
- package/.agent/workflows/break-tasks.md +77 -0
- package/.agent/workflows/commit.md +349 -0
- package/.agent/workflows/custom-behavior.md +64 -0
- package/.agent/workflows/debug.md +65 -0
- package/.agent/workflows/development.md +49 -0
- package/.agent/workflows/documentation.md +221 -0
- package/.agent/workflows/gen-tests.md +53 -0
- package/.agent/workflows/guide.md +196 -0
- package/.agent/workflows/implement-feature.md +182 -0
- package/.agent/workflows/install-skill.md +193 -0
- package/.agent/workflows/qa.md +54 -0
- package/.agent/workflows/ui-ux-design.md +108 -0
- package/LICENSE +21 -0
- package/README.md +258 -0
- package/cli/index.js +345 -0
- package/cli/migrate-skills.js +113 -0
- package/cli/verify.js +291 -0
- package/package.json +49 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# Design Systems Guide
|
|
2
|
+
|
|
3
|
+
Expert guide for creating and maintaining scalable design systems.
|
|
4
|
+
|
|
5
|
+
## Design Tokens
|
|
6
|
+
|
|
7
|
+
### Token Hierarchy
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Global Tokens (primitives)
|
|
11
|
+
↓
|
|
12
|
+
Semantic Tokens (purpose)
|
|
13
|
+
↓
|
|
14
|
+
Component Tokens (specific)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Token Categories
|
|
18
|
+
|
|
19
|
+
| Category | Examples |
|
|
20
|
+
| ----------- | ----------------------------------------- |
|
|
21
|
+
| Color | `color.blue.500`, `color.surface.primary` |
|
|
22
|
+
| Typography | `font.family.body`, `font.size.lg` |
|
|
23
|
+
| Spacing | `space.4`, `space.8` |
|
|
24
|
+
| Border | `border.radius.md`, `border.width.thin` |
|
|
25
|
+
| Shadow | `shadow.sm`, `shadow.lg` |
|
|
26
|
+
| Motion | `duration.fast`, `ease.out` |
|
|
27
|
+
| Breakpoints | `breakpoint.md`, `breakpoint.lg` |
|
|
28
|
+
| Z-index | `z.modal`, `z.tooltip` |
|
|
29
|
+
|
|
30
|
+
### Token Naming Convention
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
{category}.{property}.{variant}.{state}
|
|
34
|
+
|
|
35
|
+
Examples:
|
|
36
|
+
color.background.surface
|
|
37
|
+
color.background.surface.hover
|
|
38
|
+
font.size.heading.xl
|
|
39
|
+
space.padding.component.md
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### CSS Implementation
|
|
43
|
+
|
|
44
|
+
```css
|
|
45
|
+
:root {
|
|
46
|
+
/* Primitives */
|
|
47
|
+
--color-blue-500: #3b82f6;
|
|
48
|
+
--color-blue-600: #2563eb;
|
|
49
|
+
|
|
50
|
+
/* Semantic */
|
|
51
|
+
--color-primary: var(--color-blue-500);
|
|
52
|
+
--color-primary-hover: var(--color-blue-600);
|
|
53
|
+
|
|
54
|
+
/* Component-specific (optional) */
|
|
55
|
+
--button-bg: var(--color-primary);
|
|
56
|
+
--button-bg-hover: var(--color-primary-hover);
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Component Architecture
|
|
61
|
+
|
|
62
|
+
### Atomic Design Levels
|
|
63
|
+
|
|
64
|
+
| Level | Description | Examples |
|
|
65
|
+
| --------- | ------------------- | ---------------------- |
|
|
66
|
+
| Atoms | Basic elements | Button, Input, Icon |
|
|
67
|
+
| Molecules | Simple combinations | Search bar, Form field |
|
|
68
|
+
| Organisms | Complex sections | Header, Card, Modal |
|
|
69
|
+
| Templates | Page layouts | Dashboard, Settings |
|
|
70
|
+
| Pages | Specific instances | Home, Profile |
|
|
71
|
+
|
|
72
|
+
### Component API Design
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
interface ButtonProps {
|
|
76
|
+
// Variants (visual)
|
|
77
|
+
variant: "primary" | "secondary" | "ghost" | "danger";
|
|
78
|
+
size: "sm" | "md" | "lg";
|
|
79
|
+
|
|
80
|
+
// States
|
|
81
|
+
isLoading?: boolean;
|
|
82
|
+
isDisabled?: boolean;
|
|
83
|
+
|
|
84
|
+
// Content
|
|
85
|
+
children: ReactNode;
|
|
86
|
+
leftIcon?: ReactNode;
|
|
87
|
+
rightIcon?: ReactNode;
|
|
88
|
+
|
|
89
|
+
// Behavior
|
|
90
|
+
onClick?: () => void;
|
|
91
|
+
type?: "button" | "submit" | "reset";
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Variant Strategy
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Base styles (always applied)
|
|
99
|
+
+ Variant styles (visual appearance)
|
|
100
|
+
+ Size styles (dimensions)
|
|
101
|
+
+ State styles (hover, focus, disabled)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Documentation Standards
|
|
105
|
+
|
|
106
|
+
### Component Doc Template
|
|
107
|
+
|
|
108
|
+
```markdown
|
|
109
|
+
# Button
|
|
110
|
+
|
|
111
|
+
Primary action element for user interactions.
|
|
112
|
+
|
|
113
|
+
## Usage Guidelines
|
|
114
|
+
|
|
115
|
+
- Use primary for main CTAs (1 per view)
|
|
116
|
+
- Use secondary for alternative actions
|
|
117
|
+
- Use ghost for tertiary/toolbar actions
|
|
118
|
+
|
|
119
|
+
## Variants
|
|
120
|
+
|
|
121
|
+
[Visual examples of each variant]
|
|
122
|
+
|
|
123
|
+
## Props
|
|
124
|
+
|
|
125
|
+
| Prop | Type | Default | Description |
|
|
126
|
+
| ---- | ---- | ------- | ----------- |
|
|
127
|
+
|
|
128
|
+
## Accessibility
|
|
129
|
+
|
|
130
|
+
- Uses native `<button>` element
|
|
131
|
+
- Focus visible by default
|
|
132
|
+
- Loading state announces via aria-busy
|
|
133
|
+
|
|
134
|
+
## Examples
|
|
135
|
+
|
|
136
|
+
[Code snippets for common use cases]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Figma ↔ Code Sync
|
|
140
|
+
|
|
141
|
+
### Token Export Format
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"color": {
|
|
146
|
+
"primary": {
|
|
147
|
+
"value": "#3b82f6",
|
|
148
|
+
"type": "color"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"spacing": {
|
|
152
|
+
"4": {
|
|
153
|
+
"value": "16px",
|
|
154
|
+
"type": "spacing"
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Sync Workflow
|
|
161
|
+
|
|
162
|
+
1. Designers update tokens in Figma
|
|
163
|
+
2. Export via Tokens Studio / Style Dictionary
|
|
164
|
+
3. Generate CSS/JS token files
|
|
165
|
+
4. Review PR with visual diff
|
|
166
|
+
5. Merge and deploy
|
|
167
|
+
|
|
168
|
+
## Versioning & Changelog
|
|
169
|
+
|
|
170
|
+
### Semantic Versioning
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
MAJOR.MINOR.PATCH
|
|
174
|
+
|
|
175
|
+
1.0.0 → 1.0.1 (patch: bug fix)
|
|
176
|
+
1.0.0 → 1.1.0 (minor: new component)
|
|
177
|
+
1.0.0 → 2.0.0 (major: breaking change)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Breaking Changes
|
|
181
|
+
|
|
182
|
+
- Removed component/prop
|
|
183
|
+
- Changed prop name/type
|
|
184
|
+
- Visual changes affecting layout
|
|
185
|
+
- Token name changes
|
|
186
|
+
|
|
187
|
+
### Changelog Format
|
|
188
|
+
|
|
189
|
+
```markdown
|
|
190
|
+
## [1.2.0] - 2024-01-15
|
|
191
|
+
|
|
192
|
+
### Added
|
|
193
|
+
|
|
194
|
+
- New `Tooltip` component
|
|
195
|
+
|
|
196
|
+
### Changed
|
|
197
|
+
|
|
198
|
+
- Button hover states now use scale transform
|
|
199
|
+
|
|
200
|
+
### Deprecated
|
|
201
|
+
|
|
202
|
+
- `Button` `loading` prop → use `isLoading`
|
|
203
|
+
|
|
204
|
+
### Fixed
|
|
205
|
+
|
|
206
|
+
- Modal focus trap edge case
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Quality Checklist
|
|
210
|
+
|
|
211
|
+
### For Each Component
|
|
212
|
+
|
|
213
|
+
- [ ] Follows token system (no hard-coded values)
|
|
214
|
+
- [ ] All variants documented
|
|
215
|
+
- [ ] Accessibility tested
|
|
216
|
+
- [ ] Dark mode compatible
|
|
217
|
+
- [ ] RTL tested (if applicable)
|
|
218
|
+
- [ ] Unit tests for logic
|
|
219
|
+
- [ ] Visual regression tests
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Frontend Design Aesthetics — Anti-AI-Slop Guide
|
|
2
|
+
|
|
3
|
+
> Source: [Anthropic Official Skills](https://github.com/anthropics/skills) (Apache 2.0)
|
|
4
|
+
|
|
5
|
+
## Design Thinking
|
|
6
|
+
|
|
7
|
+
Before coding, understand the context and commit to a **BOLD** aesthetic direction:
|
|
8
|
+
|
|
9
|
+
- **Purpose**: What problem does this interface solve? Who uses it?
|
|
10
|
+
- **Tone**: Pick an extreme — brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian
|
|
11
|
+
- **Constraints**: Technical requirements (framework, performance, accessibility)
|
|
12
|
+
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
|
|
13
|
+
|
|
14
|
+
**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work — the key is **intentionality**, not intensity.
|
|
15
|
+
|
|
16
|
+
## Anti-AI-Slop Aesthetics
|
|
17
|
+
|
|
18
|
+
### Typography
|
|
19
|
+
- Choose fonts that are **beautiful, unique, and interesting**
|
|
20
|
+
- AVOID generic fonts: Arial, Inter, Roboto
|
|
21
|
+
- Pair a distinctive display font with a refined body font
|
|
22
|
+
- **NEVER** converge on common AI choices (e.g., Space Grotesk) across generations
|
|
23
|
+
|
|
24
|
+
### Color & Theme
|
|
25
|
+
- Commit to a cohesive aesthetic via CSS variables
|
|
26
|
+
- Dominant colors with sharp accents > timid, evenly-distributed palettes
|
|
27
|
+
- AVOID cliched color schemes (particularly purple gradients on white)
|
|
28
|
+
|
|
29
|
+
### Motion
|
|
30
|
+
- CSS-only solutions for HTML, Motion library for React
|
|
31
|
+
- Focus on high-impact moments: **one well-orchestrated page load with staggered reveals** > scattered micro-interactions
|
|
32
|
+
- Use scroll-triggering and hover states that surprise
|
|
33
|
+
|
|
34
|
+
### Spatial Composition
|
|
35
|
+
- Unexpected layouts. Asymmetry. Overlap. Diagonal flow.
|
|
36
|
+
- Grid-breaking elements. Generous negative space OR controlled density.
|
|
37
|
+
|
|
38
|
+
### Backgrounds & Visual Details
|
|
39
|
+
- Create atmosphere and depth — never default to solid colors
|
|
40
|
+
- Gradient meshes, noise textures, geometric patterns, layered transparencies
|
|
41
|
+
- Dramatic shadows, decorative borders, custom cursors, grain overlays
|
|
42
|
+
|
|
43
|
+
## The NEVER List
|
|
44
|
+
|
|
45
|
+
❌ Overused font families (Inter, Roboto, Arial, system fonts)
|
|
46
|
+
❌ Cliched color schemes (purple gradients on white backgrounds)
|
|
47
|
+
❌ Predictable layouts and component patterns
|
|
48
|
+
❌ Cookie-cutter design lacking context-specific character
|
|
49
|
+
❌ Same design choices across different generations
|
|
50
|
+
|
|
51
|
+
## The ALWAYS List
|
|
52
|
+
|
|
53
|
+
✅ Match implementation complexity to the aesthetic vision
|
|
54
|
+
✅ Maximalist designs → elaborate code, extensive animations
|
|
55
|
+
✅ Minimalist designs → restraint, precision, subtle details
|
|
56
|
+
✅ Every design should be contextually unique
|
|
57
|
+
✅ Vary between light/dark themes, different fonts, different aesthetics
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Layout & Composition
|
|
2
|
+
|
|
3
|
+
Expert spatial design principles for creating balanced, functional layouts.
|
|
4
|
+
|
|
5
|
+
## Grid Systems
|
|
6
|
+
|
|
7
|
+
### 8-Point Grid (Recommended)
|
|
8
|
+
|
|
9
|
+
All spacing and sizing divisible by 8:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
4px - micro (border, small gaps)
|
|
13
|
+
8px - base unit
|
|
14
|
+
16px - component padding
|
|
15
|
+
24px - section gaps
|
|
16
|
+
32px - large gaps
|
|
17
|
+
48px - section spacing
|
|
18
|
+
64px - major sections
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Why 8-Point?
|
|
22
|
+
|
|
23
|
+
- Scales cleanly (÷2, ×2)
|
|
24
|
+
- Works with common screen densities (1x, 1.5x, 2x, 3x)
|
|
25
|
+
- Aligns with most system fonts' baselines
|
|
26
|
+
|
|
27
|
+
### Responsive Column Grids
|
|
28
|
+
|
|
29
|
+
| Breakpoint | Columns | Gutter | Margin |
|
|
30
|
+
| --------------------- | ------- | ------ | --------------- |
|
|
31
|
+
| Mobile (<640px) | 4 | 16px | 16px |
|
|
32
|
+
| Tablet (640-1024px) | 8 | 24px | 32px |
|
|
33
|
+
| Desktop (1024-1440px) | 12 | 24px | 64px |
|
|
34
|
+
| Large (>1440px) | 12 | 32px | auto (centered) |
|
|
35
|
+
|
|
36
|
+
## Composition Principles
|
|
37
|
+
|
|
38
|
+
### Visual Hierarchy
|
|
39
|
+
|
|
40
|
+
1. **Size**: Larger = more important
|
|
41
|
+
2. **Color**: Saturated/contrasting = attention
|
|
42
|
+
3. **Position**: Top-left (LTR) = first seen
|
|
43
|
+
4. **Whitespace**: Isolated = prominent
|
|
44
|
+
5. **Typography**: Weight, style variations
|
|
45
|
+
|
|
46
|
+
### The Rule of Thirds
|
|
47
|
+
|
|
48
|
+
Divide canvas into 3×3 grid, place key elements at intersections.
|
|
49
|
+
|
|
50
|
+
- Hero images: subject at intersection
|
|
51
|
+
- CTAs: right-third for natural eye flow
|
|
52
|
+
|
|
53
|
+
### Gestalt Principles
|
|
54
|
+
|
|
55
|
+
| Principle | Description | Application |
|
|
56
|
+
| ------------- | -------------------------- | ------------------------ |
|
|
57
|
+
| Proximity | Close items seem related | Group related controls |
|
|
58
|
+
| Similarity | Similar items seem related | Consistent button styles |
|
|
59
|
+
| Continuity | Eye follows paths | Align elements |
|
|
60
|
+
| Closure | Mind completes shapes | Icon design |
|
|
61
|
+
| Figure/Ground | Foreground vs background | Cards, modals |
|
|
62
|
+
|
|
63
|
+
## Whitespace Strategy
|
|
64
|
+
|
|
65
|
+
### Types of Space
|
|
66
|
+
|
|
67
|
+
- **Micro**: Within components (padding, letter-spacing)
|
|
68
|
+
- **Macro**: Between components/sections
|
|
69
|
+
- **Negative**: Empty space that shapes perception
|
|
70
|
+
|
|
71
|
+
### Breathing Room Guidelines
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Component padding: 16-24px
|
|
75
|
+
Section spacing: 48-96px
|
|
76
|
+
Page margins: 16px (mobile) → 64px+ (desktop)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Active vs Passive Space
|
|
80
|
+
|
|
81
|
+
- **Active**: Intentionally empty, guides attention
|
|
82
|
+
- **Passive**: Leftover, feels unfinished
|
|
83
|
+
- Always design space, never leave leftovers
|
|
84
|
+
|
|
85
|
+
## Layout Patterns
|
|
86
|
+
|
|
87
|
+
### Common Page Layouts
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
┌──────────────────────────┐
|
|
91
|
+
│ Header │
|
|
92
|
+
├──────────────────────────┤
|
|
93
|
+
│ │
|
|
94
|
+
│ Hero │
|
|
95
|
+
│ │
|
|
96
|
+
├──────────────────────────┤
|
|
97
|
+
│ Card │ Card │ Card │
|
|
98
|
+
├──────────────────────────┤
|
|
99
|
+
│ Feature Section │
|
|
100
|
+
├──────────────────────────┤
|
|
101
|
+
│ Footer │
|
|
102
|
+
└──────────────────────────┘
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Dashboard Layout
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
┌────────┬─────────────────┐
|
|
109
|
+
│ │ Topbar │
|
|
110
|
+
│ Side ├─────────────────┤
|
|
111
|
+
│ bar │ │
|
|
112
|
+
│ │ Main Content │
|
|
113
|
+
│ │ │
|
|
114
|
+
└────────┴─────────────────┘
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Responsive Strategies
|
|
118
|
+
|
|
119
|
+
### Mobile-First Breakpoints
|
|
120
|
+
|
|
121
|
+
```css
|
|
122
|
+
/* Base: Mobile */
|
|
123
|
+
.container {
|
|
124
|
+
padding: 16px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* Tablet */
|
|
128
|
+
@media (min-width: 640px) {
|
|
129
|
+
.container {
|
|
130
|
+
padding: 32px;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* Desktop */
|
|
135
|
+
@media (min-width: 1024px) {
|
|
136
|
+
.container {
|
|
137
|
+
padding: 64px;
|
|
138
|
+
max-width: 1280px;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Container Queries (Modern)
|
|
144
|
+
|
|
145
|
+
```css
|
|
146
|
+
.card {
|
|
147
|
+
container-type: inline-size;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@container (min-width: 400px) {
|
|
151
|
+
.card-content {
|
|
152
|
+
flex-direction: row;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Advanced Techniques
|
|
158
|
+
|
|
159
|
+
### CSS Grid for Complex Layouts
|
|
160
|
+
|
|
161
|
+
```css
|
|
162
|
+
.bento-grid {
|
|
163
|
+
display: grid;
|
|
164
|
+
grid-template-columns: repeat(4, 1fr);
|
|
165
|
+
grid-auto-rows: 200px;
|
|
166
|
+
gap: 16px;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.featured {
|
|
170
|
+
grid-column: span 2;
|
|
171
|
+
grid-row: span 2;
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Subgrid for Alignment
|
|
176
|
+
|
|
177
|
+
```css
|
|
178
|
+
.card-grid {
|
|
179
|
+
display: grid;
|
|
180
|
+
grid-template-columns: repeat(3, 1fr);
|
|
181
|
+
gap: 24px;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.card {
|
|
185
|
+
display: grid;
|
|
186
|
+
grid-template-rows: subgrid;
|
|
187
|
+
grid-row: span 3; /* header, content, footer */
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Safe Areas (Mobile)
|
|
192
|
+
|
|
193
|
+
```css
|
|
194
|
+
.full-bleed {
|
|
195
|
+
padding-top: env(safe-area-inset-top);
|
|
196
|
+
padding-right: env(safe-area-inset-right);
|
|
197
|
+
padding-bottom: env(safe-area-inset-bottom);
|
|
198
|
+
padding-left: env(safe-area-inset-left);
|
|
199
|
+
}
|
|
200
|
+
```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Motion & Animation Design
|
|
2
|
+
|
|
3
|
+
Expert guidelines for specifying purposeful, meaningful, and performant motion.
|
|
4
|
+
|
|
5
|
+
**ROLE:** As a designer, your job is to **choreograph and specify** motion, not implement it. Use the provided templates to communicate your intent to the Frontend Developer.
|
|
6
|
+
|
|
7
|
+
## I. Motion Design Strategy
|
|
8
|
+
|
|
9
|
+
Before animating, define the **purpose** of the motion.
|
|
10
|
+
|
|
11
|
+
### 1. Orientation (The "Where")
|
|
12
|
+
|
|
13
|
+
Use motion to help users build a mental model of the interface.
|
|
14
|
+
|
|
15
|
+
- **entering**: Elements should appear from where they were triggered.
|
|
16
|
+
- **exiting**: Elements should return to their source or exit in the direction of intended flow.
|
|
17
|
+
- **transitional**: Shared element transitions connect screens seamlessly.
|
|
18
|
+
|
|
19
|
+
### 2. Feedback (The "What Happened")
|
|
20
|
+
|
|
21
|
+
Use motion to acknowledge user interaction immediately.
|
|
22
|
+
|
|
23
|
+
- **hover**: Subtle scale or lift (e.g., scale 1.0 -> 1.02).
|
|
24
|
+
- **active/press**: Scale down (e.g., scale 1.0 -> 0.98).
|
|
25
|
+
- **confetti/burst**: For high-value success states only.
|
|
26
|
+
|
|
27
|
+
### 3. Focus (The "Look Here")
|
|
28
|
+
|
|
29
|
+
Use motion to direct attention.
|
|
30
|
+
|
|
31
|
+
- **shimmer**: Suggest loading or high-value content.
|
|
32
|
+
- **pulse**: Gentle attention grab for notifications.
|
|
33
|
+
|
|
34
|
+
## II. Functionality Specification
|
|
35
|
+
|
|
36
|
+
To specify an animation, you must define **Trigger**, **Properties**, and **Timing**.
|
|
37
|
+
|
|
38
|
+
**Template Location**: `../templates/design-motion-spec.md`
|
|
39
|
+
**Output Location**: `docs/040-Design/Specs/`
|
|
40
|
+
|
|
41
|
+
### 1. Triggers
|
|
42
|
+
|
|
43
|
+
- **Load**: When the component mounts/appears.
|
|
44
|
+
- **Hover**: Cursor interaction.
|
|
45
|
+
- **Click/Tap**: Active interaction.
|
|
46
|
+
- **Scroll**: Viewport entry or scroll-linked.
|
|
47
|
+
- **State Change**: Success, Error, Loading.
|
|
48
|
+
|
|
49
|
+
### 2. Properties (What changes?)
|
|
50
|
+
|
|
51
|
+
Describe the specific visual change.
|
|
52
|
+
|
|
53
|
+
- **Opacity**: 0% to 100%.
|
|
54
|
+
- **Scale**: 0.9 to 1.0.
|
|
55
|
+
- **Position**: Y+20px to Y-0px.
|
|
56
|
+
- **Rotation**: 0deg to 180deg.
|
|
57
|
+
|
|
58
|
+
### 3. Timing & Easing (The "Feel")
|
|
59
|
+
|
|
60
|
+
Use standard easing names to communicate the feel.
|
|
61
|
+
|
|
62
|
+
| Easing Name | Description | Use Case |
|
|
63
|
+
| :------------- | :------------------- | :----------------------------------------------- |
|
|
64
|
+
| **Decelerate** | Start fast, end slow | **Entrances**. Natural feel for appearing items. |
|
|
65
|
+
| **Accelerate** | Start slow, end fast | **Exits**. Items leaving the screen. |
|
|
66
|
+
| **Standard** | Fast-Slow-Fast | **Movement**. Moving from point A to B. |
|
|
67
|
+
| **Spring** | Overshoot and settle | **Playful/High-Focus**. Attention grabbing. |
|
|
68
|
+
|
|
69
|
+
| Duration | Scale |
|
|
70
|
+
| :--------- | :---------------------------------------- |
|
|
71
|
+
| **Short** | 100-200ms (Micro-interactions, Hover) |
|
|
72
|
+
| **Medium** | 250-350ms (Dialogs, Toasts, List Items) |
|
|
73
|
+
| **Long** | 400-600ms (Page Transitions, Full Screen) |
|
|
74
|
+
|
|
75
|
+
## III. Choreography Rules
|
|
76
|
+
|
|
77
|
+
Specify how multiple elements move together.
|
|
78
|
+
|
|
79
|
+
- **Stagger**: "Items should appear one after another with a 50ms delay."
|
|
80
|
+
- **Sequence**: "Container expands FIRST (300ms), THEN content fades in (200ms)."
|
|
81
|
+
- **Group**: "Avatar and Name move as a single unit."
|
|
82
|
+
|
|
83
|
+
## IV. Design Handoff
|
|
84
|
+
|
|
85
|
+
When a user asks for animation, **DO NOT write CSS**. Instead:
|
|
86
|
+
|
|
87
|
+
1. **Analyze** the interaction.
|
|
88
|
+
2. **Select** the appropriate parameters (Trigger, Easing, Duration).
|
|
89
|
+
3. **Generate a Motion Spec** using the template at `../templates/design-motion-spec.md`.
|
|
90
|
+
4. **Save** it to `docs/040-Design/Specs/Motion-[FeatureName].md`.
|
|
91
|
+
|
|
92
|
+
This spec is the deliverable for the Frontend Developer.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# UI Review & Auditing
|
|
2
|
+
|
|
3
|
+
Expert guidelines for auditing UI code and ensuring production quality.
|
|
4
|
+
|
|
5
|
+
## Guidelines Source
|
|
6
|
+
|
|
7
|
+
Fetch fresh guidelines before each review:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Use `read_url_content` to retrieve. The content contains full rules and output format.
|
|
14
|
+
|
|
15
|
+
## Audit Decision Table
|
|
16
|
+
|
|
17
|
+
Select which standards to apply:
|
|
18
|
+
|
|
19
|
+
| Project Type | Apply Standards |
|
|
20
|
+
| ------------- | --------------------------- |
|
|
21
|
+
| Personal/demo | Basic review only |
|
|
22
|
+
| Commercial | Full WIG + WCAG AA |
|
|
23
|
+
| Enterprise | WIG + WCAG AA + performance |
|
|
24
|
+
| Public/Gov | WIG + WCAG AAA + security |
|
|
25
|
+
|
|
26
|
+
## Review Workflow
|
|
27
|
+
|
|
28
|
+
1. **Determine scope**: Which files? Which standards?
|
|
29
|
+
2. **Fetch guidelines**: Get latest from URL above
|
|
30
|
+
3. **Load references**: `@references/accessibility.md` for a11y checks
|
|
31
|
+
4. **Analyze code**: Apply all applicable rules
|
|
32
|
+
5. **Report findings**: Use format below
|
|
33
|
+
|
|
34
|
+
## Standard Audit Checklist
|
|
35
|
+
|
|
36
|
+
These rules always apply:
|
|
37
|
+
|
|
38
|
+
### Interactive States
|
|
39
|
+
|
|
40
|
+
- [ ] All buttons/links have `:hover` state
|
|
41
|
+
- [ ] All interactive elements have visible `:focus-visible`
|
|
42
|
+
- [ ] No `outline: none` without replacement
|
|
43
|
+
|
|
44
|
+
### Form Quality
|
|
45
|
+
|
|
46
|
+
- [ ] Inputs have `autocomplete` attribute
|
|
47
|
+
- [ ] Labels are clickable (`for` or wrapped)
|
|
48
|
+
- [ ] Placeholders end with `…`
|
|
49
|
+
- [ ] Errors announced to screen readers
|
|
50
|
+
|
|
51
|
+
### Typography
|
|
52
|
+
|
|
53
|
+
- [ ] Proper glyphs: `…` not `...`, curly quotes
|
|
54
|
+
- [ ] `text-wrap: balance` on headings
|
|
55
|
+
- [ ] `tabular-nums` on numeric tables
|
|
56
|
+
|
|
57
|
+
### Performance
|
|
58
|
+
|
|
59
|
+
- [ ] Images have explicit `width`/`height`
|
|
60
|
+
- [ ] Large lists (>50) virtualized
|
|
61
|
+
- [ ] No `transition: all`
|
|
62
|
+
- [ ] Animations use transform/opacity only
|
|
63
|
+
|
|
64
|
+
### Accessibility
|
|
65
|
+
|
|
66
|
+
- [ ] Semantic HTML (buttons, links, sections)
|
|
67
|
+
- [ ] Icon buttons have `aria-label`
|
|
68
|
+
- [ ] Color not sole indicator
|
|
69
|
+
- [ ] Contrast meets target level
|
|
70
|
+
|
|
71
|
+
## Severity Levels
|
|
72
|
+
|
|
73
|
+
| Level | Symbol | When to Use |
|
|
74
|
+
| ------- | ------ | ------------------------------------- |
|
|
75
|
+
| Error | 🔴 | Breaks functionality or accessibility |
|
|
76
|
+
| Warning | 🟡 | Best practice violation |
|
|
77
|
+
| Info | 🔵 | Suggestion for improvement |
|
|
78
|
+
|
|
79
|
+
## Output Format
|
|
80
|
+
|
|
81
|
+
Group by file. Use clickable `file:line` format.
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
## src/components/Button.tsx
|
|
85
|
+
|
|
86
|
+
🔴 src/components/Button.tsx:42 - icon button missing aria-label
|
|
87
|
+
🟡 src/components/Button.tsx:18 - transition: all → specify properties
|
|
88
|
+
🔵 src/components/Button.tsx:25 - consider adding loading state
|
|
89
|
+
|
|
90
|
+
## src/layout/Header.tsx
|
|
91
|
+
|
|
92
|
+
✓ pass
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Rules:**
|
|
96
|
+
|
|
97
|
+
- State issue + location only
|
|
98
|
+
- Skip preamble
|
|
99
|
+
- Explanations only if fix is non-obvious
|
|
100
|
+
- End with pass/fail summary
|