Extension ID
charter
Extension Name
Charter
Version
v0.3.1
Description
Compose modular project constitutions from shared fragment registries.
Centralize governance rules, select per-project fragments, track upstream changes, and keep multi-project setups consistent.
Author
Fyloss
Repository URL
https://github.com/Fyloss/spec-kit-charter
Download URL
https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.3.1.zip
License
MIT
Homepage (optional)
https://github.com/Fyloss/spec-kit-charter
Documentation URL (optional)
https://github.com/Fyloss/spec-kit-charter/tree/master/docs
Changelog URL (optional)
https://github.com/Fyloss/spec-kit-charter/blob/master/CHANGELOG.md
Required Spec Kit Version
=0.11.9
Required Tools (optional)
Number of Commands
5
Number of Hooks (optional)
1
Tags
constitution, governance, modular, fragments, registry
Key Features
- Centralize shared rules as reusable fragments in a registry (local directory or git repo)
- Select fragments per project: mandatory, recommended, and optional
- Compose a final constitution by assembling selected fragments + project-specific rules
- Track changes: detect when fragments are modified locally vs. updated in the registry
- Support monorepos: sub-constitutions scope rules to specific packages
Testing Checklist
Submission Requirements
Testing Details
Tested on:
- macOS 26 with Spec Kit v0.12.0
- Linux Ubuntu 24 with Spec Kit v0.12.0
Test project: local basic NextJs app (front + back)
Test scenarios:
- Installed extension
specify extension add charter --from https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.3.1.zip
- Configured settings
- Pick a registry location
- Select constitution fragments
Output: Generated config.yml + state.yml files in .specify/charter
-
Run composition
/speckit.charter.compose
Output: new .specify/memory/constitution.md file with selected fragments (using /speckit.constitution command to preserve compatibility with Spec kit hooks and metadata)
-
Verified outputs
.specify/memory/constitution.md now have all selected fragments.
Example Usage
#### 1. Set Up a Registry
Create a fragment registry (local directory or git repo):
.charter/
├── manifest.yml
├── fragments/
│ ├── global/
│ │ ├── compliance.md
│ │ └── code-quality.md
│ └── languages/
│ └── typescript/
│ └── standards.md
└── sub-constitutions/
├── package-auth.md
└── package-api.md
Create `manifest.yml`:
version: 1
name: "My Organization Charter Registry"
mandatory_fragments:
- "global/compliance"
recommended_fragments:
- "global/code-quality"
You can skip step 2 entirely. If no configuration exists yet, running
`/speckit.charter.compose` directly will perform the configuration inline:
#### Compose the constitution (express mode)
/speckit.charter.compose
The combined flow:
1. **Asks for the registry value** (proposing the current/default `.charter`) —
first input
2. Shows the fragment list and asks for your **selection** — second input
3. Displays the composition summary (no confirmation prompt)
4. Proceeds automatically to generate the constitution
### Other commands
| Command | Description |
|---------|-------------|
| `/speckit.charter.compose update` | Update all fragments from registry |
| `/speckit.charter.compose update <name>` | Update a single fragment |
| `/speckit.charter.add <name>` | Add a new fragment from the registry |
| `/speckit.charter.remove <name>` | Remove a fragment from the composition |
| `/speckit.charter.restore` | Restore constitution to last backup |
Proposed Catalog Entry
{
"charter": {
"name": "Charter",
"id": "charter",
"description": "Constitution Composer from shared fragment registries",
"author": "Fyloss",
"version": "0.3.1",
"download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.3.1.zip",
"repository": "https://github.com/Fyloss/spec-kit-charter",
"homepage": "https://github.com/Fyloss/spec-kit-charter",
"license": "MIT",
"requires": {
"speckit_version": ">=0.11.9"
},
"provides": {
"commands": 5
},
"tags": ["constitution", "governance", "modular", "fragments", "registry"],
"verified": false,
"downloads": 10,
"stars": 2,
"created_at": "2026-07-01T00:00:00Z",
"updated_at": "2026-07-03T04:00:00Z"
}
}
Additional Context
No response
Extension ID
charter
Extension Name
Charter
Version
v0.3.1
Description
Compose modular project constitutions from shared fragment registries.
Centralize governance rules, select per-project fragments, track upstream changes, and keep multi-project setups consistent.
Author
Fyloss
Repository URL
https://github.com/Fyloss/spec-kit-charter
Download URL
https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.3.1.zip
License
MIT
Homepage (optional)
https://github.com/Fyloss/spec-kit-charter
Documentation URL (optional)
https://github.com/Fyloss/spec-kit-charter/tree/master/docs
Changelog URL (optional)
https://github.com/Fyloss/spec-kit-charter/blob/master/CHANGELOG.md
Required Spec Kit Version
Required Tools (optional)
Number of Commands
5
Number of Hooks (optional)
1
Tags
constitution, governance, modular, fragments, registry
Key Features
Testing Checklist
Submission Requirements
extension.ymlmanifest includedTesting Details
Tested on:
Test project: local basic NextJs app (front + back)
Test scenarios:
Output: Generated config.yml + state.yml files in .specify/charter
Run composition
/speckit.charter.composeOutput: new
.specify/memory/constitution.mdfile with selected fragments (using /speckit.constitution command to preserve compatibility with Spec kit hooks and metadata)Verified outputs
.specify/memory/constitution.mdnow have all selected fragments.Example Usage
Proposed Catalog Entry
{ "charter": { "name": "Charter", "id": "charter", "description": "Constitution Composer from shared fragment registries", "author": "Fyloss", "version": "0.3.1", "download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.3.1.zip", "repository": "https://github.com/Fyloss/spec-kit-charter", "homepage": "https://github.com/Fyloss/spec-kit-charter", "license": "MIT", "requires": { "speckit_version": ">=0.11.9" }, "provides": { "commands": 5 }, "tags": ["constitution", "governance", "modular", "fragments", "registry"], "verified": false, "downloads": 10, "stars": 2, "created_at": "2026-07-01T00:00:00Z", "updated_at": "2026-07-03T04:00:00Z" } }Additional Context
No response