MCP HubMCP Hub
Вернуться к навыкам

configure-git-repository

pjt222
Обновлено Yesterday
6 просмотров
17
2
17
Посмотреть на GitHub
Другоеgeneral

О программе

Этот навык настраивает Git-репозиторий с корректными файлами .gitignore, стратегиями ветвления, соглашениями о коммитах, хуками и настройкой удалённого репозитория. Он предоставляет шаблоны для проектов на R, Node.js и Python, а также выполняет первоначальную настройку системы контроля версий. Используйте его при запуске нового проекта, добавлении языковых правил в .gitignore или установке защиты веток и хуков коммитов.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add pjt222/agent-almanac -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/pjt222/agent-almanac
Git клонированиеАльтернативный
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/configure-git-repository

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация


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
  • .gitignore fuer 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

  • .gitignore schliesst 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 .gitignore hinzufuegen. 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-repo oder BFG zum Bereinigen verwenden.
  • Grosse Binaerdateien: Keine grossen Binaerdateien einchecken. Git LFS fuer Dateien > 1 MB verwenden.
  • Zeilenenden: core.autocrlf=input unter Windows/WSL setzen, um CRLF/LF-Probleme zu vermeiden.

Verwandte Skills

  • commit-changes - Staging- und Commit-Workflow
  • manage-git-branches - Branch-Erstellung und -Konventionen
  • create-r-package - Git-Einrichtung als Teil der R-Paketerstellung
  • setup-wsl-dev-environment - Git-Installation und SSH-Schluessel
  • create-github-release - Releases aus dem Repository erstellen
  • security-audit-codebase - Auf eingecheckte Geheimnisse pruefen

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/de/skills/configure-git-repository
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

llamaguard

Другое

LlamaGuard — это модель от Meta с 7–8 миллиардами параметров для модерации входных и выходных данных больших языковых моделей по шести категориям безопасности, таким как насилие и разжигание ненависти. Она обеспечивает точность 94–95% и может быть развернута с помощью vLLM, Hugging Face или Amazon SageMaker. Используйте этот навык, чтобы легко интегрировать фильтрацию контента и защитные механизмы в ваши ИИ-приложения.

Просмотреть навык

cost-optimization

Другое

Этот навык Claude помогает разработчикам оптимизировать облачные расходы за счет правильного подбора ресурсов, стратегий тегирования и анализа затрат. Он предоставляет framework для сокращения облачных расходов и внедрения управления затратами в AWS, Azure и GCP. Используйте его, когда вам нужно проанализировать расходы на инфраструктуру, оптимизировать ресурсы или уложиться в бюджетные ограничения.

Просмотреть навык

quantizing-models-bitsandbytes

Другое

Этот навык выполняет квантизацию LLM до 8-битной или 4-битной точности с использованием библиотеки bitsandbytes, обеспечивая сокращение использования памяти на 50-75% при минимальной потере точности. Он идеально подходит для запуска больших моделей при ограниченной памяти GPU или для ускорения вывода, поддерживая форматы INT8, NF4 и FP4. Навык интегрируется с HuggingFace Transformers и позволяет использовать обучение QLoRA и 8-битные оптимизаторы.

Просмотреть навык

dispatching-parallel-agents

Другое

Этот навык Claude распределяет нескольких агентов для исследования и устранения трёх и более независимых проблем параллельно. Он предназначен для сценариев с несвязанными сбоями, которые можно устранить без общего состояния или зависимостей. Ключевая возможность — параллельное решение проблем, где за каждую независимую предметную область назначается отдельный агент для максимальной эффективности.

Просмотреть навык