mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-10 02:24:35 +08:00
feat: 增强 command-guide skill,新增 UI 设计工作流指南和自动同步功能
## 主要更新 ### 1. 新增 UI 设计工作流完整指南 - 新增 `ui-design-workflow-guide.md` (12KB) - 使用 Gemini 分析 11 个 UI 设计命令文件 - 提供 4 种工作流模式详细指导: - 探索式设计(新概念) - 设计复制(模仿现有网站) - 代码优先导入 - 批量生成(高容量) - 包含架构最佳实践、性能优化和故障排查 ### 2. 更新工作流模式指南 - 在 `workflow-patterns.md` 中新增 Pattern 7: UI设计工作流 - 提供三种子模式的中文示例 - 添加 UI 设计指南的交叉引用 ### 3. 增强索引构建脚本 - 更新 `analyze_commands.py` 支持自动同步 reference 目录 - 新增 `sync_reference_directory()` 函数: - 自动删除旧的 reference 文件 - 从 `.claude/agents` 和 `.claude/commands` 复制最新文件 - 确保索引构建前 reference 目录为最新 - 增强统计输出,显示 reference 目录同步状态 ### 4. 更新索引文件 - 重建所有索引文件(all-commands.json, by-category.json 等) - 优化命令元数据和分类 - 同步最新的 UI 设计命令(包括新增的 import-from-code.md) ## 技术细节 **命令分类体系**: - Orchestrators: explore-auto, imitate-auto, batch-generate - Core Extractors: style-extract, layout-extract, animation-extract - Input & Capture: capture, explore-layers, import-from-code - Assemblers: generate, update **架构原则**: - 关注点分离:Style、Structure、Motion 独立 - Token-First CSS:使用 CSS 变量而非硬编码 - 并行执行:支持最多 6 个并发任务 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -6,13 +6,18 @@ Analyze all command files and generate index files for command-guide skill.
|
||||
import os
|
||||
import re
|
||||
import json
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
from collections import defaultdict
|
||||
from typing import Dict, List, Any
|
||||
|
||||
# Base paths
|
||||
COMMANDS_DIR = Path("D:/Claude_dms3/.claude/commands")
|
||||
INDEX_DIR = Path("D:/Claude_dms3/.claude/skills/command-guide/index")
|
||||
BASE_DIR = Path("D:/Claude_dms3/.claude")
|
||||
COMMANDS_DIR = BASE_DIR / "commands"
|
||||
AGENTS_DIR = BASE_DIR / "agents"
|
||||
SKILL_DIR = BASE_DIR / "skills" / "command-guide"
|
||||
REFERENCE_DIR = SKILL_DIR / "reference"
|
||||
INDEX_DIR = SKILL_DIR / "index"
|
||||
|
||||
def parse_frontmatter(content: str) -> Dict[str, Any]:
|
||||
"""Extract YAML frontmatter from markdown content."""
|
||||
@@ -279,6 +284,41 @@ def build_command_relationships() -> Dict[str, Any]:
|
||||
|
||||
return relationships
|
||||
|
||||
def sync_reference_directory():
|
||||
"""Sync reference directory with source directories."""
|
||||
print("\n=== Syncing Reference Directory ===")
|
||||
|
||||
# Step 1: Delete all files in reference directory
|
||||
if REFERENCE_DIR.exists():
|
||||
print(f"Deleting existing reference directory: {REFERENCE_DIR}")
|
||||
shutil.rmtree(REFERENCE_DIR)
|
||||
|
||||
# Step 2: Create reference directory structure
|
||||
REFERENCE_DIR.mkdir(parents=True, exist_ok=True)
|
||||
print(f"Created reference directory: {REFERENCE_DIR}")
|
||||
|
||||
# Step 3: Copy agents directory
|
||||
agents_target = REFERENCE_DIR / "agents"
|
||||
if AGENTS_DIR.exists():
|
||||
print(f"Copying {AGENTS_DIR} -> {agents_target}")
|
||||
shutil.copytree(AGENTS_DIR, agents_target)
|
||||
agent_files = list(agents_target.rglob("*.md"))
|
||||
print(f" Copied {len(agent_files)} agent files")
|
||||
else:
|
||||
print(f" WARNING: Source directory not found: {AGENTS_DIR}")
|
||||
|
||||
# Step 4: Copy commands directory
|
||||
commands_target = REFERENCE_DIR / "commands"
|
||||
if COMMANDS_DIR.exists():
|
||||
print(f"Copying {COMMANDS_DIR} -> {commands_target}")
|
||||
shutil.copytree(COMMANDS_DIR, commands_target)
|
||||
command_files = list(commands_target.rglob("*.md"))
|
||||
print(f" Copied {len(command_files)} command files")
|
||||
else:
|
||||
print(f" WARNING: Source directory not found: {COMMANDS_DIR}")
|
||||
|
||||
print("Reference directory sync completed\n")
|
||||
|
||||
def identify_essential_commands(all_commands: List[Dict]) -> List[Dict]:
|
||||
"""Identify the most essential commands for beginners."""
|
||||
# Essential command names (14 most important) - use full command paths
|
||||
@@ -320,7 +360,13 @@ def main():
|
||||
if sys.platform == 'win32':
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
||||
|
||||
print("Analyzing command files...")
|
||||
print("=== Command Guide Index Rebuild ===\n")
|
||||
|
||||
# Step 1: Sync reference directory
|
||||
sync_reference_directory()
|
||||
|
||||
# Step 2: Analyze command files
|
||||
print("=== Analyzing Command Files ===")
|
||||
|
||||
# Find all command files
|
||||
command_files = list(COMMANDS_DIR.rglob("*.md"))
|
||||
@@ -385,7 +431,17 @@ def main():
|
||||
|
||||
# Print summary statistics
|
||||
print("\n=== Summary Statistics ===")
|
||||
print(f"Total commands: {len(all_commands)}")
|
||||
|
||||
# Reference directory statistics
|
||||
if REFERENCE_DIR.exists():
|
||||
ref_agents = list((REFERENCE_DIR / "agents").rglob("*.md")) if (REFERENCE_DIR / "agents").exists() else []
|
||||
ref_commands = list((REFERENCE_DIR / "commands").rglob("*.md")) if (REFERENCE_DIR / "commands").exists() else []
|
||||
print(f"\nReference directory:")
|
||||
print(f" Agents: {len(ref_agents)} files")
|
||||
print(f" Commands: {len(ref_commands)} files")
|
||||
print(f" Total: {len(ref_agents) + len(ref_commands)} files")
|
||||
|
||||
print(f"\nTotal commands indexed: {len(all_commands)}")
|
||||
print(f"\nBy category:")
|
||||
for cat in sorted(by_category.keys()):
|
||||
total = sum(len(cmds) for cmds in by_category[cat].values())
|
||||
@@ -407,5 +463,9 @@ def main():
|
||||
|
||||
print(f"\nEssential commands: {len(essential)}")
|
||||
|
||||
print("\n=== Index Rebuild Complete ===")
|
||||
print(f"Reference: {REFERENCE_DIR}")
|
||||
print(f"Index: {INDEX_DIR}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user