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
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ 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

- Introduced `specify update` for selectively refreshing templates, scripts, and command prompts without touching `.specify/memory` or previously generated specs, plans, and tasks. Supports dry-run previews, non-interactive application, and removes allowlisted files that were dropped upstream.

## [0.0.20] - 2025-10-14

### Added
Expand Down
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ The `specify` command supports the following options:
| Command | Description |
|-------------|----------------------------------------------------------------|
| `init` | Initialize a new Specify project from the latest template |
| `update` | Refresh templates and scripts in an existing project without touching generated artifacts |
| `check` | Check for installed tools (`git`, `claude`, `gemini`, `code`/`code-insiders`, `cursor-agent`, `windsurf`, `qwen`, `opencode`, `codex`) |

### `specify init` Arguments & Options
Expand Down Expand Up @@ -221,6 +222,29 @@ specify init my-project --ai claude --github-token ghp_your_token_here
specify check
```

### `specify update` Workflow

Keep your project templates current without overwriting specs, plans, or constitution files.

- Downloads the latest release bundle that matches your assistant (`--ai`) and script preference (`--script`).
- Applies changes only to the allowlisted directories (`.specify/templates`, `.specify/scripts`, `.specify/commands`, top-level `templates/` and `scripts/`).
- Removes allowlisted files that no longer exist upstream so stale commands/scripts do not linger.
- Skips `.specify/memory`, existing specs, tasks, and other generated artifacts so historical work stays intact.
- Supports `--dry-run` to preview changes and `--yes` for non-interactive automation.

Run the command from inside an initialized project:

```bash
# Preview updates without touching the filesystem
specify update --dry-run

# Apply the curated updates with a single confirmation prompt
specify update

# Fully non-interactive apply (useful in CI)
specify update --yes
```

### Available Slash Commands

After running `specify init`, your AI coding agent will have access to these slash commands for structured development:
Expand Down
12 changes: 12 additions & 0 deletions docs/local-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,18 @@ ls -l scripts | grep .sh

On Windows you will instead use the `.ps1` scripts (no chmod needed).

## 5a. Refresh Template Assets Safely

When testing template changes, run the update flow inside a generated project rather than re-running `init` every time:

```bash
cd /path/to/generated/project
specify update --dry-run # inspect changes sourced from your dev build
specify update --yes # apply the curated template/scripts diff
```

Only the allowlisted template directories are touched; `.specify/memory` and previously generated specs remain untouched so you can validate migrations without losing test data.

## 6. Run Lint / Basic Checks (Add Your Own)

Currently no enforced lint config is bundled, but you can quickly sanity check importability:
Expand Down
1 change: 1 addition & 0 deletions docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,4 @@ implement specs/002-create-taskify/plan.md
- Read the complete methodology for in-depth guidance
- Check out more examples in the repository
- Explore the source code on GitHub
- When a new Spec Kit release drops, run `specify update --dry-run` inside your project to preview template changes before applying them
Loading