🤖

自動化腳本實作

Part 7:用 Claude CLI 打造自動化工作流程

Bash 腳本 Python 腳本 排程任務 工作流程

📜 實作:Bash 自動化腳本

🖥️ 每日程式碼報告腳本#!/bin/bash # daily-report.sh echo "📊 每日程式碼報告 - $(date +%Y-%m-%d)" echo "================================" # 統計今日修改的檔案 git diff --stat HEAD~1 | claude -p "簡要說明今天的程式碼變更" # 分析待辦事項 grep -r "TODO\|FIXME" --include="*.py" . | claude -p "整理這些待辦項目,按優先級排序"

🐍 實作:Python 自動化腳本

🖥️ 自動程式碼審查import subprocess import sys def code_review(file_path): # 讀取檔案內容 with open(file_path, 'r') as f: code = f.read() # 使用 Claude 進行審查 prompt = f"請審查以下程式碼,指出問題並提供改善建議:\n{code}" result = subprocess.run( ['claude', '-p', prompt], capture_output=True, text=True ) print(result.stdout) if __name__ == "__main__": code_review(sys.argv[1])

📧 實作:自動生成報告

🖥️ 專案進度報告#!/bin/bash # generate-report.sh PROJECT_DIR="/path/to/project" REPORT_FILE="weekly-report-$(date +%Y%m%d).md" cd $PROJECT_DIR # 收集資訊 echo "# 週報 $(date +%Y-%m-%d)" > $REPORT_FILE echo "" >> $REPORT_FILE # Git 活動摘要 git log --since="1 week ago" --oneline | \ claude -p "將這些 commit 整理成週報格式" >> $REPORT_FILE # 程式碼品質分析 echo -e "\n## 程式碼品質" >> $REPORT_FILE find . -name "*.py" -exec wc -l {} + | \ claude -p "分析程式碼行數並給建議" >> $REPORT_FILE echo "報告已生成: $REPORT_FILE"

⏰ 實作:排程自動化

🖥️ 設定 Cron 排程 (Linux/macOS)# 編輯 crontab crontab -e # 每天早上 9 點執行每日報告 0 9 * * * /path/to/daily-report.sh >> /var/log/daily-report.log 2>&1 # 每週一產生週報 0 10 * * 1 /path/to/weekly-report.sh >> /var/log/weekly-report.log 2>&1
🖥️ Windows 排程工作# 使用 PowerShell 建立排程工作 $action = New-ScheduledTaskAction -Execute "powershell.exe" ` -Argument "-File C:\scripts\daily-report.ps1" $trigger = New-ScheduledTaskTrigger -Daily -At 9am Register-ScheduledTask -TaskName "DailyReport" -Action $action -Trigger $trigger

🔄 實作:CI/CD 整合

🖥️ GitHub Actions 整合# .github/workflows/code-review.yml name: AI Code Review on: [pull_request] jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install Claude CLI run: npm install -g @anthropic-ai/claude-code - name: Review Changed Files env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} run: | git diff origin/main...HEAD | claude -p "審查這些變更"

📊 實作:監控腳本

🖥️ 系統監控告警#!/bin/bash # monitor.sh # 檢查磁碟使用率 DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | tr -d '%') if [ $DISK_USAGE -gt 80 ]; then df -h | claude -p "磁碟使用率超過 80%,分析情況並給出清理建議" | \ mail -s "⚠️ 磁碟警告" admin@example.com fi # 檢查錯誤日誌 ERROR_COUNT=$(grep -c "ERROR" /var/log/app.log) if [ $ERROR_COUNT -gt 10 ]; then tail -50 /var/log/app.log | claude -p "分析這些錯誤" | \ mail -s "⚠️ 錯誤警告" admin@example.com fi

🛠️ 實作:開發工具腳本

🖥️ 快速建立新功能#!/bin/bash # new-feature.sh FEATURE_NAME=$1 if [ -z "$FEATURE_NAME" ]; then echo "用法: ./new-feature.sh " exit 1 fi # 建立分支 git checkout -b feature/$FEATURE_NAME # 使用 Claude 生成樣板 claude -p "為名為 $FEATURE_NAME 的功能生成: 1. 基本的模組結構 2. 測試檔案模板 3. README 說明" echo "✅ 功能分支已建立: feature/$FEATURE_NAME"
🎓

Part 7 總結

✅ 你學會了

  • Bash 自動化腳本
  • Python 自動化腳本
  • 自動生成報告
  • 排程任務設定
  • CI/CD 整合
  • 監控腳本

📝 回家作業

  • 寫一個每日報告腳本
  • 建立程式碼審查自動化
  • 設定一個排程任務
  • 整合到現有工作流程
下一單元:Part 8 - Git 整合實作