configure-git-repository
について
このスキルは、言語固有の.gitignoreファイル、ブランチング戦略、コミット規約、フックを備えたGitリポジトリを設定します。初期バージョン管理設定時に、R、Node.js、Pythonプロジェクト向けのセットアップパターンを提供します。適切な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にコピー&ペーストしてスキルをインストールします
ドキュメント
Configure Git Repository
Set up Git repo w/ appropriate config for project type.
Use When
- Init version control for new project
- Add
.gitignorefor specific language/framework - Set up branch protection + conventions
- Configure commit hooks
In
- Required: Project dir
- Required: Project type (R pkg, Node.js, Python, general)
- Optional: Remote repo URL
- Optional: Branch strategy (trunk-based, Git Flow)
- Optional: Commit msg convention
Do
Step 1: Initialize Repo
cd /path/to/project
git init
git branch -M main
→ .git/ dir created. Default branch = main.
If err: git init fails → ensure Git installed (git --version). Dir already has .git/ → repo already init'd → skip step.
Step 2: Create .gitignore
R Package:
# 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 created w/ entries for project type. Sensitive files (.Renviron, .env) + generated artifacts excluded.
If err: Unsure which entries → use gitignore.io or GitHub's .gitignore templates as starting point, customize.
Step 3: Create Initial Commit
git add .gitignore
git add . # Review what's being added first with git status
git commit -m "Initial project setup"
→ First commit w/ .gitignore + initial project files. git log shows one commit.
If err: "Nothing to commit" → ensure files staged w/ git add. Author identity err → set git config user.name + git config user.email.
Step 4: Connect Remote
# Add remote
git remote add origin [email protected]:username/repo.git
# Push
git push -u origin main
→ Remote origin config'd. git remote -v shows fetch + push URLs. Initial commit pushed.
If err: Push fails "Permission denied (publickey)" → configure SSH keys (see setup-wsl-dev-environment). Remote already exists → update w/ git remote set-url origin <url>.
Step 5: Set Up Branch Conventions
Trunk-based (rec'd for small teams):
main: prod-ready code- Feature branches:
feature/description - Bug fixes:
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
→ Branch naming convention established + doc'd. Team knows which prefix to use for each work type.
If err: Branches already named inconsistent → rename w/ git branch -m old-name new-name + update any open PRs.
Step 6: Configure Commit Conventions
Conventional Commits format:
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
→ Commit msg convention doc'd + agreed. Future commits follow type: description format.
If err: Team not following → enforce w/ commit-msg hook validating format (see Step 7).
Step 7: Set Up Pre-Commit Hooks (Optional)
Create .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
→ Pre-commit hook runs auto on each git commit. Lint errs block commit until fixed.
If err: Hook doesn't run → valid. core.hooksPath set (git config core.hooksPath) + hook file executable (chmod +x).
Step 8: Create 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 committed. Project has minimal but informative landing page on GitHub.
If err: README.md already exists → update vs. overwrite. R projects → use usethis::use_readme_md() for template w/ badges.
Check
-
.gitignoreexcludes sensitive + generated files - No sensitive data (tokens, passwords) in tracked files
- Remote repo connected + accessible
- Branch naming conventions doc'd
- Initial commit clean
Traps
- Commit before .gitignore: Add
.gitignorefirst. Files already tracked unaffected by later.gitignoreentries. - Sensitive data in history: Secrets committed → remain in history even after deletion. Use
git filter-repoor BFG to clean. - Large binary files: Don't commit large binaries. Use Git LFS for files > 1MB.
- Line endings: Set
core.autocrlf=inputon Windows/WSL → prevent CRLF/LF issues.
→
commit-changes- staging + committing workflowmanage-git-branches- branch creation + conventionscreate-r-package- Git setup as part of R pkg creationsetup-wsl-dev-environment- Git install + SSH keyscreate-github-release- creating releases from reposecurity-audit-codebase- check for committed secrets
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つのエージェントを割り当てます。
