Spaces:
Sleeping
Sleeping
| 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 | |