Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 1.53 KB

File metadata and controls

49 lines (35 loc) · 1.53 KB
description Initialize a Git repository with an initial commit

Initialize Git Repository

Initialize a Git repository in the current project directory if one does not already exist.

Execution

Run the appropriate script from the project root:

  • Bash: .specify/extensions/git/scripts/bash/initialize-repo.sh
  • PowerShell: .specify/extensions/git/scripts/powershell/initialize-repo.ps1

If the extension scripts are not found, fall back to:

  • Bash: git init && git add . && git commit -m "Initial commit from Specify template"
  • PowerShell: git init; git add .; git commit -m "Initial commit from Specify template"

The script handles all checks internally:

  • Skips if Git is not available
  • Skips if already inside a Git repository
  • Runs git init, git add ., and git commit with an initial commit message

Customization

Replace the script to add project-specific Git initialization steps:

  • Custom .gitignore templates
  • Default branch naming (git config init.defaultBranch)
  • Git LFS setup
  • Git hooks installation
  • Commit signing configuration
  • Git Flow initialization

Output

On success:

  • ✓ Git repository initialized

Graceful Degradation

If Git is not installed:

  • Warn the user
  • Skip repository initialization
  • The project continues to function without Git (specs can still be created under specs/)

If Git is installed but git init, git add ., or git commit fails:

  • Surface the error to the user
  • Stop this command rather than continuing with a partially initialized repository