Antigravity Vibe Coding
實戰工作坊

用直覺寫程式,開啟你的 AI 開發之旅。無需深厚程式底子,只需想像力。

./start_learning.sh
user@antigravity:~$

01 / 核心觀念與工具

歡迎來到 Vibe Coding

「Vibe Coding」是一種全新的開發典範,意指「憑藉直覺與感覺來撰寫程式」。

🎯 傳統開發 vs. Vibe Coding
  • 傳統開發:需要精通語法、邏輯與演算法,專注於「如何實作」。
  • Vibe Coding:透過自然語言與 AI 協作,專注於「想要做什麼」與「體驗如何」,而非底層實作細節。
🚀 為什麼選用 Google Antigravity?
  • 原生 AI 整合:不僅是自動補全,而是能理解整個專案脈絡的 AI 助理。
  • Agentic Capabilities:具備自主執行任務的能力(如執行終端機指令、瀏覽網頁)。
  • Global Context:內建專案級知識庫,會隨著開發過程自動累積與學習。
  • Internal Browser (內建瀏覽器):Agent 可直接操控 Chrome 進行網頁測試與資料爬取。
  • Manager View (雙視角協作):獨創 Editor/Manager 雙視角,讓開發者從「寫 Code」升級為「管理 Agent」。

環境建置重點

📦 基礎軟體安裝
  1. Antigravity Editor:請至 官網下載 並安裝適用於您作業系統的版本。首次啟動需登入 Google 帳號。
  2. Git (版本控管):前往 git-scm.com 下載安裝。
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

GitHub CLI (gh):請至 cli.github.com 下載安裝。安裝後執行登入授權:

gh auth login
🐍 程式語言環境 (Python & Node.js)
  • Python:許多 AI 工具與腳本依賴 Python。官網下載 (安裝時請務必勾選 "Add Python to PATH")。
  • Node.js:Web 開發與許多 MCP Server 的執行環境。官網下載 (建議安裝 LTS 版本)。
  • 🛠️ 實用工具 (Pandoc, ffmpeg, yt-dlp)
    • Pandoc:文件轉換神器 (md 轉 docx/pdf)。下載連結
    • ffmpeg:影音處理工具 (影片轉音訊、轉檔)。下載連結
    • yt-dlp:強大的影片下載工具 (用於字幕產生器專案)。GitHub Release

    核心機能

    📝 Rules (規則設定)

    Rules 是指導 AI 行為的準則。

    • Global Rules~/.gemini/GEMINI.md (套用於所有專案)
    • Workspace Rules.agent/rules/*.md (套用於當前專案)

    進階設定支援 Glob Patterns(如 **/*.ts 只對 TypeScript 生效)和 觸發模式(Always On / Model Decision)。

    🔄 Workflow (自動化流程)

    Workflow 是一套預先定義好的 SOP,讓 AI 依照標準步驟執行任務。

    • 專案級.agent/workflows/
    • 全域級~/.gemini/antigravity/workflows/
    ---
    description: 部署網站到 GitHub Pages
    ---
    1. 執行 build 指令
    2. 確認 build 資料夾是否存在
    3. [Turbo] 執行 gh-pages 部署指令
    🔌 MCP (Model Context Protocol)

    MCP 是連接 AI 模型與外部工具的標準協議。

    • Context Resources:讓 AI 讀取外部資料(如資料庫、Notion)。
    • Tools:讓 AI 執行外部動作(如發送 Slack 訊息)。

    自訂 Server 範例 (JSON 設定檔):

    {
      "mcpServers": {
        "my-db": {
          "command": "uvx",
          "args": ["mcp-server-sqlite", "--db-path", "test.db"]
        }
      }
    }
    🧩 Skills (技能建立與管理)

    Skills 是讓 Agent 學會特定技能的機制,類似於為 AI 安裝「應用程式」。

    • 專案級.agent/skills/
    • 全域級~/.gemini/antigravity/skills/

    SKILL.md 結構範例:

    ---
    name: document-converter
    description: Converts Markdown files to PDF using Pandoc.
    ---
    # Instructions
    當使用者想要轉換文件格式時...

    資源推薦:Skills Marketplace (skillsmp.com)

    🤖 Agent Manager

    Antigravity 的核心中樞,透過 Cmd+E (macOS) 或 Ctrl+E (Windows) 喚醒。

    Agent Manager UI
    • Context Aware:自動感知當前編輯的檔案與游標位置。
    • Tools Integration:直接調用終端機、瀏覽器與檔案系統。
    • Background Tasks:在背景執行耗時任務而不卡住編輯器。
    📄 Artifacts (產出物)

    Agent 不只是聊天,而是產出結構化的工作成果。

    task.md
    - [ ] 此檔案用於追蹤任務進度
    - [x] Agent 會自動更新此清單
    - [ ] 確保目標清晰可執行
    implementation_plan.md
    # 技術實作計畫
    ## Proposed Changes
    - 詳細列出將修改的檔案
    - 預先識別潛在風險

    02 / 實戰專案演練

    Vibe Coding 開發流程

    不只是寫 Code,更是系統設計。「想清楚」比「寫得快」更重要。

    📋 Vibe Coding 五部曲
    1. PRD (需求文件):描述「為什麼要做」以及「使用者是誰」。
    2. Spec (規格文件):定義「系統架構」、「資料格式」與「關鍵邏輯」。
    3. Task List (任務清單):將大目標拆解為可執行的小任務 (task.md)。
    4. Implementation Plan (實作計畫):規劃修改哪些檔案、新增哪些功能。
    5. Walkthrough (變更說明):完成後產出說明文件,紀錄做了什麼與如何驗證。

    五大實戰專案

    📁 專案一:資料夾整理腳本 (File Organizer)

    目標:編寫 Python 腳本,自動將雜亂檔案依據副檔名分類。

    Prompt 範例

    請寫一個 Python 腳本,將當前資料夾下的所有檔案依據副檔名分類到對應的子資料夾中。如果不支援的格式則移到 'Others' 資料夾。
    📄 專案二:文件轉換 Skill (File Converter)

    目標:建立一個可重複使用的 Skill,將 Markdown 文件轉換為 DOCX 或 PDF。

    使用 Pandoc

    pandoc readme.md -o output.docx
    pandoc readme.md -o output.pdf --pdf-engine=xelatex
    🌐 專案三:教學網頁製作 (Teaching Website)

    目標:製作一個個人教學網頁,並部署到 GitHub Pages。

    # 建立遠端儲存庫並推送
    gh repo create my-website --public --source=.
    git add .
    git commit -m "Initial commit"
    git push -u origin main
    📊 專案四:YT 頻道分析報告 (Channel Analysis)

    目標:使用 Browser Subagent 自動瀏覽 YouTube 頻道,抓取影片數據並產出 HTML 報告。

    Prompt 範例

    請前往『Antigravity 官方頻道』,抓取最近 10 部影片的標題與觀看次數,並找出一週內觀看數最高的影片,整理成一份包含長條圖的 HTML 報告。
    🎬 專案五:YouTube 字幕產生器 (Subtitle Generator)

    目標:輸入 YouTube 連結,自動下載影片、轉檔音訊、並使用 Whisper 模型生成 SRT 字幕檔。

    核心步驟

    1. 使用 yt-dlp 下載音訊。
    2. 呼叫 Groq API (Whisper) 進行語音轉文字。
    3. 將回應格式轉換為標準 SRT 時間軸格式。
    # 使用 yt-dlp 下載音訊
    yt-dlp -x --audio-format mp3 "YOUR_YOUTUBE_URL"