Releases: lavantien/dotfiles
v5.9.0
OpenCode via Bun on Windows
Changed
- OpenCode AI CLI Installation: Windows now uses
bun install -g opencode-aiinstead of the official bash installer. This avoids HOME environment variable path issues when calling bash from PowerShell. Linux/macOS continue using the proven official curl|bash installer.
Added
- PowerShell Profile: Added
@argstoUpdate-AllPackagesfunction, allowing flags to pass through theupalias (e.g.,up -SkipPip) - deploy.ps1: Automatically reloads profile functions into Global scope after deployment, so changes take effect immediately without restarting the shell
- update-all.sh: Shows
--skip-pipstatus in summary output when flag is used
Migration
No migration needed. The next up run will use bun for opencode on Windows.
Full Changelog: v5.8.0...v5.9.0
v5.8.0
What's Changed
Fixed
update-all - OpenCode AI CLI Update Reliability (Windows)
- Added process termination before opencode update (Windows can't replace running executables)
- Stops any running
opencode.exeprocesses before running the official installer - Prevents silent update failures when opencode is running during update
update-all - OpenCode Version Detection (Bash)
- Aligned bash script with bootstrap: now cleans up npm shims BEFORE version checks
- Uses full binary path for version checks instead of PATH
- Removes old npm shims that could shadow the official binary
- Prevents false version detection from npm shim shadowing
deploy.ps1 - Verbose Script Deployment Logging
- Added detailed logging showing source and destination timestamps for script files
- Helps diagnose deployment issues by making file copy operations visible
Changed
update-all.sh - OpenCode Update Section Refactored
- Clean up npm/bun shims first, then check if binary exists at official installer location
- Consistent with bootstrap script's approach to opencode installation management
Full Changelog: v5.7.0...v5.8.0
v5.7.0 - Bootstrap GCC and update-all AI CLI Verification
Fixed
Bootstrap - GCC Installation Verification (Windows)
- Fixed gcc installation check to verify the command actually works via
gcc --version - Added command execution verification before skipping installation as "up to date"
- Added
--versionverification inInstall-ScoopPackagefunction - Fixes issue where gcc was skipped as "up to date" even though shim was broken
- Now properly reinstalls gcc when command exists but doesn't execute correctly
update-all - Claude Code and OpenCode Update Verification (Windows)
- Fixed Claude Code CLI update to verify command actually works before attempting update
- Fixed OpenCode AI CLI update to verify binary exists AND works before updating
- Added robust version parsing using regex match instead of fragile
.Matches.Value - Added execution verification after updates to confirm tools work
- Added shim cleanup for old npm/bun installations that could shadow official binaries
- Added handling for inconclusive version checks with fallback update attempts
- Ensures PATH is properly set during skips, not just installs
Rationale:
The update-all script was trusting file existence checks and version string parsing without verifying tools actually work. This was the same class of issue as the gcc fix in bootstrap.ps1 - tools could be detected as "installed" but have broken shims or fail to execute. The fix adds actual execution verification (--version checks with exit code validation) to ensure tools are functional before and after updates. Version parsing now uses PowerShell regex match groups instead of .Matches.Value which can fail on unexpected output formats.
Commits
v5.6.0 - GCC Installation Verification Fix
Fixes
Bootstrap - GCC Installation Verification (Windows)
- Fixed gcc installation check to verify the command actually works via
gcc --version - Added command execution verification before skipping installation as "up to date"
- Added
--versionverification inInstall-ScoopPackagefunction - Fixes issue where gcc was skipped as "up to date" even though shim was broken
- Now properly reinstalls gcc when command exists but doesn't execute correctly
Details
The bootstrap was trusting Scoop's package state and file existence checks without verifying the command actually works. This caused broken shims to be detected as "installed", skipping the reinstallation. The fix adds actual execution verification to ensure the tool is functional before considering it "up to date".
Full Changelog
See CHANGELOG.md for complete version history.
v5.5.0
[5.5.0] - 2026-02-07
Added
update-all - Skip Pip Flag
- Added
--skip-pipflag to bash update-all.sh script - Added
-SkipPipparameter to PowerShell update-all.ps1 script - Allows skipping pip package updates to speed up update cycles
- Useful when pip packages are stable and you want faster updates
Documentation
- Updated README Bootstrap Options table with new Update-All Options section
- Documents
--skip-pip/-SkipPipflag usage
Fixed
update-all - pip Update Method (Windows)
- Changed from
pip install --upgrade piptopython -m pip install --upgrade pip - Using
python -m pipis the recommended method on Windows - Avoids issues with pip launcher and multiple Python installations
- Applies to both pip self-upgrade and package updates
update-all - OpenCode CLI Update
- Fixed version comparison to use npm registry as source of truth
- Fixed opencode update to remove npm/bun-installed versions before running bash installer
- Fixed version detection after update - now uses installed binary path directly
- This prevents issues where npm/bun versions in PATH shadow the bash-installed binary
- Corrected GitHub repo reference from
opencode-ai/opencodetoanomalyco/opencode - The opencode project migrated:
sst/opencode->anomalyco/opencode
v5.4.0 - Remove Hookify Integration
[5.4.0] - 2026-02-05
Removed
Hookify Plugin Integration
- Removed all hookify quality check rules from dotfiles (15 rule files deleted)
- Removed hookify deployment logic from
deploy.shanddeploy.ps1 - Removed hookify references from
README.mdandallow.sh - Hookify was causing PreToolUse hooks to fire on every tool call (including read-only tools like
find_symbol) - Quality checks now handled by individual project configurations instead
Rationale:
Hookify's PreToolUse hook was registered without tool matchers, causing it to run on every single tool invocation. This included read-only tools like find_symbol, Read, and even the Bash tool. The plugin's event filtering logic had a bug where unmapped tools (event=None) would skip event filtering entirely, potentially loading all rules regardless of their event type. This caused significant performance degradation and unnecessary test runs.
Changed
Documentation Updates
- Updated README.md AI-Native Agentic Development section to remove hookify references
- Updated Claude Code Hooks section to reflect current hook architecture
- Clarified that quality checks are now project-specific configurations
Full Changelog: https://github.com/lavantien/dotfiles/blob/main/CHANGELOG.md
v5.3.14
Fixed
Bootstrap - Test-Command False Positive (Windows)
- Fixed bug in
bootstrap/lib/common.ps1whereTest-Commandreturned true for non-existent commands - Removed
where.exefallback that was causing false positives where.exereturns error output (treated as truthy) when command not foundGet-Commandalone is sufficient and handles PATH resolution correctly- This fixes SQLite installation on Windows (and any other tools that may have been skipped)
Rationale:
The where.exe fallback was intended as redundancy but introduced a bug: PowerShell treats any non-empty output (including error messages) as truthy. This caused the bootstrap to incorrectly detect tools as "already installed" when they weren't, skipping their installation.
v5.3.13
[5.3.13] - 2026-02-03
Added
Bootstrap - SQLite CLI (All Platforms)
- Added sqlite installation to bootstrap scripts for all platforms
- Windows: installs via Scoop (
sqlitepackage) - Linux/macOS: installs via Homebrew (
sqlitepackage) - Installed in Phase 5 (CLI Tools) alongside fzf, zoxide, bat, eza, lazygit, gh, ripgrep, fd
- Command:
sqlite3for SQL database operations - Added package descriptions to platform-specific files
Documentation
- Updated README Core Features to include sqlite in CLI tools list
- Updated CLI Tools section with sqlite entry
Changed
Bootstrap Options Table (README)
- Removed
-SkipUpdate/--skip-updateparameter row (deprecated in v5.3.12)
Full Changelog: v5.3.12...v5.3.13
v5.3.12
Changes in v5.3.12 (2026-02-03)
Added
- GCC C/C++ Toolchain (Windows): Added gcc installation via Scoop to Windows bootstrap
- Winget Unknown Package Support: Added
--include-unknownflag to winget upgrade command
Removed
- Bootstrap Update Step: Removed Phase 7 (Update All) from bootstrap scripts
- Skip Update Parameter: Removed
-SkipUpdate/--skip-updateparameter
Bootstrap now focuses solely on installation. Users can run up (update-all) separately when they want to update packages.
See CHANGELOG.md for full version history.
v5.3.11 - Hookify Integration
Changes
CLAUDE.md Simplification
- Restructured from XML-tag format to plain markdown Development Protocol
- Removed verbose XML tags for cleaner sections
- Consolidated Prime Directives, Tool Hierarchy, Code Standards
- More concise and AI-parsable while preserving essential guidance
Hookify Integration
- PostToolUse hooks deprecated in favor of Hookify rules
- Added 16 language-specific quality check reminders
- Deploy scripts updated for Hookify support
- Comprehensive Hookify documentation in README
Deploy Scripts
- deploy.sh: Removed PostToolUse hook deployment and registration
- deploy.sh: Added hookify rules deployment with count display
- deploy.ps1: Added hookify rules count display
Documentation
- README: Added Hookify rules section with 16 language rules
- CHANGELOG: Added v5.3.11 entry
Migration Notes
PostToolUse hooks are now deprecated. Run deploy.sh or deploy.ps1 to update your configuration. Hookify rules work immediately after deployment without restart.