### Extension ID charter ### Extension Name Charter ### Version 0.6.1 ### Description **This is an update to an existing entry** Updates version metadata and changelog to reflect the current release state of the Charter extension. Changed extension.yml: Bumped version from 0.5.1 to 0.6.1. This issue was created following instructions in [the doc](https://github.com/github/spec-kit/blob/main/extensions/EXTENSION-PUBLISHING-GUIDE.md#release-workflow) ### Author Fyloss ### Repository URL https://github.com/Fyloss/spec-kit-charter ### Download URL https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.6.1.zip ### License MIT ### Homepage (optional) https://github.com/Fyloss/spec-kit-charter ### Documentation URL (optional) https://github.com/Fyloss/spec-kit-charter/blob/master/README.md ### Changelog URL (optional) https://github.com/Fyloss/spec-kit-charter/blob/master/CHANGELOG.md ### Required Spec Kit Version >= 0.11.9 ### Required Tools (optional) ```markdown ``` ### 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 - [x] Extension installs successfully via download URL - [x] All commands execute without errors - [x] Documentation is complete and accurate - [x] No security vulnerabilities identified - [x] Tested on at least one real project ### Submission Requirements - [x] Valid `extension.yml` manifest included - [x] README.md with installation and usage instructions - [x] LICENSE file included - [x] GitHub release created with version tag - [x] All command files exist and are properly formatted - [x] Extension ID follows naming conventions (lowercase-with-hyphens) ### 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:** 1. Installed extension ```bash specify extension add charter --from https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.3.1.zip ``` 2. Configured settings ``` /speckit.charter.config ``` - Pick a registry location - Select constitution fragments Output: Generated config.yml + state.yml files in .specify/charter 3. 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) 4. Verified outputs `.specify/memory/constitution.md` now have all selected fragments. ### Example Usage ```markdown #### 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 ```json { "charter": { "name": "Charter", "id": "charter", "description": "Constitution Composer from shared fragment registries", "author": "Fyloss", "version": "0.6.1", "download_url": "https://github.com/Fyloss/spec-kit-charter/archive/refs/tags/v0.6.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": 38, "stars": 7, "created_at": "2026-07-01T00:00:00Z", "updated_at": "2026-09-02T04:00:00Z" } } ``` ### Additional Context _No response_