fix: preserve constitution.md during reinitialization #1553
+48
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #1541 by moving the constitution template from
memory/totemplates/to prevent overwrites when spec-kit is reinitialized with a different AI agent.Changes
memory/constitution.md→templates/constitution-template.mdensure_constitution_from_template()function that copies the template to memory only on first initialization.specify/prefix for clarity.specify/memory/constitution.mdexists and preserves itBehavior
The CLI now handles constitution initialization as follows:
constitution-template.mdfrom templates to memoryconstitution.mdin memory (no overwrite)This allows users to customize their constitution without losing changes when adding support for additional AI agents or reinitializing the project.
Testing
Note: Full end-to-end testing on Linux/CI will verify the complete workflow, as there's a pre-existing macOS-specific issue with the package creation script's use of
cp --parents.AI Assistance
This PR was implemented with assistance from Claude Sonnet 4.5 (Claude Code).