Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,29 @@ All notable changes to the Specify CLI and templates are documented here.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- **Remote Constitutions Feature**: New capability to fetch and apply constitutions from remote GitHub repositories during project initialization
- `list-constitutions` command to browse available constitutions from a GitHub repository
- `--constitution-repo` option for `init` command to specify a GitHub repository containing constitutions
- `--constitution-name` option to directly specify which constitution to use
- `--constitution-interactive` flag to interactively select from available constitutions
- `--constitution-path` option to specify subdirectory within the constitution repository
- `--constitution-branch` option to fetch from a specific branch (default: main)
- Support for both public and private repositories (with GitHub token authentication)
- Comprehensive documentation in `docs/remote-constitutions.md`
- Example constitution repository guide in `docs/example-constitutions-repo.md`
- New helper functions `fetch_remote_constitutions_list()` and `fetch_remote_constitution_content()` to handle GitHub API interactions
- Constitution fetching integrated into the project initialization workflow with progress tracking

### Changed

- Enhanced `init` command help text to include remote constitution examples
- Updated README.md with remote constitution feature documentation and usage examples
- Added remote constitution options to CLI reference table in README.md

## [0.0.18] - 2025-10-06

### Added
Expand Down
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ The `specify` command supports the following options:
|-------------|----------------------------------------------------------------|
| `init` | Initialize a new Specify project from the latest template |
| `check` | Check for installed tools (`git`, `claude`, `gemini`, `code`/`code-insiders`, `cursor-agent`, `windsurf`, `qwen`, `opencode`, `codex`) |
| `list-constitutions` | List available constitutions from a remote GitHub repository |

### `specify init` Arguments & Options

Expand All @@ -166,6 +167,11 @@ The `specify` command supports the following options:
| `--skip-tls` | Flag | Skip SSL/TLS verification (not recommended) |
| `--debug` | Flag | Enable detailed debug output for troubleshooting |
| `--github-token` | Option | GitHub token for API requests (or set GH_TOKEN/GITHUB_TOKEN env variable) |
| `--constitution-repo` | Option | GitHub repository containing constitutions (format: 'owner/repo') |
| `--constitution-name` | Option | Name of the constitution to use from the remote repository |
| `--constitution-path` | Option | Path within constitution repository where constitutions are stored |
| `--constitution-branch`| Option | Branch to fetch constitution from (default: main) |
| `--constitution-interactive` | Flag | Interactively select a constitution from the remote repository |

### Examples

Expand Down Expand Up @@ -198,6 +204,19 @@ specify init --here --force --ai copilot
# Skip git initialization
specify init my-project --ai gemini --no-git

# Use a remote constitution from your company's repository
specify init my-project --constitution-repo myorg/constitutions --constitution-name python-microservices

# Interactively select a remote constitution
specify init my-project --constitution-repo myorg/constitutions --constitution-interactive

# List available constitutions
specify list-constitutions myorg/constitutions
specify list-constitutions myorg/constitutions --path backend
```

For more details on remote constitutions, see the [Remote Constitutions Guide](docs/remote-constitutions.md).

# Enable debug output for troubleshooting
specify init my-project --ai claude --debug

Expand Down
Loading