mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-10 02:24:35 +08:00
1. Remove deprecated task-generate.md - Replaced by task-generate-agent.md in previous commits - Clean up duplicate command documentation 2. Update ui-design-agent.md - Refine agent specifications and workflow integration 3. Add UI design template files - Create ~/.claude/workflows/cli-templates/ui-design/systems/ - Add animation-tokens.json for animation and transition patterns - Add design-tokens.json for color, typography, spacing tokens - Add layout-templates.json for structural layout patterns - Modular design system management 4. Update analyze_commands.py - Enhance command analysis capabilities - Improve metadata extraction Key improvements: - Remove duplicate/deprecated documentation - Modular UI design template management - Better workflow command organization
146 lines
6.1 KiB
JSON
146 lines
6.1 KiB
JSON
{
|
|
"$schema": "https://tr.designtokens.org/format/",
|
|
"templates": [
|
|
{
|
|
"target": "string - page/component name (e.g., hero-section, product-card)",
|
|
"description": "string - layout description",
|
|
"component_type": "universal|specialized",
|
|
"device_type": "mobile|tablet|desktop|responsive",
|
|
"layout_strategy": "string - grid-3col|flex-row|stack|sidebar|etc",
|
|
|
|
"structure": {
|
|
"tag": "string - HTML5 semantic tag (header|nav|main|section|article|aside|footer|div|etc)",
|
|
"attributes": {
|
|
"class": "string - semantic class name",
|
|
"role": "string - ARIA role (navigation|main|complementary|etc)",
|
|
"aria-label": "string - ARIA label",
|
|
"aria-describedby": "string - ARIA describedby",
|
|
"data-state": "string - data attributes for state management (open|closed|etc)"
|
|
},
|
|
"layout": {
|
|
"_comment": "LAYOUT PROPERTIES ONLY - Use camelCase for property names",
|
|
"display": "grid|flex|block|inline-flex",
|
|
"grid-template-columns": "{spacing.*} or CSS value (repeat(3, 1fr))",
|
|
"grid-template-rows": "string",
|
|
"gap": "{spacing.*}",
|
|
"padding": "{spacing.*}",
|
|
"margin": "{spacing.*}",
|
|
"alignItems": "start|center|end|stretch",
|
|
"justifyContent": "start|center|end|space-between|space-around",
|
|
"flexDirection": "row|column",
|
|
"flexWrap": "wrap|nowrap",
|
|
"position": "relative|absolute|fixed|sticky",
|
|
"top": "string",
|
|
"right": "string",
|
|
"bottom": "string",
|
|
"left": "string",
|
|
"width": "string",
|
|
"height": "string",
|
|
"maxWidth": "string",
|
|
"minHeight": "string"
|
|
},
|
|
"responsive": {
|
|
"_comment": "ONLY properties that CHANGE at each breakpoint - NO repetition",
|
|
"sm": {
|
|
"grid-template-columns": "1fr",
|
|
"padding": "{spacing.4}"
|
|
},
|
|
"md": {
|
|
"grid-template-columns": "repeat(2, 1fr)",
|
|
"gap": "{spacing.6}"
|
|
},
|
|
"lg": {
|
|
"grid-template-columns": "repeat(3, 1fr)"
|
|
}
|
|
},
|
|
"children": [
|
|
{
|
|
"_comment": "Recursive structure - same fields as parent",
|
|
"tag": "string",
|
|
"attributes": {},
|
|
"layout": {},
|
|
"responsive": {},
|
|
"children": [],
|
|
"content": "string or {{placeholder}}"
|
|
}
|
|
],
|
|
"content": "string - text content or {{placeholder}} for dynamic content"
|
|
},
|
|
|
|
"accessibility": {
|
|
"patterns": [
|
|
"string - ARIA patterns used (e.g., WAI-ARIA Tabs pattern, Dialog pattern)"
|
|
],
|
|
"keyboard_navigation": [
|
|
"string - keyboard shortcuts (e.g., Tab/Shift+Tab navigation, Escape to close)"
|
|
],
|
|
"focus_management": "string - focus trap strategy, initial focus target",
|
|
"screen_reader_notes": [
|
|
"string - screen reader announcements (e.g., Dialog opened, Tab selected)"
|
|
]
|
|
},
|
|
|
|
"usage_guide": {
|
|
"common_sizes": {
|
|
"small": {
|
|
"dimensions": "string - e.g., px-3 py-1.5 (height: ~32px)",
|
|
"use_case": "string - Compact UI, mobile views"
|
|
},
|
|
"medium": {
|
|
"dimensions": "string - e.g., px-4 py-2 (height: ~40px)",
|
|
"use_case": "string - Default size for most contexts"
|
|
},
|
|
"large": {
|
|
"dimensions": "string - e.g., px-6 py-3 (height: ~48px)",
|
|
"use_case": "string - Prominent CTAs, hero sections"
|
|
}
|
|
},
|
|
"variant_recommendations": {
|
|
"variant_name": {
|
|
"description": "string - when to use this variant",
|
|
"typical_actions": ["string - action examples"]
|
|
}
|
|
},
|
|
"usage_context": [
|
|
"string - typical usage scenarios (e.g., Landing page hero, Product listing grid)"
|
|
],
|
|
"accessibility_tips": [
|
|
"string - accessibility best practices (e.g., Ensure heading hierarchy, Add aria-label)"
|
|
]
|
|
},
|
|
|
|
"extraction_metadata": {
|
|
"source": "code-import|explore|text",
|
|
"created": "ISO timestamp",
|
|
"code_snippets": [
|
|
{
|
|
"component_name": "string - which layout component",
|
|
"source_file": "string - absolute path",
|
|
"line_start": "number",
|
|
"line_end": "number",
|
|
"snippet": "string - complete HTML/CSS/JS code block",
|
|
"context_type": "html-structure|css-utility|react-component|vue-component|etc"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
|
|
"_field_rules": {
|
|
"schema": "$schema MUST reference W3C Design Tokens format specification",
|
|
"semantic_tags": "structure.tag MUST use semantic HTML5 tags (header, nav, main, section, article, aside, footer)",
|
|
"aria": "structure.attributes MUST include ARIA attributes where applicable (role, aria-label, aria-describedby)",
|
|
"token_refs": "structure.layout MUST use {token.path} syntax for all spacing values",
|
|
"no_visual": "structure.layout MUST NOT include visual styling (colors, fonts, shadows - those belong in design-tokens)",
|
|
"layout_only": "structure.layout contains ONLY layout properties (display, grid, flex, position, spacing)",
|
|
"breakpoints": "structure.responsive MUST define breakpoint-specific overrides matching breakpoint tokens",
|
|
"no_repetition": "structure.responsive uses ONLY the properties that change at each breakpoint (no repetition)",
|
|
"recursive": "structure.children inherits same structure recursively for nested elements",
|
|
"component_type": "component_type MUST be 'universal' or 'specialized'",
|
|
"accessibility": "accessibility MUST include patterns, keyboard_navigation, focus_management, screen_reader_notes",
|
|
"usage_guide_universal": "usage_guide REQUIRED for universal components (buttons, inputs, forms, cards, navigation, etc.)",
|
|
"usage_guide_specialized": "usage_guide OPTIONAL for specialized components (can be simplified or omitted)",
|
|
"code_snippets": "extraction_metadata.code_snippets ONLY present in Code Import mode"
|
|
}
|
|
}
|