configure-git-repository
について
このスキルは、R、Node.js、Pythonプロジェクト向けに、言語固有の.gitignoreファイル、ブランチ戦略、コミット規約、フックを備えたGitリポジトリを設定します。新規プロジェクトのバージョン管理を初期化する際や、リポジトリ標準を設定する際にご利用ください。初期セットアップ、リモート設定、一般的な開発ワークフローパターンを扱います。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/configure-git-repositoryこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
配置 Git 倉庫
依項目類型以合適配置設 Git 倉庫。
適用時機
- 新項目之版本控制之始
- 為特定語言/框架加
.gitignore - 設分支保護與慣例
- 配提交鉤子
輸入
- 必要:項目目錄
- 必要:項目類型(R 包、Node.js、Python、通用)
- 選擇性:遠端倉庫 URL
- 選擇性:分支策(基於主幹、Git Flow)
- 選擇性:提交訊息慣例
步驟
步驟一:初始化倉庫
cd /path/to/project
git init
git branch -M main
預期: .git/ 目錄已建。預設分支名為 main。
失敗時: 若 git init 敗,確 Git 已裝(git --version)。若目錄已有 .git/,倉庫已初始化——略此步。
步驟二:建 .gitignore
R 包:
# R artifacts
.Rhistory
.RData
.Rproj.user/
*.Rproj
# Environment (sensitive)
.Renviron
# renv library (machine-specific)
renv/library/
renv/staging/
renv/cache/
# Build artifacts
*.tar.gz
src/*.o
src/*.so
src/*.dll
# Documentation build
docs/
inst/doc/
# IDE
.vscode/
.idea/
# OS
.DS_Store
Thumbs.db
Node.js/TypeScript:
node_modules/
dist/
build/
.next/
.env
.env.local
.env.*.local
*.log
npm-debug.log*
.DS_Store
Thumbs.db
.vscode/
.idea/
coverage/
Python:
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/
.eggs/
.venv/
venv/
.env
*.log
.mypy_cache/
.pytest_cache/
htmlcov/
.coverage
.DS_Store
.idea/
.vscode/
預期: .gitignore 已建,含項目類型合適之條目。敏感檔(.Renviron、.env)與生成產物已排除。
失敗時: 若不確該含何條目,用 gitignore.io 或 GitHub 之 .gitignore 模板為起點並依項目調。
步驟三:建首次提交
git add .gitignore
git add . # Review what's being added first with git status
git commit -m "Initial project setup"
預期: 首次提交已建,含 .gitignore 與初始項目檔。git log 顯一提交。
失敗時: 若 git commit 敗報「nothing to commit」,確檔已以 git add 暫存。若敗報作者身分錯,設 git config user.name 與 git config user.email。
步驟四:連遠端
# Add remote
git remote add origin [email protected]:username/repo.git
# Push
git push -u origin main
預期: 遠端 origin 已配。git remote -v 顯 fetch 與 push URL。首提交已推至遠端。
失敗時: 若推敗報「Permission denied (publickey)」,配 SSH 金鑰(見 setup-wsl-dev-environment)。若遠端已存,以 git remote set-url origin <url> 更。
步驟五:設分支慣例
基於主幹(小團隊推薦):
main:生產可用代碼- 功能分支:
feature/description - 錯誤修復:
fix/description
# Create feature branch
git checkout -b feature/add-authentication
# After work is done, merge or create PR
git checkout main
git merge feature/add-authentication
預期: 分支命名慣例已立且已記。團隊成員知每類工作之前綴。
失敗時: 若分支已以不一致之名,以 git branch -m old-name new-name 重命並更任何未結之 PR。
步驟六:配提交慣例
Conventional Commits 格式:
type(scope): description
feat: add user authentication
fix: correct calculation in weighted_mean
docs: update README installation section
test: add edge case tests for parser
refactor: extract helper function
chore: update dependencies
預期: 提交訊息慣例已記且團隊已同意。未來提交循 type: description 格式。
失敗時: 若團隊成員未循慣例,以驗格式之 commit-msg 鉤子強行(見步驟七)。
步驟七:設預提交鉤子(選擇性)
建 .githooks/pre-commit:
#!/bin/bash
# Run linter before commit
# For R packages
if [ -f "DESCRIPTION" ]; then
Rscript -e "lintr::lint_package()" || exit 1
fi
# For Node.js
if [ -f "package.json" ]; then
npm run lint || exit 1
fi
chmod +x .githooks/pre-commit
git config core.hooksPath .githooks
預期: 預提交鉤子於每 git commit 自動行。Lint 錯阻提交直至修。
失敗時: 若鉤子不行,驗 core.hooksPath 已設(git config core.hooksPath)且鉤子檔可執行(chmod +x)。
步驟八:建 README
# Minimal README
echo "# Project Name" > README.md
echo "" >> README.md
echo "Brief description of the project." >> README.md
git add README.md
git commit -m "Add README"
預期: README.md 已提至倉庫。項目於 GitHub 上有簡約而有資之落地頁。
失敗時: 若 README.md 已存,更之勿覆。R 項目用 usethis::use_readme_md() 取含徽章之模板。
驗證
-
.gitignore排敏感與生成檔 - 追蹤檔中無敏感數據(令牌、密碼)
- 遠端倉庫已連且可達
- 分支命名慣例已記
- 首次提交已淨建
常見陷阱
- 先提交後
.gitignore:先加.gitignore。已追之檔不受後加條目影響 - 史中之敏感數據:若密碼已提,刪後仍於史。以
git filter-repo或 BFG 清 - 大二進制檔:勿提大二進制。>1MB 之檔用 Git LFS
- 行尾:Windows/WSL 設
core.autocrlf=input以防 CRLF/LF 問題
相關技能
commit-changes- 暫存與提交之工作流manage-git-branches- 分支建與慣例create-r-package- R 包建時之 Git 設setup-wsl-dev-environment- Git 裝與 SSH 金鑰create-github-release- 自倉庫建發行版security-audit-codebase- 查已提之秘密
GitHub リポジトリ
関連スキル
llamaguard
その他LlamaGuardは、暴力やヘイトスピーチなど6つの安全性カテゴリーにおいて、LLMの入力と出力をモデレートするMetaの70-80億パラメータモデルです。94〜95%の精度を提供し、vLLM、Hugging Face、Amazon SageMakerを使用してデプロイ可能です。このスキルを使用して、AIアプリケーションにコンテンツフィルタリングと安全策を簡単に統合できます。
cost-optimization
その他このClaudeスキルは、リソースの適正サイジング、タグ付け戦略、支出分析を通じて、開発者がクラウドコストを最適化することを支援します。AWS、Azure、GCPにわたるクラウド支出の削減とコストガバナンスの実施のためのフレームワークを提供します。インフラコストの分析、リソースの適正サイジング、または予算制約への対応が必要な際にご利用ください。
quantizing-models-bitsandbytes
その他このスキルは、bitsandbytesを使用してLLMを8ビットまたは4ビット精度に量子化し、精度の低下を最小限に抑えつつ50〜75%のメモリ削減を実現します。限られたGPUメモリでより大規模なモデルを実行したり、推論を高速化するのに理想的で、INT8、NF4、FP4などのフォーマットをサポートしています。HuggingFace Transformersと統合され、QLoRAトレーニングや8ビットオプティマイザーを可能にします。
dispatching-parallel-agents
その他このClaudeスキルは、複数のエージェントを配備し、3つ以上の独立した問題を並行して調査・修正します。共有状態や依存関係がなく解決可能な、無関係な障害が発生するシナリオ向けに設計されています。中核となる機能は並列問題解決であり、効率を最大化するために独立した問題領域ごとに1つのエージェントを割り当てます。
