mirror of
https://github.com/glittercowboy/get-shit-done
synced 2026-04-25 17:25:23 +02:00
feat: add git_tag config option to disable tagging on milestone completion (#532)
feat: Add git_tag config option to disable tagging on milestone completion
This commit is contained in:
@@ -160,6 +160,7 @@ function loadConfig(cwd) {
|
||||
model_profile: 'balanced',
|
||||
commit_docs: true,
|
||||
search_gitignored: false,
|
||||
git_tag: true,
|
||||
branching_strategy: 'none',
|
||||
phase_branch_template: 'gsd/phase-{phase}-{slug}',
|
||||
milestone_branch_template: 'gsd/{milestone}-{slug}',
|
||||
@@ -193,6 +194,7 @@ function loadConfig(cwd) {
|
||||
model_profile: get('model_profile') ?? defaults.model_profile,
|
||||
commit_docs: get('commit_docs', { section: 'planning', field: 'commit_docs' }) ?? defaults.commit_docs,
|
||||
search_gitignored: get('search_gitignored', { section: 'planning', field: 'search_gitignored' }) ?? defaults.search_gitignored,
|
||||
git_tag: get('git_tag', { section: 'planning', field: 'git_tag' }) ?? defaults.git_tag,
|
||||
branching_strategy: get('branching_strategy', { section: 'git', field: 'branching_strategy' }) ?? defaults.branching_strategy,
|
||||
phase_branch_template: get('phase_branch_template', { section: 'git', field: 'phase_branch_template' }) ?? defaults.phase_branch_template,
|
||||
milestone_branch_template: get('milestone_branch_template', { section: 'git', field: 'milestone_branch_template' }) ?? defaults.milestone_branch_template,
|
||||
@@ -598,6 +600,7 @@ function cmdConfigEnsureSection(cwd, raw) {
|
||||
model_profile: 'balanced',
|
||||
commit_docs: true,
|
||||
search_gitignored: false,
|
||||
git_tag: true,
|
||||
branching_strategy: 'none',
|
||||
phase_branch_template: 'gsd/phase-{phase}-{slug}',
|
||||
milestone_branch_template: 'gsd/{milestone}-{slug}',
|
||||
|
||||
@@ -6,7 +6,8 @@ Configuration options for `.planning/` directory behavior.
|
||||
```json
|
||||
"planning": {
|
||||
"commit_docs": true,
|
||||
"search_gitignored": false
|
||||
"search_gitignored": false,
|
||||
"git_tag": true
|
||||
},
|
||||
"git": {
|
||||
"branching_strategy": "none",
|
||||
@@ -19,6 +20,7 @@ Configuration options for `.planning/` directory behavior.
|
||||
|--------|---------|-------------|
|
||||
| `commit_docs` | `true` | Whether to commit planning artifacts to git |
|
||||
| `search_gitignored` | `false` | Add `--no-ignore` to broad rg searches |
|
||||
| `git_tag` | `true` | Create git tags on milestone completion |
|
||||
| `git.branching_strategy` | `"none"` | Git branching approach: `"none"`, `"phase"`, or `"milestone"` |
|
||||
| `git.phase_branch_template` | `"gsd/phase-{phase}-{slug}"` | Branch template for phase strategy |
|
||||
| `git.milestone_branch_template` | `"gsd/{milestone}-{slug}"` | Branch template for milestone strategy |
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
},
|
||||
"planning": {
|
||||
"commit_docs": true,
|
||||
"search_gitignored": false
|
||||
"search_gitignored": false,
|
||||
"git_tag": true
|
||||
},
|
||||
"parallelization": {
|
||||
"enabled": true,
|
||||
|
||||
@@ -531,6 +531,11 @@ fi
|
||||
|
||||
<step name="git_tag">
|
||||
|
||||
<config-check>
|
||||
Read `planning.git_tag` from `.planning/config.json` (default: `true` if not set).
|
||||
If `git_tag` is `false` → skip this step entirely, proceed to `git_commit_milestone`.
|
||||
</config-check>
|
||||
|
||||
Create git tag:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -30,6 +30,7 @@ Parse current values (default to `true` if not present):
|
||||
- `workflow.verifier` — spawn verifier during execute-phase
|
||||
- `model_profile` — which model each agent uses (default: `balanced`)
|
||||
- `git.branching_strategy` — branching approach (default: `"none"`)
|
||||
- `planning.git_tag` — create git tags on milestone completion (default: `true`)
|
||||
</step>
|
||||
|
||||
<step name="present_settings">
|
||||
@@ -83,6 +84,15 @@ AskUserQuestion([
|
||||
{ label: "Per Phase", description: "Create branch for each phase (gsd/phase-{N}-{name})" },
|
||||
{ label: "Per Milestone", description: "Create branch for entire milestone (gsd/{version}-{name})" }
|
||||
]
|
||||
},
|
||||
{
|
||||
question: "Create git tags on milestone completion?",
|
||||
header: "Git Tagging",
|
||||
multiSelect: false,
|
||||
options: [
|
||||
{ label: "Yes (Recommended)", description: "Tag releases with version (e.g., v1.0) on milestone completion" },
|
||||
{ label: "No", description: "Skip git tagging — use if your project doesn't use tags or uses a different convention" }
|
||||
]
|
||||
}
|
||||
])
|
||||
```
|
||||
@@ -100,6 +110,10 @@ Merge new settings into existing config.json:
|
||||
"plan_check": true/false,
|
||||
"verifier": true/false
|
||||
},
|
||||
"planning": {
|
||||
...existing_planning,
|
||||
"git_tag": true/false
|
||||
},
|
||||
"git": {
|
||||
"branching_strategy": "none" | "phase" | "milestone"
|
||||
}
|
||||
@@ -124,6 +138,7 @@ Display:
|
||||
| Plan Checker | {On/Off} |
|
||||
| Execution Verifier | {On/Off} |
|
||||
| Git Branching | {None/Per Phase/Per Milestone} |
|
||||
| Git Tagging | {On/Off} |
|
||||
|
||||
These settings apply to future /gsd:plan-phase and /gsd:execute-phase runs.
|
||||
|
||||
@@ -139,7 +154,7 @@ Quick commands:
|
||||
|
||||
<success_criteria>
|
||||
- [ ] Current config read
|
||||
- [ ] User presented with 5 settings (profile + 3 workflow toggles + git branching)
|
||||
- [ ] User presented with 6 settings (profile + 3 workflow toggles + git branching + git tagging)
|
||||
- [ ] Config updated with model_profile, workflow, and git sections
|
||||
- [ ] Changes confirmed to user
|
||||
</success_criteria>
|
||||
|
||||
Reference in New Issue
Block a user