Some checks failed
Main Confidence / confidence (push) Failing after 54s
## Summary Selective migration to the managed Spec Kit project structure. ## Included - add managed Spec Kit integration metadata under `.specify/` - add bundled `speckit` workflow registry - add bundled `git` extension, scripts, and config - add new `speckit.git.*` command surfaces for Copilot, Gemini, and `.agents` - add the Spec Kit plan marker block to `.github/copilot-instructions.md` ## Intentionally excluded - no replacement of the existing customized core `speckit.*.agent.md` files - no `.vscode/settings.json` commit; the copied manifest was adjusted accordingly - no changes to the active `specs/231-finding-outcome-taxonomy` work ## Validation - `specify integration list` - `specify workflow list` - `specify extension list` - focused managed-file diff review Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #266
1.9 KiB
1.9 KiB
| name | description | compatibility | metadata | ||||
|---|---|---|---|---|---|---|---|
| speckit-git-validate | Validate current branch follows feature branch naming conventions | Requires spec-kit project structure with .specify/ directory |
|
Validate Feature Branch
Validate that the current Git branch follows the expected feature branch naming conventions.
Prerequisites
- Check if Git is available by running
git rev-parse --is-inside-work-tree 2>/dev/null - If Git is not available, output a warning and skip validation:
[specify] Warning: Git repository not detected; skipped branch validation
Validation Rules
Get the current branch name:
git rev-parse --abbrev-ref HEAD
The branch name must match one of these patterns:
- Sequential:
^[0-9]{3,}-(e.g.,001-feature-name,042-fix-bug,1000-big-feature) - Timestamp:
^[0-9]{8}-[0-9]{6}-(e.g.,20260319-143022-feature-name)
Execution
If on a feature branch (matches either pattern):
- Output:
✓ On feature branch: <branch-name> - Check if the corresponding spec directory exists under
specs/:- For sequential branches, look for
specs/<prefix>-*where prefix matches the numeric portion - For timestamp branches, look for
specs/<prefix>-*where prefix matches theYYYYMMDD-HHMMSSportion
- For sequential branches, look for
- If spec directory exists:
✓ Spec directory found: <path> - If spec directory missing:
⚠ No spec directory found for prefix <prefix>
If NOT on a feature branch:
- Output:
✗ Not on a feature branch. Current branch: <branch-name> - Output:
Feature branches should be named like: 001-feature-name or 20260319-143022-feature-name
Graceful Degradation
If Git is not installed or the directory is not a Git repository:
- Check the
SPECIFY_FEATUREenvironment variable as a fallback - If set, validate that value against the naming patterns
- If not set, skip validation with a warning