Branching Strategy and Spec-Kit #399
Replies: 3 comments
-
|
Do you have a patch for this behavior change? It could be a config option...defaults become a recommendation. I have gotten asks about customizing or outright changing this workflow, too. |
Beta Was this translation helpful? Give feedback.
-
|
I'd appreciate if it was clearer what Spec-Kit expected for branch names. I tried starting on my own branch, but the scripts errored out. When that didn't work. Claude was happy to "work around it", but I don't know what I was missing from not actually running the scripts. So I had to dump that whole branch and restart the process and let Spec-Kit make the branch itself. Another area that is murky for me after reading the docs is how often I can merge. For an MVP I'd prefer to merge after every step so there's a clean history in the repo, but Spec-Kit seems to want to do an entire spec in one branch. That means you have to go look on that branch to see the history since our repos default to Squash and Merge. Regardless of what the Spec-Kit strategy is it would be nice if it were documented somewhere:
As a bonus, make the branch naming strategy pluggable so we can override the opinionated default to work smoother in opinionated organizations. |
Beta Was this translation helpful? Give feedback.
-
|
I want to decide when to create a branch and what to name it. I do not want Spec-Kit to do that for me. Each team will have its own branching strategy and naming conventions, which may not be compatible with the Spec-Kit branching strategy and convention. At the very least, there should be a configuration option in Spec-Kit to skip the branch creation. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I’ve noticed that when creating a spec while checked out on
develop, spec-kit generates thespec/folder andspec.mdoff ofmaininstead of from the branch I’m currently on.I can see why this is the default (always basing from
mainmakes sense in some workflows), but for our team it would be much more valuable if spec-kit could respect the current branch a developer is on. This would keep specs aligned with the way developers actually work day-to-day.Our Branching Model (GitFlow-style with tweaks)
main→ Always production-ready. Tagged releases live here.develop→ Active integration branch for ongoing development.feature/*→ New features, enhancements, or spikes. Merged back intodevelopvia PR.release/*→ Cut fromdevelopwhen preparing a release. Stabilization only. Merges into bothmain(to ship) anddevelop(to carry fixes forward).hotfix/*→ Cut frommainfor urgent production fixes. Merges into bothmainanddevelop.Proposal
main. or follow a defined strategyfeature/spec-<name>hotfix/spec-<name>This would ensure that specs and code evolve together in the same branching model without introducing extra manual steps for developers.
Open Question
Should spec-kit mirror our Git branches exactly, or is it enough to just respect the current branch when starting a spec?
Beta Was this translation helpful? Give feedback.
All reactions