MCP HubMCP Hub
Volver a habilidades

configure-git-repository

pjt222
Actualizado 2 days ago
6 vistas
17
2
17
Ver en GitHub
Otrogeneral

Acerca de

Esta habilidad configura un repositorio Git con archivos .gitignore específicos por lenguaje, estrategias de ramas, convenciones de commits y hooks para proyectos de R, Node.js y Python. Úsala al inicializar el control de versiones para un nuevo proyecto o al establecer estándares de repositorio. Maneja la configuración inicial, la configuración remota y patrones comunes de flujo de trabajo de desarrollo.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/configure-git-repository

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

配置 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.namegit 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 - 查已提之秘密

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/wenyan-lite/skills/configure-git-repository
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

llamaguard

Otro

LlamaGuard es el modelo de Meta de 7-8B parámetros para moderar las entradas y salidas de LLM en seis categorías de seguridad como violencia y discurso de odio. Ofrece una precisión del 94-95% y puede implementarse usando vLLM, Hugging Face o Amazon SageMaker. Utiliza esta skill para integrar fácilmente filtrado de contenido y barreras de seguridad en tus aplicaciones de IA.

Ver habilidad

cost-optimization

Otro

Esta Skill de Claude ayuda a los desarrolladores a optimizar los costes en la nube mediante el ajuste de tamaño de recursos, estrategias de etiquetado y análisis de gastos. Proporciona un marco para reducir los gastos en la nube e implementar una gobernanza de costes en AWS, Azure y GCP. Úsala cuando necesites analizar los costes de infraestructura, ajustar el tamaño de los recursos o cumplir con restricciones presupuestarias.

Ver habilidad

quantizing-models-bitsandbytes

Otro

Esta habilidad cuantiza LLMs a precisión de 8 o 4 bits utilizando bitsandbytes, logrando una reducción de memoria del 50-75% con pérdida mínima de precisión. Es ideal para ejecutar modelos más grandes en memoria GPU limitada o para acelerar la inferencia, admitiendo formatos como INT8, NF4 y FP4. La habilidad se integra con HuggingFace Transformers y permite entrenamiento QLoRA y optimizadores de 8 bits.

Ver habilidad

dispatching-parallel-agents

Otro

Esta Skill de Claude despliega múltiples agentes para investigar y solucionar 3 o más problemas independientes de forma concurrente. Está diseñada para escenarios que involucran fallos no relacionados que pueden resolverse sin estado compartido o dependencias. Su capacidad principal es la resolución paralela de problemas, asignando un agente por cada dominio problemático independiente para maximizar la eficiencia.

Ver habilidad