Flux Git avec conventions

VérifiéSûr

Impose des conventions de nommage des branches (feature/fix/hotfix), un format de message de commit (style Conventional Commits), la détection des fichiers secrets pour éviter les commits accidentels, et des gardes de sécurité qui bloquent les pushs vers les branches protégées. Aide à maintenir un historique cohérent et la sécurité lors de l'utilisation de Git sur des dépôts collaboratifs.

Spar Skills Guide Bot
DeveloppementIntermédiaire
4002/06/2026
Claude Code
#git#workflow#branching#commit-conventions#secret-protection

Recommandé pour

Notre avis

Ce skill applique des conventions strictes pour les branches, les messages de commit et la protection des secrets dans un dépôt Git.

Points forts

  • Automatise le respect des conventions de nommage des branches et des commits
  • Protège contre les fuites de secrets en bloquant les fichiers sensibles
  • Empêche les pushes vers les branches protégées et force l'utilisation de PR
  • Gère la création et la mise à jour du .gitignore

Limites

  • Nécessite que l'utilisateur suive les conventions prédéfinies, peut être rigide
  • Ne couvre pas la gestion avancée des conflits ni les workflows Git complexes
  • La détection de secrets repose sur une liste de motifs statique, pas d'analyse de contenu
Quand l'utiliser

Utilisez ce skill pour standardiser les opérations Git dans un projet d'équipe et éviter les erreurs courantes comme les fuites de secrets.

Quand l'éviter

Évitez ce skill pour des projets où la flexibilité des conventions est nécessaire ou pour des workflows Git très personnalisés.

Analyse de sécurité

Sûr
Score qualité90/100

The skill only uses git commands (via bash) to enforce branching, commit formatting, and secret protection. No destructive or exfiltrating operations are instructed. It includes safety guards to block pushes to protected branches and prevent committing secret files.

Aucun point d'attention détecté

Exemples

Create a feature branch
Create a new branch for the user login feature.
Commit with proper format
Commit my staged changes with a message describing the fix for the payment bug.
Push while protecting secrets
Push my commits, but first check for any accidentally staged secret files.

name: git description: Git workflow with enforced branch naming, commit formatting, secret protection, and safety guards. Use when: creating branches, committing changes, pushing code, merging, resolving conflicts, creating PRs. Triggers: git operations, create branch, commit, push, merge, branch naming, commit message format. allowed-tools: Bash(git:*)

Git Workflow

Enforces repository conventions for branches, commits, and pushes.

Conventions: See @.claude/skills/git/references/conventions.md

Process

VALIDATE → EXECUTE → VERIFY

Decision Rules

Branch Type

  • New functionality → feature/<scope>/<desc>
  • Bug fix → fix/<scope>/<desc>
  • Refactor → refactor/<scope>/<desc>
  • Docs → docs/<scope>/<desc>
  • Maintenance → chore/<scope>/<desc>
  • Urgent fix → hotfix/<desc>
  • Release → release/<version>

Commit Type

  • Feature → feature(<scope>): ...
  • Fix → fix(<scope>): ...
  • Refactor → refactor(<scope>): ...
  • Test → test(<scope>): ...
  • Docs → docs(<scope>): ...

Source Branch

  • feature/fix/refactor/docs/chore → from main
  • hotfix → from release/* or main
  • release → from main

Secret Protection

Protected Patterns

Files (block commit):

*.env
*.env.*
*.pem
*.key
*.p12
*.pfx
*.crt
credentials.*
secrets.*
*_secret.*
*.keystore

Directories (block commit):

.secrets/
.credentials/

Allowed exceptions:

*.env.example
*.example

Pre-Commit Check

Before any commit, scan staged files:

git diff --cached --name-only

If protected pattern detected:

⚠ Secret Protection

Detected secret file staged for commit:
  [filename]

Action: Adding to .gitignore and unstaging file.

Then:

  1. Add pattern to .gitignore
  2. Unstage file: git reset HEAD [file]
  3. Continue commit without secret

.gitignore Management

If .gitignore doesn't exist:

ℹ Creating .gitignore

Project has no .gitignore. Creating with security patterns.

Create with standard security block:

# Secrets - NEVER COMMIT
.env
.env.*
!.env.example
*.pem
*.key
*.p12
*.secret
.secrets/
.credentials/

If .gitignore exists but missing pattern:

Append missing pattern to existing .gitignore.

Safety Guards

Block Operations

| Trigger | Action | |---------|--------| | Push to main/master/release/*/prod/* | Block → suggest PR | | Force-push on shared branch | Block | | Amend after push | Block → suggest new commit | | Secret file in staged changes | Block → update .gitignore | | Binary >100MB | Block |

Warn Only

  • Binary >10MB

Validation

Before commit/push:

  1. Branch name matches convention?
  2. Commit message format correct?
  3. No secrets in staged files?
  4. Not pushing to protected branch?

Interactive Mode

When ambiguous, ask:

"Possible actions:
1. Create branch
2. Commit changes  
3. Push commits
Which matches your intent?"
Skills similaires