Release Date: 2026-01-04
Previous Version: v0.3.1
This release focuses on comprehensive repository management and worktree workflow improvements for nanions. Key highlights include a new repository configuration system supporting both global and local configs, intelligent worktree workflows with environment-aware actions, dynamic shell completion for bash and zsh, and enhanced support for non-NX monorepo project discovery.
Features
Repository Configuration Management ([SUR-57](https://linear.app/surkyl/issue/SUR-57))
- Global and local config support: Introduced a dual-level configuration system allowing repository settings to be defined globally (
~/.nanx/repos.yml) or per-repository (.repo.yml)
repos config command: New command (nanions::repos::config_cmd::handle_config_repos) for editing both global and local repository configurations with editor integration
- Shared worktree setup: Added
WorktreeRepoConfig struct to manage worktree-specific configuration, now stored at the global level rather than per-repository
Environment-Aware Worktree Workflow
- Intelligent worktree actions: Implemented
WorktreeAction enum with configurable behaviors (auto/cd/editor/none) based on environment detection
- Environment detection: New
EnvironmentInfo struct detects SSH sessions, desktop environments, terminal capabilities, and available editors
- Automatic worktree creation: Enhanced
git clone command to automatically create worktrees from bare repositories with proper branch setup
- Branch name reversal: Worktree directories now use reversed branch path components (e.g.,
feature/auth → auth.feature) for improved organization
- Subshell workflow: Implemented worktree subshell support for seamless context switching between worktrees
Dynamic Shell Completion System
- Bash and zsh support: Replaced static clap completions with custom dynamic completion scripts
- Context-aware completions: Dynamic completion handlers for git branches, remotes, tags, and repository-specific suggestions
- Installation automation: Automatic completion script installation with cache clearing for immediate activation
Non-NX Monorepo Support
- Project discovery: Added comprehensive project discovery system for non-NX monorepos
- Flexible project definitions: Support for custom project structures via
discovery and projects configuration in .repo.yml
- Minimal YAML serialization: Implemented streamlined YAML config with essential release and changelog keys
Non-Interactive Operations
--yes flag for rollback: Added non-interactive mode to rollback command with automatic flag injection during sudo re-execution
Bug Fixes
Git Worktree Command Ordering
- Correct argument order: Fixed
git worktree add command by reordering arguments to place force flag (-f) before positional arguments
- Explicit start point: Now explicitly specifies
HEAD as the start point when creating new branches to prevent ambiguous reference errors
Technical Changes
Worktree Configuration Migration
- Config location change: Moved worktree configuration from
.repo.yml to global ~/.nanx/repos.yml for better reusability across repositories
- Dependency updates: Enhanced
nanions::repos::dependency module to support new project discovery patterns
Code Quality Improvements
- Shell completion refactoring: Replaced clap_complete with custom completion system for better control and maintainability
- Updated setup instructions: Improved zsh completion setup documentation with cache clearing steps
Statistics
| Commits | 10 |
| Files Changed | 30 |
| Lines | +9625 / -163 |
| Issues Closed | 1 |
Contributors