mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-09-14 20:16:53 +08:00
2.9 KiB
2.9 KiB
1. Update Archive Command Implementation
- 1.1 Add
skipSpecsoption to the archive command options interface - 1.2 Modify the execute method to skip spec operations when flag is set
- 1.3 Fix confirmation behavior: when user declines spec updates, proceed with archiving instead of cancelling
- 1.4 Update console output to indicate when specs are being skipped (via flag or user choice)
- 1.5 Ensure archive continues after declining spec updates
2. Update CLI Interface
- 2.1 Add
--skip-specsflag to the archive command definition - 2.2 Pass the flag value to the archive command execute method
3. Update Tests
- 3.1 Add test case for archiving with --skip-specs flag
- 3.2 Add test case for declining spec updates but continuing with archive
- 3.3 Verify that spec updates are skipped when flag is used
- 3.4 Verify that archive proceeds when user declines spec updates
- 3.5 Ensure existing behavior remains unchanged when flag is not used
4. Update Documentation
- 4.1 Update the cli-archive spec to document the new --skip-specs flag
- 4.2 Document the new behavior when declining spec updates interactively
Implementation Notes
Key Design Decisions
-
Non-blocking Confirmation Behavior: When users decline spec updates interactively, the archive operation continues rather than cancelling entirely. This was a critical UX improvement because:
- Users may want to review specs separately before updating them
- Archiving work shouldn't be blocked by spec review decisions
- Maintains flexibility in the deployment workflow
-
Flag Naming Convention: Chose
--skip-specsfor clarity and consistency:- Clearly indicates the action (skipping) and target (specs)
- Follows kebab-case convention for CLI flags
- Converts naturally to
skipSpecscamelCase in code
-
Console Messaging Strategy: Added explicit messages for all spec-skipping scenarios:
- When flag is used: "Skipping spec updates (--skip-specs flag provided)."
- When user declines: "Skipping spec updates. Proceeding with archive."
- Ensures users always understand what's happening with their specs
-
Test Coverage Approach: Created separate test cases for:
- Flag-based skipping (explicit user choice via CLI)
- Interactive declining (runtime user decision)
- Both verify the same outcome but test different code paths
Use Cases Addressed
- Infrastructure Changes: Changes to build tools, CI/CD, dependencies
- Documentation Updates: README updates, comment improvements
- Tooling Modifications: Developer tools, scripts, configuration files
- Refactoring: Code improvements that don't change functionality/specs
Future Considerations
- Could potentially auto-detect when changes don't include specs and suggest using the flag
- May want to track which archives skipped spec updates for audit purposes