mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-09-14 20:16:53 +08:00
1.9 KiB
1.9 KiB
Update Command Specification
Purpose
As a developer using OpenSpec, I want to update the OpenSpec instructions in my project when new versions are released, so that I can benefit from improvements to AI agent instructions.
Core Requirements
Update Behavior
The update command SHALL update OpenSpec instruction files to the latest templates.
WHEN a user runs openspec update THEN the command SHALL:
- Check if the
openspecdirectory exists - Replace
openspec/README.mdwith the latest template (complete replacement) - Update the OpenSpec-managed block in
CLAUDE.mdusing markers- Preserve user content outside markers
- Create
CLAUDE.mdif missing
- Display ASCII-safe success message: "Updated OpenSpec instructions"
Prerequisites
The command SHALL require:
- An existing
openspecdirectory (created byopenspec init)
IF the openspec directory does not exist THEN:
- Display error: "No OpenSpec directory found. Run 'openspec init' first."
- Exit with code 1
File Handling
The update command SHALL:
- Completely replace
openspec/README.mdwith the latest template - Update only the OpenSpec-managed block in
CLAUDE.mdusing markers - Use the default directory name
openspec - Be idempotent (repeated runs have no additional effect)
Edge Cases
File Permissions
IF file write fails THEN let the error bubble up naturally with file path.
Missing CLAUDE.md
IF CLAUDE.md doesn't exist THEN create it with the template content.
Custom Directory Name
Not supported in this change. The default directory name openspec SHALL be used.
Success Criteria
Users SHALL be able to:
- Update OpenSpec instructions with a single command
- Get the latest AI agent instructions
- See clear confirmation of the update
The update process SHALL be:
- Simple and fast (no version checking)
- Predictable (same result every time)
- Self-contained (no network required)