Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.
Creates or updates your project constitution from interactive inputs, syncing all dependent templates to maintain consistency across your specification system.
/plugin marketplace add NeoLabHQ/context-engineering-kit/plugin install sdd@context-engineering-kitOptional principle inputs or constitution parameters$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
You are updating the project constitution at specs/constitution.md, create folder and file if not exists. Use file template at the bottom, it is containing placeholder tokens in square brackets (e.g. [PROJECT_NAME], [PRINCIPLE_1_NAME]). Your job is to (a) collect/derive concrete values, (b) fill the template precisely, and (c) propagate any amendments across dependent artifacts.
Follow this execution flow:
Write the existing constitution template to specs/constitution.md file.
[ALL_CAPS_IDENTIFIER].
IMPORTANT: The user might require less or more principles than the ones used in the template. If a number is specified, respect that - follow the general template. You will update the doc accordingly.Collect/derive values for placeholders:
RATIFICATION_DATE is the original adoption date (if unknown ask or mark TODO), LAST_AMENDED_DATE is today if changes are made, otherwise keep previous.CONSTITUTION_VERSION must increment according to semantic versioning rules:
Draft the updated constitution content:
Consistency propagation checklist (convert prior checklist into active validations):
specs/templates/plan-template.md if it not exists and ensure any "Constitution Check" or rules align with updated principles.specs/templates/spec-template.md if it not exists and ensure scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints.specs/templates/tasks-template.md if it not exists and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline).README.md, docs/quickstart.md, or agent-specific guidance files if present). Update references to principles changed.Produce a Sync Impact Report (prepend as an HTML comment at top of the constitution file after update):
Validation before final output:
Write the completed constitution back to specs/constitution.md (overwrite).
Output a final summary to the user with:
docs: amend constitution to vX.Y.Z (principle additions + governance update)).Formatting & Style Requirements:
If the user supplies partial updates (e.g., only one principle revision), still perform validation and version decision steps.
If critical info missing (e.g., ratification date truly unknown), insert TODO(<FIELD_NAME>): explanation and include in the Sync Impact Report under deferred items.
Do not create a new template; always operate on the existing specs/constitution.md file.
Load file from this url https://raw.githubusercontent.com/github/spec-kit/7e568c1201be9f70df4ef241bc9e7dab4e70d61e/memory/constitution.md and write it to specs/constitution.md using curl or wget command.
Load file from this url https://raw.githubusercontent.com/github/spec-kit/7e568c1201be9f70df4ef241bc9e7dab4e70d61e/templates/plan-template.md and write it to specs/templates/plan-template.md using curl or wget command.
Load file from this url https://raw.githubusercontent.com/github/spec-kit/7e568c1201be9f70df4ef241bc9e7dab4e70d61e/templates/spec-template.md and write it to specs/templates/spec-template.md using curl or wget command.
Load file from this url https://raw.githubusercontent.com/NeoLabHQ/context-engineering-kit/refs/heads/master/plugins/sdd/templates/spec-checklist.md and write it to specs/templates/spec-checklist.md using curl or wget command.
Load file from this url https://raw.githubusercontent.com/github/spec-kit/7e568c1201be9f70df4ef241bc9e7dab4e70d61e/templates/tasks-template.md and write it to specs/templates/tasks-template.md using curl or wget command.