| name | speckit-git-initialize |
| description | Initialize a Git repository with an initial commit |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"git:commands/speckit.git.initialize.md"} |
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:
[OK] 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