configure-git-repository
Acerca de
Esta habilidad configura un repositorio Git con archivos .gitignore adecuados, estrategias de ramas, convenciones de commits, hooks y configuración remota. Proporciona plantillas para proyectos en R, Node.js y Python, y maneja la configuración inicial de control de versiones. Úsala al iniciar un nuevo proyecto, al agregar reglas .gitignore específicas del lenguaje, o al establecer protección de ramas y hooks de commits.
Instalación rápida
Claude Code
Recomendadonpx 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-repositoryCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
name: configure-git-repository description: > Ein Git-Repository mit geeignetem .gitignore, Branch-Strategie, Commit-Konventionen, Hooks und Remote-Einrichtung konfigurieren. Umfasst die Ersteinrichtung und gängige Muster fuer R-, Node.js- und Python-Projekte. Verwenden beim Initialisieren der Versionskontrolle fuer ein neues Projekt, beim Hinzufuegen einer .gitignore fuer eine bestimmte Sprache oder ein Framework, beim Einrichten von Branch-Schutz und -Konventionen oder beim Konfigurieren von Commit-Hooks. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: git complexity: basic language: multi tags: git, version-control, gitignore, hooks, branching locale: de source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: "2026-03-16"
Git-Repository konfigurieren
Ein Git-Repository mit geeigneter Konfiguration fuer den jeweiligen Projekttyp einrichten.
Wann verwenden
- Versionskontrolle fuer ein neues Projekt initialisieren
.gitignorefuer eine bestimmte Sprache oder ein Framework hinzufuegen- Branch-Schutz und -Konventionen einrichten
- Commit-Hooks konfigurieren
Eingaben
- Erforderlich: Projektverzeichnis
- Erforderlich: Projekttyp (R-Paket, Node.js, Python, allgemein)
- Optional: URL des Remote-Repositorys
- Optional: Branch-Strategie (Trunk-based, Git Flow)
- Optional: Commit-Message-Konvention
Vorgehensweise
Schritt 1: Repository initialisieren
cd /path/to/project
git init
git branch -M main
Erwartet: Das Verzeichnis .git/ wurde erstellt. Der Standard-Branch heisst main.
Bei Fehler: Wenn git init fehlschlaegt, sicherstellen, dass Git installiert ist (git --version). Ist bereits ein .git/-Verzeichnis vorhanden, ist das Repository bereits initialisiert — diesen Schritt ueberspringen.
Schritt 2: .gitignore erstellen
R-Paket:
# 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/
Erwartet: Die .gitignore-Datei wurde mit projekttyp-geeigneten Eintraegen erstellt. Sensible Dateien (.Renviron, .env) und generierte Artefakte sind ausgeschlossen.
Bei Fehler: Wenn unklar ist, welche Eintraege aufzunehmen sind, gitignore.io oder GitHubs .gitignore-Vorlagen als Ausgangspunkt nutzen und fuer das Projekt anpassen.
Schritt 3: Ersten Commit erstellen
git add .gitignore
git add . # Review what's being added first with git status
git commit -m "Initial project setup"
Erwartet: Der erste Commit wurde erstellt und enthaelt .gitignore sowie die initialen Projektdateien. git log zeigt einen Commit.
Bei Fehler: Wenn git commit mit "nothing to commit" fehlschlaegt, sicherstellen, dass Dateien mit git add gestaged wurden. Wenn mit einem Autorenidentitaetsfehler fehlschlaegt, git config user.name und git config user.email setzen.
Schritt 4: Remote verbinden
# Add remote
git remote add origin [email protected]:username/repo.git
# Push
git push -u origin main
Erwartet: Das Remote origin ist konfiguriert. git remote -v zeigt Fetch- und Push-URLs. Der initiale Commit wurde zum Remote gepusht.
Bei Fehler: Wenn der Push mit "Permission denied (publickey)" fehlschlaegt, SSH-Schluessel konfigurieren (siehe setup-wsl-dev-environment). Wenn das Remote bereits existiert, mit git remote set-url origin <url> aktualisieren.
Schritt 5: Branch-Konventionen einrichten
Trunk-based (empfohlen fuer kleine Teams):
main: produktionsreifer Code- Feature-Branches:
feature/beschreibung - Fehlerbehebungen:
fix/beschreibung
# 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
Erwartet: Die Branch-Namenskonvention ist etabliert und dokumentiert. Teammitglieder wissen, welches Praefix fuer welche Art von Arbeit zu verwenden ist.
Bei Fehler: Wenn Branches bereits inkonsistent benannt sind, mit git branch -m alter-name neuer-name umbenennen und offene Pull Requests aktualisieren.
Schritt 6: Commit-Konventionen konfigurieren
Format der 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
Erwartet: Die Commit-Message-Konvention ist dokumentiert und vom Team vereinbart. Kuenftige Commits folgen dem Format type: description.
Bei Fehler: Wenn Teammitglieder die Konvention nicht einhalten, mit einem commit-msg Hook erzwingen, der das Format validiert (siehe Schritt 7).
Schritt 7: Pre-Commit-Hooks einrichten (Optional)
.githooks/pre-commit erstellen:
#!/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
Erwartet: Der Pre-Commit-Hook laeuft automatisch bei jedem git commit. Linting-Fehler blockieren den Commit, bis sie behoben sind.
Bei Fehler: Wenn der Hook nicht ausgefuehrt wird, pruefen ob core.hooksPath gesetzt ist (git config core.hooksPath) und die Hook-Datei ausfuehrbar ist (chmod +x).
Schritt 8: README erstellen
# 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"
Erwartet: README.md wurde in das Repository eingecheckt. Das Projekt hat eine minimale, aber informative Einstiegsseite auf GitHub.
Bei Fehler: Wenn README.md bereits existiert, aktualisieren statt ueberschreiben. In R-Projekten usethis::use_readme_md() fuer eine Vorlage mit Badges verwenden.
Validierung
-
.gitignoreschliesst sensible und generierte Dateien aus - Keine sensiblen Daten (Tokens, Passwoerter) in getrackten Dateien
- Remote-Repository verbunden und erreichbar
- Branch-Namenskonventionen dokumentiert
- Initialer Commit sauber erstellt
Haeufige Stolperfallen
- Commit vor .gitignore: Zuerst
.gitignorehinzufuegen. Bereits getrackte Dateien werden von spaeter hinzugefuegten.gitignore-Eintraegen nicht beeinflusst. - Sensible Daten in der Historie: Wenn Geheimnisse eingecheckt wurden, bleiben sie auch nach dem Loeschen in der Historie.
git filter-repooder BFG zum Bereinigen verwenden. - Grosse Binaerdateien: Keine grossen Binaerdateien einchecken. Git LFS fuer Dateien > 1 MB verwenden.
- Zeilenenden:
core.autocrlf=inputunter Windows/WSL setzen, um CRLF/LF-Probleme zu vermeiden.
Verwandte Skills
commit-changes- Staging- und Commit-Workflowmanage-git-branches- Branch-Erstellung und -Konventionencreate-r-package- Git-Einrichtung als Teil der R-Paketerstellungsetup-wsl-dev-environment- Git-Installation und SSH-Schluesselcreate-github-release- Releases aus dem Repository erstellensecurity-audit-codebase- Auf eingecheckte Geheimnisse pruefen
Repositorio GitHub
Habilidades relacionadas
llamaguard
OtroLlamaGuard 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.
cost-optimization
OtroEsta 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.
quantizing-models-bitsandbytes
OtroEsta 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.
dispatching-parallel-agents
OtroEsta 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.
