#!/bin/bash # MarkBase完整展示腳本 echo "=== MarkBase功能展示開始 ===" echo "" #顏色定義 GREEN='\033[0;32m' BLUE='\033[0;34m' NC='\033[0m' # No Color # 1.建構專案 echo -e "${BLUE}Step 1:建構專案...${NC}" cargo build --release echo -e "${GREEN}✅建構完成${NC}" echo "" # 2.執行測試 echo -e "${BLUE}Step 2:執行測試...${NC}" cargo test --all 2>&1 | grep -E "test result" | tail -1 echo -e "${GREEN}✅測試完成${NC}" echo "" # 3.代碼品質檢查 echo -e "${BLUE}Step 3:代碼品質檢查...${NC}" cargo fmt -- --check cargo clippy --all-targets 2>&1 | grep -E "warning.*generated" | tail -3 echo -e "${GREEN}✅代碼品質檢查完成${NC}" echo "" # 4.檔案樹API展示 echo -e "${BLUE}Step 4:檔案樹API展示...${NC}" echo "取得檔案樹(demo.sqlite):" curl -s http://localhost:11438/api/v2/tree/demo | jq '.nodes | length' echo "" echo "顯示模式列表:" curl -s http://localhost:11438/api/v2/modes | jq '.modes[].name' echo -e "${GREEN}✅檔案樹API展示完成${NC}" echo "" # 5.音訊功能展示(macOS) echo -e "${BLUE}Step 5:音訊功能展示(macOS)...${NC}" echo "音訊裝置列表:" curl -s http://localhost:11438/devices | jq '.output' echo "" echo "當前音量:" curl -s http://localhost:11438/volume | jq '.level' echo -e "${GREEN}✅音訊功能展示完成${NC}" echo "" # 6. Runner狀態檢查 echo -e "${BLUE}Step 6: Runner狀態檢查...${NC}" if [ -f .runner ]; then echo "Runner配置:" cat .runner | jq '{id, name, address, labels}' echo -e "${GREEN}✅ Runner已配置${NC}" else echo "⚠️ Runner未配置" fi echo "" # 7.文檔完整性檢查 echo -e "${BLUE}Step 7:文檔完整性檢查...${NC}" echo "核心文檔:" ls -la README.md AGENTS.md CHANGELOG.md CONTRIBUTING.md | awk '{print $9, $5}' echo "" echo "API文檔:" ls -la docs/api.yaml | awk '{print $9, $5}' echo -e "${GREEN}✅文檔完整${NC}" echo "" # 8.範例檔案檢查 echo -e "${BLUE}Step 8:範例檔案檢查...${NC}" echo "範例檔案:" ls -la examples/*.md | awk '{print $9, $5}' echo "" echo "範例資料庫:" ls -la data/users/demo.sqlite | awk '{print $9, $5}' echo "" echo "緩存檔案:" ls -la data/cache/ | tail -3 echo -e "${GREEN}✅範例檔案完整${NC}" echo "" # 9.測試覆蓋率總結 echo -e "${BLUE}Step 9:測試覆蓋率總結...${NC}" echo "測試檔案:" find tests -name "*.rs" -exec wc -l {} \; | awk '{sum+=$1} END {print "總行數: " sum}' echo "" echo "測試數量:" cargo test --all 2>&1 | grep -E "running.*tests" | grep -o '[0-9]*' | awk '{sum+=$1} END {print "總測試數: " sum}' echo -e "${GREEN}✅測試覆蓋率良好${NC}" echo "" #展示完成總結 echo -e "${GREEN}=== MarkBase功能展示完成 ===${NC}" echo "" echo "展示摘要:" echo " ✅建構成功" echo " ✅測試全部通過" echo " ✅代碼品質良好" echo " ✅ API功能正常" echo " ✅ macOS音訊功能正常" echo " ✅文檔完整" echo " ✅範例檔案完整" echo "" echo "準備執行完整展示,請執行:" echo " cargo run -- display examples/demo_features.md" echo ""