Skip to main content
Glama

VibeCoding System

by Zenobia000
create-enhanced-project.cjs38.7 kB
#!/usr/bin/env node /** * VibeCoding Enhanced Project Structure Creator * 🚀 一鍵創建完整的 VibeCoding 增強專案結構 * 包含專業模板、開發指南、測試策略、部署指南 */ const fs = require('fs-extra'); const path = require('path'); console.log('🚀 VibeCoding Enhanced Project Structure Creator'); console.log('正在創建完整的專案開發結構...\n'); // 獲取目標目錄(當前目錄) const projectPath = process.cwd(); const projectName = path.basename(projectPath); // 📁 完整的專案結構定義(只包含目錄) const PROJECT_STRUCTURE = { // === 開發階段資料夾 === '0_discovery': { 'conversations': {}, 'clarifications': {}, 'requirements': {} }, '1_design': { 'architecture': {}, 'api-contracts': {}, 'flow-diagrams': {} }, '2_implementation': { 'src': {}, 'tests': {}, 'scripts': {} }, '3_validation': { 'test-reports': {}, 'quality-metrics': {}, 'benchmarks': {} }, '4_deployment': { 'environments': {}, 'ci-cd': {}, 'monitoring': {} }, // === 知識庫 === 'knowledge-base': { 'patterns': {}, 'solutions': {}, 'retrospectives': {}, 'decisions': {} }, // === VibeCoding 專用文件夾 === '.vibecoding': { 'conversations': {}, 'decisions': {}, 'insights': {} }, // === 專案檔案 === 'docs': {}, 'config': {} }; // 📄 專案模板檔案 const TEMPLATE_FILES = { 'README.md': `# ${projectName} ## 🚀 專案概述 使用 VibeCoding 系統開發的專案,採用對話驅動開發模式。 ## 📋 開發階段 ### 🔍 0_discovery - 需求發現 - 專案澄清和需求收集 - 用戶故事定義 - 技術約束分析 ### 🎨 1_design - 系統設計 - 架構設計 - API 規格定義 - 資料庫設計 ### 💻 2_implementation - 開發實作 - 源代碼開發 - 單元測試 - 代碼審查 ### 🧪 3_validation - 測試驗證 - 功能測試 - 性能測試 - 安全檢查 ### 🚀 4_deployment - 部署上線 - 環境配置 - CI/CD 設定 - 監控告警 ## 🛠️ VibeCoding 快速開發 \`\`\`bash # 🆕 簡潔指令 (推薦) @vibe start "${projectName}" # 開始專案澄清 @vibe prd # 生成產品需求文檔 @vibe code "核心功能" # 生成代碼 @vibe test # 執行測試 @vibe deploy # 部署應用 # 📝 完整指令 (專業用戶) @vibecoding-context-manager start-clarification @vibecoding-code-generator generate-code @vibecoding-test-validator run-tests @vibecoding-deployment-manager deploy-service \`\`\` ## 📚 開發資源 - **VibeCoding 工具參考**: [VIBECODING_TOOLS_REFERENCE.md](https://github.com/vibecoding/vibecoding-template/blob/main/VIBECODING_TOOLS_REFERENCE.md) - **IDE 設定指南**: [IDE_SETUP_GUIDE.md](https://github.com/vibecoding/vibecoding-template/blob/main/IDE_SETUP_GUIDE.md) - **完整開發示範**: [DEMO_FINANCIAL_PLANNER.md](https://github.com/vibecoding/vibecoding-template/blob/main/DEMO_FINANCIAL_PLANNER.md) ## 🎯 快速開始 1. **配置 VibeCoding 環境**(如果尚未配置) 2. **在 Cursor 或 Claude Desktop 中開啟此專案** 3. **使用 \`@vibe start "${projectName}"\` 開始開發** 4. **跟隨 AI 引導完成整個開發流程** --- *使用 VibeCoding Enhanced Project Creator 自動生成 • [了解更多](https://github.com/vibecoding/vibecoding-template)*`, '.gitignore': `# Dependencies node_modules/ npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* # Build outputs dist/ build/ *.d.ts *.js *.js.map # Keep important JS files (add as needed) !scripts/*.js !*.config.js # Environment variables .env .env.local .env.development.local .env.test.local .env.production.local # IDE files .vscode/ .idea/ *.swp *.swo *~ # OS generated files .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes ehthumbs.db Thumbs.db # Logs logs/ *.log # Runtime data pids/ *.pid *.seed *.pid.lock # Coverage directory coverage/ .nyc_output # Temporary files tmp/ temp/ # VibeCoding specific test-project/ debug.txt`, 'package.json': `{ "name": "${projectName.toLowerCase().replace(/\s+/g, '-')}", "version": "1.0.0", "description": "使用 VibeCoding 開發的專案", "main": "src/index.js", "type": "module", "scripts": { "start": "node src/index.js", "dev": "node --watch src/index.js", "test": "echo \\"請使用 @vibe test 執行測試\\" && exit 1", "build": "echo \\"請使用 @vibe code 生成代碼\\" && exit 1", "deploy": "echo \\"請使用 @vibe deploy 部署應用\\" && exit 1" }, "keywords": [ "vibecoding", "ai-driven-development", "conversation-driven", "mvp", "poc" ], "author": "", "license": "MIT", "dependencies": {}, "devDependencies": {}, "vibecoding": { "version": "1.0.0", "created": "${new Date().toISOString()}", "structure": "enhanced" } }`, '0_discovery/README.md': `# 📋 Discovery Phase - 需求發現階段 ## 🎯 階段目標 - 🔍 收集和澄清專案需求 - 📝 定義專案範圍和目標 - ⚠️ 識別技術約束和風險 - 👥 了解目標用戶和使用情境 ## 🛠️ VibeCoding 工具使用 ### 🆕 簡潔指令 (推薦) \`\`\`bash # 開始專案澄清 @vibe start "${projectName}" # 回答澄清問題 @vibe ask "你的回答內容" # 生成產品需求文檔 @vibe prd # 獲取 AI 洞察 @vibe insight "如何優化需求收集?" \`\`\` ### 📝 完整指令 (專業用戶) \`\`\`bash # 開始專案澄清流程 @vibecoding-context-manager start-clarification --projectName "${projectName}" # 提供澄清回答 @vibecoding-context-manager provide-clarification --questionIndex 0 --answer "回答內容" # 生成 PRD @vibecoding-context-manager generate-prd \`\`\` ## 📁 資料夾結構說明 - **conversations/**: 與利害關係人的對話記錄 - **clarifications/**: 需求澄清問題與回答 - **requirements/**: 整理後的需求文檔和用戶故事 ## ✅ 完成檢查清單 - [ ] 完成 7 個澄清問題 - [ ] 生成產品需求文檔 (PRD) - [ ] 定義核心用戶故事 - [ ] 識別技術風險和限制 - [ ] 確定專案成功指標`, '1_design/README.md': `# 🎨 Design Phase - 設計階段 ## 🎯 階段目標 - 🏗️ 設計系統整體架構 - 📡 定義 API 規格和介面 - 🗄️ 設計資料庫結構 - 🎨 規劃使用者介面 ## 🛠️ VibeCoding 工具使用 ### 🆕 簡潔指令 (推薦) \`\`\`bash # 生成實施計劃 @vibe plan # 設計系統架構 @vibe arch "微服務架構,使用 React + Node.js" # 生成 API 設計 @vibe api "用戶管理和認證系統" # 資料庫設計 @vibe db "用戶、商品、訂單表結構" \`\`\` ### 📝 完整指令 (專業用戶) \`\`\`bash # 生成實施計劃 @vibecoding-context-manager generate-impl-plan --projectId "xxx" # 生成代碼架構 @vibecoding-code-generator generate-code --requirements "系統架構" --codeType "service" \`\`\` ## 📁 資料夾結構說明 - **architecture/**: 系統架構文檔和圖表 - **api-contracts/**: API 規格和合約定義 - **flow-diagrams/**: 系統流程圖和使用者流程 ## ✅ 完成檢查清單 - [ ] 完成系統架構設計 - [ ] 定義主要 API 接口 - [ ] 設計資料庫結構 - [ ] 創建系統流程圖 - [ ] 確定技術選型`, '2_implementation/README.md': `# 💻 Implementation Phase - 實作階段 ## 🎯 階段目標 - 🛠️ 撰寫核心程式碼 - 📡 實作 API 和服務 - 🔗 整合第三方服務 - 🧪 開發單元測試 ## 🛠️ VibeCoding 工具使用 ### 🆕 簡潔指令 (推薦) \`\`\`bash # 生成核心代碼 @vibe code "用戶認證系統" # 生成 React 組件 @vibe comp "用戶個人資料頁面" # 生成 API 接口 @vibe api "商品管理 CRUD API" # 代碼審查 @vibe review "[你的代碼]" # 重構代碼 @vibe refactor "提升性能和可讀性" \`\`\` ### 📝 完整指令 (專業用戶) \`\`\`bash # 生成代碼 @vibecoding-code-generator generate-code --requirements "功能需求" --language "typescript" --framework "react" # 代碼審查 @vibecoding-code-generator code-review --code "[代碼內容]" --focusAreas "['security', 'performance']" # 重構代碼 @vibecoding-code-generator refactor-code --code "[代碼]" --refactorType "performance" \`\`\` ## 📁 資料夾結構說明 - **src/**: 源代碼檔案 - **tests/**: 測試代碼和測試策略 - **scripts/**: 建構和部署腳本 ## ✅ 完成檢查清單 - [ ] 完成核心功能開發 - [ ] 實作所有 API 接口 - [ ] 撰寫單元測試 - [ ] 完成代碼審查 - [ ] 處理錯誤和異常情況`, '3_validation/README.md': `# 🧪 Validation Phase - 驗證階段 ## 🎯 階段目標 - 🧪 執行各種類型的測試 - 📊 進行代碼品質檢查 - ⚡ 評估系統性能 - 🔒 執行安全性檢查 ## 🛠️ VibeCoding 工具使用 ### 🆕 簡潔指令 (推薦) \`\`\`bash # 執行測試 @vibe test # 檢查測試覆蓋率 @vibe cover # 生成測試報告 @vibe report # 性能測試 @vibe perf "API 負載測試" # 安全掃描 @vibe scan \`\`\` ### 📝 完整指令 (專業用戶) \`\`\`bash # 執行測試 @vibecoding-test-validator run-tests --projectPath "." --testType "all" # 驗證覆蓋率 @vibecoding-test-validator validate-coverage --projectPath "." --threshold "{'lines': 80}" # 性能測試 @vibecoding-test-validator performance-test --projectPath "." --testSuite "api" # 安全掃描 @vibecoding-dependency-tracker security-scan --projectPath "." --severity "moderate" \`\`\` ## 📁 資料夾結構說明 - **test-reports/**: 測試執行報告和結果 - **quality-metrics/**: 代碼品質指標和分析 - **benchmarks/**: 性能基準測試結果 ## ✅ 完成檢查清單 - [ ] 單元測試覆蓋率 > 80% - [ ] 整合測試全部通過 - [ ] 性能測試達到要求 - [ ] 安全掃描無高風險漏洞 - [ ] 代碼品質符合標準`, '4_deployment/README.md': `# 🚀 Deployment Phase - 部署階段 ## 🎯 階段目標 - ⚙️ 配置部署環境 - 🔄 設定 CI/CD 流水線 - 📊 建立監控和日誌 - 🚀 執行正式部署 ## 🛠️ VibeCoding 工具使用 ### 🆕 簡潔指令 (推薦) \`\`\`bash # 配置部署環境 @vibe deploy # 設定監控 @vibe monitor # 設定告警 @vibe alert # 回滾部署 @vibe rollback "v1.0.0" \`\`\` ### 📝 完整指令 (專業用戶) \`\`\`bash # 部署服務 @vibecoding-deployment-manager deploy-service --projectPath "." --environment "production" --platform "docker" # 設定監控 @vibecoding-deployment-manager setup-monitoring --projectPath "." --monitoringType "advanced" # 配置告警 @vibecoding-deployment-manager configure-alerts --projectPath "." --channels "['email', 'slack']" # 回滾部署 @vibecoding-deployment-manager rollback-deployment --projectPath "." --environment "production" --version "v1.0.0" \`\`\` ## 📁 資料夾結構說明 - **environments/**: 不同環境的配置檔案 - **ci-cd/**: CI/CD 流水線配置 - **monitoring/**: 監控和告警設定 ## ✅ 完成檢查清單 - [ ] 配置生產環境 - [ ] 設定 CI/CD 流水線 - [ ] 建立監控儀表板 - [ ] 配置告警規則 - [ ] 完成正式部署 - [ ] 驗證部署成功`, // === 模板檔案 === '0_discovery/clarifications/questions_template.md': `# 需求澄清清單 ## 🔍 VibeCoding 7 問澄清法 基於 VibeCoding 對話式開發理念,我們使用結構化的 7 問澄清法來深入理解您的需求: ### 🎯 問題 1: 核心問題定義 **這個專案主要解決什麼問題?請描述目標用戶和他們遇到的痛點。** *範例回答格式:* > 主要解決中小企業團隊任務分配不清、進度追蹤困難的問題。目標用戶是 10-50 人的團隊領導和成員,他們常常因為溝通不暢導致專案延期。 ### 🎯 問題 2: 核心功能範圍 **這個專案的核心功能有哪些?請列出 3-5 個最重要的功能。** *範例回答格式:* > 1. 任務創建和分配管理 > 2. 進度追蹤和狀態更新 > 3. 團隊協作和評論功能 > 4. 專案報告和統計分析 ### 🎯 問題 3: 技術偏好和約束 **您對技術選型有什麼偏好或限制?(程式語言、框架、部署方式等)** *範例回答格式:* > 偏好使用 React + Node.js,需要支援雲端部署,團隊熟悉 JavaScript 技術棧。 ### 🎯 問題 4: 用戶體驗期望 **您希望用戶在使用這個應用時有什麼樣的體驗?** *範例回答格式:* > 希望介面簡潔直觀,新用戶 5 分鐘內能上手,支援手機和電腦使用。 ### 🎯 問題 5: 規模和性能要求 **預期的用戶規模和性能要求是什麼?** *範例回答格式:* > 初期支援 100 個用戶同時使用,頁面載入時間不超過 3 秒。 ### 🎯 問題 6: 時程和資源限制 **專案的時間限制和可用資源是什麼?** *範例回答格式:* > 希望 3 個月內完成 MVP,有 2-3 名開發人員可投入。 ### 🎯 問題 7: 成功標準定義 **如何衡量這個專案的成功?有什麼具體的指標嗎?** *範例回答格式:* > 成功標準:團隊任務完成率提升 30%,用戶滿意度達到 4.5/5 分,日活躍用戶達到 80%。 ## 📋 澄清完成檢查清單 - [ ] 核心問題和用戶痛點已明確 - [ ] 主要功能範圍已界定 - [ ] 技術約束和偏好已確認 - [ ] 用戶體驗期望已理解 - [ ] 性能和規模要求已確定 - [ ] 時程和資源限制已明確 - [ ] 成功標準已定義 ## 🎯 下一步行動 完成澄清後,請使用 \`@vibe prd\` 生成產品需求文檔 (PRD)。 --- *遵循 VibeCoding 對話驅動開發理念,通過結構化提問確保需求的完整性和準確性。*`, '0_discovery/requirements/user_stories_template.md': `# 用戶故事文檔 ## 🎯 VibeCoding 用戶故事撰寫指南 基於對話式開發的理念,用戶故事是連接用戶需求和技術實現的橋樑。 ## 👤 用戶角色定義 ### 主要角色 (Primary Personas) **請根據專案需求定義主要用戶角色** 範例: - **專案管理者 (Project Manager)** - 需要總覽所有任務和進度 - 負責分配任務和設定截止日期 - 需要生成報告和統計數據 - **團隊成員 (Team Member)** - 查看分配給自己的任務 - 更新任務狀態和進度 - 與其他成員協作討論 ## 📝 用戶故事撰寫格式 ### 標準格式 **作為一個** [用戶角色],**我希望** [功能描述],**這樣** [業務價值]。 ### 增強格式(推薦) \`\`\`markdown ## Story: [故事標題] **作為一個** [用戶角色] **我希望** [功能描述] **這樣** [業務價值] ### 驗收標準 (Acceptance Criteria) **Given** [前置條件] **When** [用戶行為] **Then** [預期結果] ### 定義完成 (Definition of Done) - [ ] 功能開發完成 - [ ] 單元測試通過 - [ ] 集成測試通過 - [ ] 代碼審查完成 - [ ] 用戶驗收測試通過 ### 估算 - **故事點**: [1-13] - **優先級**: [High/Medium/Low] - **依賴**: [相關故事或技術依賴] ``` ## 🎯 用戶故事範例 ### Epic 1: 用戶管理 **目標**: 提供完整的用戶註冊、登入和個人資料管理功能 #### Story 1.1: 用戶註冊 **作為一個** 新用戶 **我希望** 能夠快速註冊帳號 **這樣** 我就能開始使用系統的所有功能 **驗收標準:** - **Given** 我是新用戶訪問註冊頁面 - **When** 我填寫有效的 email、密碼和基本資訊 - **Then** 系統應該創建我的帳號並發送驗證郵件 **定義完成:** - [ ] 註冊表單驗證功能完成 - [ ] 郵件驗證機制實現 - [ ] 密碼安全性檢查 - [ ] 用戶資料加密存儲 - [ ] 註冊流程測試完成 **估算**: 5 點 | **優先級**: High #### Story 1.2: 用戶登入 **作為一個** 註冊用戶 **我希望** 能夠安全地登入系統 **這樣** 我就能訪問我的個人資料和任務 **驗收標準:** - **Given** 我有有效的帳號 - **When** 我輸入正確的 email 和密碼 - **Then** 系統應該驗證我的身份並導向主頁面 **定義完成:** - [ ] JWT 認證機制實現 - [ ] 登入狀態持久化 - [ ] 錯誤處理和用戶反饋 - [ ] 安全性測試完成 **估算**: 3 點 | **優先級**: High ## 📊 故事管理 ### 優先級分類 - **Must Have (高優先級)**: 核心功能,MVP 必需 - **Should Have (中優先級)**: 重要但非關鍵功能 - **Could Have (低優先級)**: 增值功能,時間允許時實現 - **Won't Have (暫不實現)**: 此版本不考慮的功能 ### 故事狀態 - **Backlog**: 待開發 - **In Progress**: 開發中 - **Review**: 代碼審查中 - **Testing**: 測試中 - **Done**: 已完成 ## 🔄 持續優化 ### 故事回顧 每個 Sprint 結束後,回顧用戶故事的實現情況: - 哪些故事按時完成? - 哪些故事遇到了阻礙? - 驗收標準是否清晰明確? - 估算是否準確? ### 用戶反饋整合 - 收集真實用戶的使用反饋 - 根據反饋調整現有故事 - 識別新的用戶需求和故事 --- *遵循 VibeCoding 理念:用戶故事不只是需求文檔,更是團隊溝通和協作的工具。*`, '1_design/architecture/system_architecture.md': `# 系統架構設計文檔 ## 🎯 架構概覽 基於 VibeCoding 設計階段的指導原則,本系統採用現代化的分層架構設計,確保可擴展性、可維護性和高性能。 ## 🏗️ 系統架構圖 \\\`\\\`\\\` ┌─────────────────────────────────────┐ │ 前端層 (React) │ ├─────────────────────────────────────┤ │ API 閘道層 │ ├─────────────────────────────────────┤ │ 業務邏輯層 (Express Services) │ ├─────────────────────────────────────┤ │ 資料訪問層 (Repository Pattern) │ ├─────────────────────────────────────┤ │ 資料庫層 (PostgreSQL) │ └─────────────────────────────────────┘ \\\`\\\`\\\` ## 🛠️ 技術棧選擇 ### 前端技術 - **框架**: React 18 + TypeScript - **狀態管理**: Redux Toolkit - **UI 框架**: Ant Design + Tailwind CSS - **建構工具**: Vite - **測試**: Jest + React Testing Library ### 後端技術 - **運行環境**: Node.js 18+ - **Web 框架**: Express.js - **資料庫**: PostgreSQL 14+ - **緩存**: Redis - **認證**: JWT + bcrypt - **API 文檔**: Swagger/OpenAPI ### 基礎設施 - **容器化**: Docker + Docker Compose - **雲端平台**: AWS/Azure/GCP - **CI/CD**: GitHub Actions - **監控**: Prometheus + Grafana - **日誌**: ELK Stack ## 📊 架構設計原則 ### 1. 職責分離 (Separation of Concerns) - 每層有明確的職責界線 - 避免跨層直接調用 - 使用依賴注入管理組件關係 ### 2. 可測試性 (Testability) - Repository Pattern 封裝資料存取 - 業務邏輯與基礎設施分離 - 支援單元測試和整合測試 ### 3. 可擴展性 (Scalability) - 水平擴展支援 - 微服務架構準備 - 資料庫讀寫分離 ### 4. 安全性 (Security) - API 層統一認證授權 - 資料傳輸加密 (HTTPS) - 輸入驗證和 SQL 注入防護 - CORS 和 CSRF 保護 ## 🔧 關鍵設計決策 ### API 設計策略 - RESTful API 設計原則 - 統一的錯誤處理機制 - API 版本管理策略 - 請求限流和快取策略 ### 資料庫設計策略 - 正規化設計減少資料冗餘 - 適當的索引優化查詢性能 - 資料備份和災難恢復計劃 - 資料遷移和版本控制 ### 前端架構策略 - 組件化設計促進代碼重用 - 狀態管理最佳實踐 - 路由和權限控制 - 性能優化和懶載入 ## 📈 性能考量 ### 前端性能 - 代碼分割和懶載入 - 圖片優化和 CDN - 瀏覽器緩存策略 - Bundle 大小優化 ### 後端性能 - 資料庫連接池管理 - Redis 緩存策略 - API 回應時間優化 - 非同步處理機制 ### 系統監控 - 應用性能監控 (APM) - 錯誤追蹤和日誌分析 - 系統資源監控 - 用戶體驗監控 ## 🔄 部署架構 ### 開發環境 - Docker Compose 本地開發 - 熱重載和即時編譯 - 模擬資料和測試工具 ### 測試環境 - 自動化部署流水線 - 整合測試和 E2E 測試 - 性能測試和負載測試 ### 生產環境 - 容器化部署 (Kubernetes) - 負載平衡和高可用性 - 自動擴展和監控告警 - 藍綠部署和滾動更新 --- *本架構設計遵循 VibeCoding 設計階段的最佳實踐,確保系統的可維護性和可擴展性。*`, '2_implementation/tests/test-strategy.md': `# 🧪 測試策略 ## 📊 測試金字塔 1. **單元測試** (70%): 測試個別函數和組件 2. **整合測試** (20%): 測試組件間交互 3. **端到端測試** (10%): 測試完整用戶流程 ## 🛠️ 工具選擇 - **Jest/Mocha**: 單元測試 - **Cypress/Playwright**: E2E測試 - **Supertest**: API 測試 ## ✅ 測試檢查清單 - [ ] 測試覆蓋率 > 80% - [ ] 所有 API 端點測試 - [ ] 關鍵用戶流程測試 - [ ] 錯誤處理測試`, '4_deployment/environments/deployment-guide.md': `# 🚀 部署指南 ## 🎯 部署策略概覽 基於 VibeCoding 部署階段的最佳實踐,本指南提供完整的部署流程和環境管理策略。 ## 🏗️ 環境分層架構 ### 開發環境 (Development) - **目的**: 本地開發和功能驗證 - **特點**: 快速迭代,完整功能模擬 - **工具**: Docker Compose + 本地資料庫 - **資料**: 模擬資料和測試資料集 ### 測試環境 (Staging) - **目的**: 集成測試和預發布驗證 - **特點**: 生產環境的完整複製 - **工具**: Kubernetes + 雲端資料庫 - **資料**: 脫敏的生產資料副本 ### 生產環境 (Production) - **目的**: 正式服務和用戶訪問 - **特點**: 高可用性和性能優化 - **工具**: Kubernetes + 分散式架構 - **資料**: 真實業務資料 ## 🔄 CI/CD 流水線 ### 持續集成 (CI) \`\`\`yaml # .github/workflows/ci.yml name: Continuous Integration on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - run: npm ci - run: npm run test - run: npm run build - run: npm run test:e2e \`\`\` ### 持續部署 (CD) \`\`\`yaml # .github/workflows/cd.yml name: Continuous Deployment on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - name: Deploy to Staging run: kubectl apply -f k8s/staging/ - name: Run Integration Tests run: npm run test:integration - name: Deploy to Production if: success() run: kubectl apply -f k8s/production/ \`\`\` ## 🐳 容器化部署 ### Dockerfile 最佳實踐 \`\`\`dockerfile # 多階段建構優化映像大小 FROM node:18-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci --only=production FROM node:18-alpine AS runtime WORKDIR /app COPY --from=builder /app/node_modules ./node_modules COPY . . EXPOSE 3000 CMD ["npm", "start"] \`\`\` ### Docker Compose 開發環境 \`\`\`yaml version: '3.8' services: app: build: . ports: - "3000:3000" environment: - NODE_ENV=development - DATABASE_URL=postgresql://user:pass@db:5432/app depends_on: - db - redis db: image: postgres:14 environment: POSTGRES_DB: app POSTGRES_USER: user POSTGRES_PASSWORD: pass volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine ports: - "6379:6379" volumes: postgres_data: \`\`\` ## ☸️ Kubernetes 部署 ### 部署配置 \`\`\`yaml # k8s/deployment.yml apiVersion: apps/v1 kind: Deployment metadata: name: app-deployment spec: replicas: 3 selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: app image: myapp:latest ports: - containerPort: 3000 env: - name: NODE_ENV value: "production" - name: DATABASE_URL valueFrom: secretKeyRef: name: app-secrets key: database-url \`\`\` ### 服務配置 \`\`\`yaml # k8s/service.yml apiVersion: v1 kind: Service metadata: name: app-service spec: selector: app: myapp ports: - port: 80 targetPort: 3000 type: LoadBalancer \`\`\` ## 📊 監控和告警 ### Prometheus 監控配置 \`\`\`yaml # monitoring/prometheus.yml global: scrape_interval: 15s scrape_configs: - job_name: 'app' static_configs: - targets: ['app-service:3000'] metrics_path: '/metrics' \`\`\` ### Grafana 儀表板 - **應用性能**: 回應時間、吞吐量、錯誤率 - **系統資源**: CPU、記憶體、磁碟使用率 - **業務指標**: 用戶活躍度、功能使用統計 ### 告警規則 \`\`\`yaml # alerts/rules.yml groups: - name: app.rules rules: - alert: HighErrorRate expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.1 for: 5m labels: severity: critical annotations: summary: "High error rate detected" \`\`\` ## 🔒 安全性配置 ### SSL/TLS 設定 - 使用 Let's Encrypt 自動化憑證管理 - 強制 HTTPS 重導向 - HSTS 標頭配置 ### 網路安全 - 防火牆規則配置 - VPC 網路隔離 - API 速率限制 ### 資料安全 - 敏感資料加密存儲 - 資料庫連接加密 - 定期安全掃描 ## 📋 部署檢查清單 ### 部署前檢查 - [ ] 所有測試通過 (單元測試、集成測試、E2E 測試) - [ ] 代碼審查完成 - [ ] 安全掃描通過 - [ ] 性能測試達標 - [ ] 資料庫遷移腳本準備 - [ ] 環境變數配置確認 - [ ] 備份計劃確認 ### 部署中監控 - [ ] 部署進度監控 - [ ] 健康檢查通過 - [ ] 日誌監控正常 - [ ] 關鍵功能驗證 - [ ] 性能指標正常 ### 部署後驗證 - [ ] 所有服務正常運行 - [ ] 用戶訪問正常 - [ ] 監控告警配置生效 - [ ] 備份機制運作正常 - [ ] 文檔更新完成 ## 🔄 回滾策略 ### 自動回滾觸發條件 - 健康檢查失敗 - 錯誤率超過閾值 - 關鍵功能不可用 - 性能指標異常 ### 回滾執行步驟 1. 停止當前部署 2. 恢復到上一個穩定版本 3. 驗證回滾結果 4. 通知相關團隊 5. 分析失敗原因 ## 🚀 持續改進 ### 部署指標追蹤 - 部署頻率 - 部署成功率 - 平均修復時間 (MTTR) - 變更失敗率 ### 流程優化 - 定期回顧部署流程 - 自動化程度提升 - 監控告警優化 - 團隊培訓和知識分享 --- *遵循 VibeCoding 部署階段最佳實踐,確保部署的可靠性和可維護性。*`, // === VibeCoding 專用文件 === '.vibecoding/conversations/README.md': `# VibeCoding 對話記錄 ## 🎯 對話驅動開發記錄 本資料夾記錄與 VibeCoding AI 助手的所有重要對話和決策過程。 ### 📁 檔案組織 - \`session-YYYY-MM-DD-HH-MM.md\` - 對話會話記錄 - \`decisions-YYYY-MM-DD.md\` - 重要決策記錄 - \`insights-YYYY-MM-DD.md\` - AI 洞察和建議 ### 🔍 對話記錄格式 \`\`\`markdown # 對話會話 - YYYY-MM-DD HH:MM ## 📋 會話資訊 - **日期**: YYYY-MM-DD HH:MM - **階段**: Discovery/Design/Implementation/Validation/Deployment - **參與者**: 用戶, VibeCoding Assistant - **主題**: [會話主要討論內容] ## 💬 關鍵對話 [記錄重要的對話內容和決策] ## 🎯 行動項目 - [ ] 待完成的任務 - [ ] 需要澄清的問題 - [ ] 下次會話的重點 ## 📝 備註 [其他重要備註] \`\`\``, '.vibecoding/decisions/README.md': `# 技術決策記錄 (ADR) ## 🎯 決策驅動開發 記錄專案中所有重要的技術和設計決策,確保決策過程透明且可追溯。 ### 📋 決策記錄格式 \`\`\`markdown # ADR-001: [決策標題] ## 狀態 提議中 / 已接受 / 已廢棄 / 已取代 ## 背景 [描述需要做決策的背景和問題] ## 決策 [描述具體的決策內容] ## 理由 [說明做出此決策的原因和考量] ## 後果 [描述此決策的正面和負面影響] ## 替代方案 [列出曾經考慮過的其他選項] \`\`\` ### 🔗 相關資源 - [ADR 最佳實踐](https://github.com/joelparkerhenderson/architecture-decision-record) - [VibeCoding 決策指南](https://vibecoding.com/docs/decisions)`, '.vibecoding/insights/README.md': `# AI 洞察和建議 ## 🤖 智能建議記錄 記錄 VibeCoding AI 助手提供的重要洞察、建議和最佳實踐。 ### 📁 檔案組織 - \`insights-YYYY-MM-DD.md\` - 日常洞察記錄 - \`best-practices.md\` - 累積的最佳實踐 - \`lessons-learned.md\` - 經驗教訓總結 ### 🎯 洞察記錄格式 \`\`\`markdown # AI 洞察 - YYYY-MM-DD ## 🔍 問題或挑戰 [描述遇到的問題或挑戰] ## 🤖 AI 建議 [記錄 AI 提供的建議和解決方案] ## 💡 關鍵洞察 [提煉出的關鍵洞察和學習點] ## 🎯 行動計劃 [基於洞察制定的具體行動計劃] ## 📊 影響評估 [評估建議的潛在影響和價值] \`\`\``, 'knowledge-base/patterns/README.md': `# 設計模式和架構模式 ## 🏗️ 可重用的解決方案 記錄專案中使用的設計模式、架構模式和最佳實踐,促進知識重用。 ### 📋 模式分類 - **創建型模式**: 工廠模式、建造者模式、單例模式 - **結構型模式**: 適配器模式、裝飾者模式、外觀模式 - **行為型模式**: 觀察者模式、策略模式、命令模式 - **架構模式**: MVC、MVP、MVVM、分層架構 ### 🎯 模式記錄格式 \`\`\`markdown # [模式名稱] ## 🎯 問題 [描述此模式解決的問題] ## 💡 解決方案 [描述模式的核心解決方案] ## 🔧 實現範例 [提供具體的代碼範例] ## ✅ 適用場景 [說明何時使用此模式] ## ⚠️ 注意事項 [使用此模式的注意事項和限制] \`\`\``, 'knowledge-base/solutions/README.md': `# 解決方案庫 ## 🔧 問題解決方案集 記錄專案開發過程中遇到的問題和對應的解決方案,建立團隊知識庫。 ### 📁 分類組織 - \`frontend/\` - 前端相關解決方案 - \`backend/\` - 後端相關解決方案 - \`database/\` - 資料庫相關解決方案 - \`deployment/\` - 部署相關解決方案 - \`performance/\` - 性能優化解決方案 - \`security/\` - 安全相關解決方案 ### 🎯 解決方案格式 \`\`\`markdown # [問題標題] ## 🔍 問題描述 [詳細描述遇到的問題] ## 🎯 解決方案 [提供具體的解決步驟和代碼] ## 🔧 實現細節 [詳細的實現說明和配置] ## ✅ 驗證方法 [如何驗證解決方案的有效性] ## 📚 相關資源 [相關文檔、工具和參考資料] ## 🏷️ 標籤 [相關的技術標籤和分類] \`\`\``, 'knowledge-base/retrospectives/README.md': `# 專案回顧 ## 🔄 持續改進記錄 記錄專案各階段的回顧總結,促進團隊學習和流程改進。 ### 📅 回顧週期 - **Sprint 回顧**: 每個開發週期結束後 - **階段回顧**: 每個開發階段完成後 - **專案回顧**: 整個專案完成後 ### 🎯 回顧格式 \`\`\`markdown # [階段/Sprint] 回顧 - YYYY-MM-DD ## 📊 數據總結 - **計劃任務**: X 個 - **完成任務**: Y 個 - **完成率**: Z% - **主要成就**: [列出主要成就] ## 🎯 做得好的地方 [列出團隊做得好的方面] ## 🔧 需要改進的地方 [列出需要改進的方面] ## 💡 學到的經驗 [記錄重要的學習和洞察] ## 🎯 下階段行動計劃 [基於回顧制定的改進計劃] ## 📝 其他備註 [其他重要備註和觀察] \`\`\``, 'VIBECODING_WORKFLOW.md': `# VibeCoding 工作流程指南 ## 🎯 對話驅動開發流程 歡迎使用 VibeCoding!本指南將帶您完整體驗對話驅動的開發流程。 ## 🚀 快速開始 ### 1️⃣ 專案初始化 \`\`\`bash # 開始專案澄清對話 @vibe start "${projectName}" # 或使用完整指令 @vibecoding-context-manager start-clarification --projectName "${projectName}" \`\`\` ### 2️⃣ 需求澄清 (Discovery Phase) \`\`\`bash # 回答澄清問題 @vibe ask "您的回答內容" # 生成產品需求文檔 @vibe prd # 獲取 AI 洞察 @vibe insight "如何優化需求收集?" \`\`\` ### 3️⃣ 系統設計 (Design Phase) \`\`\`bash # 生成實施計劃 @vibe plan # 設計系統架構 @vibe arch "微服務架構,使用 React + Node.js" # 設計 API 接口 @vibe api "用戶管理和認證系統" # 設計資料庫 @vibe db "用戶、商品、訂單表結構" \`\`\` ### 4️⃣ 代碼實現 (Implementation Phase) \`\`\`bash # 生成核心代碼 @vibe code "用戶認證系統" # 生成 React 組件 @vibe comp "用戶個人資料頁面" # 代碼審查 @vibe review "[您的代碼]" # 重構優化 @vibe refactor "提升性能和可讀性" \`\`\` ### 5️⃣ 測試驗證 (Validation Phase) \`\`\`bash # 執行測試 @vibe test # 檢查覆蓋率 @vibe cover # 生成測試報告 @vibe report # 性能測試 @vibe perf "API 負載測試" # 安全掃描 @vibe scan \`\`\` ### 6️⃣ 部署上線 (Deployment Phase) \`\`\`bash # 配置部署 @vibe deploy # 設定監控 @vibe monitor # 配置告警 @vibe alert # 回滾部署 @vibe rollback "v1.0.0" \`\`\` ## 📋 階段檢查清單 ### ✅ Discovery Phase 完成標準 - [ ] 完成 7 個澄清問題 - [ ] 生成產品需求文檔 (PRD) - [ ] 定義核心用戶故事 - [ ] 識別技術風險和限制 - [ ] 確定專案成功指標 ### ✅ Design Phase 完成標準 - [ ] 完成系統架構設計 - [ ] 定義主要 API 接口 - [ ] 設計資料庫結構 - [ ] 創建系統流程圖 - [ ] 確定技術選型 ### ✅ Implementation Phase 完成標準 - [ ] 完成核心功能開發 - [ ] 實作所有 API 接口 - [ ] 撰寫單元測試 - [ ] 完成代碼審查 - [ ] 處理錯誤和異常情況 ### ✅ Validation Phase 完成標準 - [ ] 單元測試覆蓋率 > 80% - [ ] 整合測試全部通過 - [ ] 性能測試達到要求 - [ ] 安全掃描無高風險漏洞 - [ ] 代碼品質符合標準 ### ✅ Deployment Phase 完成標準 - [ ] 配置生產環境 - [ ] 設定 CI/CD 流水線 - [ ] 建立監控儀表板 - [ ] 配置告警規則 - [ ] 完成正式部署 - [ ] 驗證部署成功 ## 🎯 最佳實踐 ### 💬 對話技巧 1. **明確表達需求**: 提供具體、詳細的描述 2. **積極回饋**: 及時回應 AI 的澄清問題 3. **迭代改進**: 基於 AI 建議持續優化 4. **記錄決策**: 保存重要的對話和決策記錄 ### 📝 文檔管理 1. **及時更新**: 保持文檔與實際開發同步 2. **結構化組織**: 使用清晰的資料夾結構 3. **版本控制**: 追蹤文檔的變更歷史 4. **知識分享**: 與團隊成員分享重要洞察 ### 🔄 持續改進 1. **定期回顧**: 每個階段結束後進行回顧 2. **收集反饋**: 聽取團隊和用戶的意見 3. **優化流程**: 基於經驗改進工作流程 4. **知識積累**: 建立團隊知識庫 ## 🚀 進階功能 ### 🤖 AI 洞察 使用 \`@vibe insight\` 獲取針對性的建議: - 技術選型建議 - 架構設計優化 - 性能改進方案 - 安全最佳實踐 ### 📊 專案分析 定期使用分析功能: - 依賴關係分析 - 代碼品質評估 - 性能基準測試 - 安全漏洞掃描 ### 🔗 整合工具 與其他工具整合: - Git 版本控制 - CI/CD 流水線 - 監控和告警系統 - 專案管理工具 --- *享受 VibeCoding 帶來的智能開發體驗!有任何問題請使用 \`@vibe insight\` 獲取幫助。*` }; // 🚀 主要執行函數 async function createEnhancedProject() { try { console.log(`📁 正在建立專案結構於: ${projectPath}`); console.log(`📝 專案名稱: ${projectName}\n`); // 建立目錄結構 console.log('📁 建立目錄結構...'); await createDirectoryStructure(projectPath, PROJECT_STRUCTURE); // 建立模板檔案 console.log('📄 建立模板檔案...'); await createTemplateFiles(projectPath, TEMPLATE_FILES); // 顯示成功訊息 displaySuccessMessage(); } catch (error) { console.error('❌ 建立專案結構時發生錯誤:', error.message); process.exit(1); } } // 遞迴建立目錄結構 async function createDirectoryStructure(basePath, structure) { for (const [key, value] of Object.entries(structure)) { const dirPath = path.join(basePath, key); await fs.ensureDir(dirPath); if (typeof value === 'object' && Object.keys(value).length > 0) { await createDirectoryStructure(dirPath, value); } } } // 建立模板檔案 async function createTemplateFiles(basePath, files) { for (const [filePath, content] of Object.entries(files)) { const fullPath = path.join(basePath, filePath); await fs.ensureDir(path.dirname(fullPath)); await fs.writeFile(fullPath, content, 'utf8'); } } // 顯示成功訊息和下一步指引 function displaySuccessMessage() { console.log('\n🎉 VibeCoding Enhanced Project Structure 建立完成!'); console.log('\n✅ 已自動創建:'); console.log(' 📁 5個開發階段資料夾 + 完整子資料夾結構'); console.log(' 📄 專業模板和開發指南'); console.log(' 🧪 測試策略和部署指南'); console.log(' 📋 README.md 和配置檔案'); console.log(' 🚀 VibeCoding 快速開發指引'); console.log('\n🎯 下一步:'); console.log(` 1. 在 Cursor 或 Claude Desktop 中開啟專案`); console.log(` 2. 使用 @vibe start "${projectName}" 開始開發`); console.log(` 3. 跟隨 AI 引導完成整個開發流程`); console.log('\n📚 更多資源:'); console.log(' • VibeCoding 工具參考: https://github.com/vibecoding/vibecoding-template/blob/main/VIBECODING_TOOLS_REFERENCE.md'); console.log(' • IDE 設定指南: https://github.com/vibecoding/vibecoding-template/blob/main/IDE_SETUP_GUIDE.md'); console.log(' • 完整開發示範: https://github.com/vibecoding/vibecoding-template/blob/main/DEMO_FINANCIAL_PLANNER.md'); console.log('\n🚀 開始享受 AI 驅動的對話式開發體驗!'); } // 執行腳本 createEnhancedProject();

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zenobia000/vibeCoding-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server