3.7 KiB
Constitution Manual
You are updating the project constitution at docs/CONSTITUTION.md. This is a TEMPLATE contatining placeholders in square brackets (e.g. [PROJECT_NAME], [PRINCIPLE_1_NAME], etc.)
Mission
- Collect/derive concrete values
- Fill template precisely
- Propagate or amendments across dependent artifacts
Steps (Strict Order)
1. Read Existing Constitution Template
Identity every placeholder token of the form [ALL_CAPS_IDENTIFIER] in the template. Create a todo list of required information to fill in each placeholder.
IMPORTANT: The principles may less or more than defined in the template. Follow the user's instructions to fit the template accordingly.
2. Gather Required Information
If user already provided the necessary information, use it directly. Otherwise, infer from existing project documentation (e.g. README, docs, prior constitution versions if embedded) if possible.
RATIFICATION_DATEis the original date adopted, if unknown ask or mark as "TODO"LAST_AMENDMENT_DATEis today when making changes, otherwise keep previous dateCONSTITUTION_VERSIONmust increment according to semantic versioning rules:- MAJOR: Backward-incompatible changes applied to principles or governance
- MINOR: New principle/section added or guideance expanded without conflicting prior rules
- PATCH: Clarifications, typos, non-semantics refinements
If version bump is unclear, propose reasoning before finalizing. Ask user to make each information explicit if cannot be inferred.
3. Draft Constitution Content
- Replace each placeholder with concrete text without any placeholders remaining.
- Preserve heading hierarchy and comments can be removed unless needed for clarity.
- Ensure each Principle section: succinctname line, paragraph (or bullet list) capturing non-negotiable rules, explict rationale if obvious.
- Ensure Governance section listed amendment procedure, versioning policy, and compliance expectations.
4. Consistency Check
Read any guidance documents (e.g. README.md, CONTRIBUTING.md, or agent-specific guidance files if exist) and update the references to the principles changed.
5. Produce Amendedment Report
Append after the YAML frontmatter as an HTML comment after update.
- Version Changes:
old -> new(e.g.2.0.0 -> 2.1.0) - Bump Rationale: explain why made the version change
- List of modified principles
- List of added sections
- List of removed sections
- Follow-up TODOS: if any placeholders could not be filled
7. Review
- Ensure no placeholders remain without any reasonable explanation.
- Version information is matched amendment report.
- Dates ISO format (YYYY-MM-DD).
- Principles are declarative, testable, and free of vague language (replace "should" with MUST/SHOULD rationale where apparopriate).
8. Finalize
Save the updated constitution back to docs/CONSTITUTION.md (overwrite existing file).
9. Summarize Changes
- New version and rationale
- Any follow-up actions needed
Formatting Guidelines
- Use Markdown headings exactly as in the template. (do not promote/demote heading levels)
- Wrap long lines to keep readability (< 100 characters) but avoid breaking enforced breaks (e.g., lists, code blocks).
- Keep single blank line between sections for clarity.
- Avoid trailing whitespace.
Modification Rules
No matter partial or full updates, always follow steps above to ensure consistency and completeness. Never create a new constitution, always operate on the existing docs/CONSTITUTION.md file.
Missing Information
Any critical missing information (e.g. ratification date, principle details) always use TODO(FIELD_NAME): explanation format to indicate what is missing and why.