← ClaudeAtlas

generate-gitignore-by-techstacklisted

從 github/gitignore 下載對應技術棧的 .gitignore 範本,合併並針對當前專案調整。
CloudyWing/ai-dotfiles · ★ 0 · Code & Development · score 76
Install: claude install-skill CloudyWing/ai-dotfiles
# 產生或更新 .gitignore ## 執行步驟 ### 1. 偵測技術棧 掃描專案根目錄,識別使用的語言與工具(與 `generate-editorconfig-by-techstack` 採用相同偵測邏輯): | 偵測依據 | 對應 gitignore 範本 | | --- | --- | | `*.csproj`、`*.sln` | `VisualStudio.gitignore` | | `package.json` | `Node.gitignore` | | `*.vue` | (已含於 Node) | | `*.py`、`pyproject.toml` | `Python.gitignore` | | `go.mod` | `Go.gitignore` | | `Dockerfile` | `community/Golang/Go.gitignore`(或直接加 docker 排除段) | | JetBrains IDE(`.idea/`) | `JetBrains.gitignore` | | VS Code(`.vscode/`) | `VisualStudioCode.gitignore` | ### 2. 讀取既有 .gitignore 若 `.gitignore` 已存在: 1. 完整讀取現有內容。 2. 識別使用者已自訂的區段(通常以空行或註解分隔)。 3. 後續步驟以 Merge 模式補齊缺少的規則,不移除使用者已有的設定。 若不存在,從空白開始建立。 ### 3. 下載範本 使用 WebFetch 從以下 URL 下載對應的官方範本(若 WebFetch 不可用,略過此步驟並告知使用者): ``` https://raw.githubusercontent.com/github/gitignore/main/{TemplateName}.gitignore ``` 範例: - `https://raw.githubusercontent.com/github/gitignore/main/VisualStudio.gitignore` - `https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore` - `https://raw.githubusercontent.com/github/gitignore/main/Python.gitignore` ### 4. 合併與調整 1. **判斷分組格式**: - 若現有 `.gitignore` 已有明確的分組方式(如 `### 技術名稱`、`# ---`、`# [名稱]` 等),**先詢問使用者**是否沿用原格式,或改用 `# ===== [技術名稱] =====` 格式。 - 若現有檔案沒有分組(或從空白建立),直接使用 `# ===== [技術名稱] =====` 作為段落標頭。 2. 將各範本內容依技術棧分組,以確認的格式作為段落標頭。 3. 去除各範本之間的重複規則。 3. 加入以下專案慣用規則(若尚未存在): ```gitignore # ===== 本機環境 ===== CONTEXT.local.md .env .env.* !.env.example ``` 4. 若偵測到 Windows 環境,加入: ```gitignore # ===== Windows ==