* chore(nix): improve flake with dynamic version and source filtering
- Read version dynamically from package.json instead of hardcoding
- Add lib.fileset source filtering to exclude node_modules and build artifacts
- Update update-flake.sh to support dynamic version pattern
- Add hash change detection to skip unnecessary rebuilds
- Improve error handling with automatic rollback on failure
- Update specs to reflect dynamic version behavior
* chore(ci): bump Nix actions to latest versions
- nix-installer-action: v13 → v21
- magic-nix-cache-action: v8 → v13
- Update validation message for unchanged flake.nix
* chore: add changeset for Nix improvements
* fix(nix): make update-flake.sh portable to macOS
- Fix grep pattern on line 37 to include opening parenthesis
- Replace GNU grep -oP with portable sed alternatives (lines 53, 68, 70)
- Ensures script works on both Linux and macOS (BSD sed/grep)
* fix(nix): properly check build verification exit status
Fix logic bug where build failures were incorrectly reported as success.
The script now:
- Captures build exit code and output separately
- Fails fast if build returns non-zero exit code
- Only checks for 'dirty tree' warning if build succeeded
This addresses CodeRabbit review feedback on line 101-107.
---------
Co-authored-by: Tabish Bidiwale <30385142+TabishB@users.noreply.github.com>
* feat(cli): add interactive UI for artifact experimental setup
Add animated welcome screen and searchable multi-select prompt when
running `openspec artifact-experimental-setup` without the --tool flag
in interactive mode. Users can now browse and select multiple tools
for setup instead of requiring the --tool flag.
- Add welcome screen with ASCII art animation
- Add searchable multi-select prompt component
- Support multi-tool setup in single command invocation
* fix(nix): update flake version and reset hash for rebuild
- Update version from 0.20.0 to 0.23.0 to match package.json
- Set pnpmDeps hash to empty string to trigger rebuild
- Fix update-flake.sh to work on macOS (use portable grep/sed)
CI will fail with correct hash which we'll then apply.
* fix(nix): set correct pnpmDeps hash
* feat(cli): improve error handling for multi-tool setup
- Continue setup for remaining tools when one fails
- Collect and report all failures at the end
- Only throw if all tools fail
- Show partial success summary (configured vs failed)