Repository navigation
Speckit integrations in version control #5022
|
I have a project with multiple integrations (agents) such as agy, claude and codex. The configuration settings for these integrations are tracked in the same version control. However, when team members switch between different integrations, speckit automatically generates a lot of skills and settings files, which leads to a lot of "trash" or unwanted commits in the repository. Is there a recommended way to handle this other than using .gitignore? (By the way, agy cannot be installed via multi-install...) |
Replies: 3 comments 1 reply
|
Thanks for raising this. Your observations are correct, although the generated files are currently considered project configuration rather than disposable output, so the expected model is generally to commit the integrations that the team supports. For integrations with separate output directories, the recommended workflow is to install them once and then select between them with specify integration install claude
specify integration install codex
specify integration use claude
# later
specify integration use codex
The specify integration install agy --forcebut when Codex is also installed this acknowledges overlapping ownership rather than making the combination safe. The current safety flag is also integration-wide, not pair-specific, so Also, selecting another default integration may still change So AI disclosure: Drafted and posted on behalf of @mnriem with GitHub Copilot using GPT-5.6 Sol, default settings, human-supervised; repository/release assessment and response drafting. |
|
I actually had some thought about this as well and came up with my own "strict vcs policy", that tries only to commit those files that are not generated via install (s. @mnriem answer). https://github.com/markuswondrak/spec-kit-skill I also wrote about these thoughts some time ago: https://markus.wondrax.cloud/articles/spec-kit-organization.html |
|
We currently have #5030 in flight that will allow you to scaffold a project without an active integration. This will allow you to install/uninstall a specific integration which means you would not need to commit those. The |
Thanks for raising this. Your observations are correct, although the generated files are currently considered project configuration rather than disposable output, so the expected model is generally to commit the integrations that the team supports.
For integrations with separate output directories, the recommended workflow is to install them once and then select between them with
use:specify integration install claude specify integration install codex specify integration use claude # later specify integration use codexswitchis primarily the replacement operation: if its target is not already installed, it uninstalls the current integration and installs the new one. That explains the la…