- Implement
ExtractEmbeddedConfigs()ininternal/config/loader.go- Write files from
defaults/...to<baseDir>/defaults/... - Handle all subdirectories properly
- Add proper error handling
- Write files from
- Expand
//go:embedto include all defaults - Remove double-call to
ExtractEmbeddedConfigs()- Keep only the call in
main.go - Remove redundant calls
- Keep only the call in
- Add runtime checks on type assertions
- Extend switch statement to cover all subfolders
- Improve error handling for type assertions
- Add support for
language_managersdirectory
- Decide between
interfaces.ToolInstallerandpipeline.Installer- Choose
pipeline.Installerfor its advanced features - Document decision in code comments
- Choose
- Update code based on chosen strategy
- Remove
interfaces.ToolInstallerinterface - Update documentation to reflect pipeline usage
- Clean up project structure docs
- Remove
- Remove dead code
- Remove unused
ToolInstallerimplementations - Clean up any remaining references
- Remove unused
- Implement retry/timeouts and rollback support
- Add retry configuration to pipeline steps
- Implement rollback for failed installations
- Add timeout configuration for long-running operations
- Replace hard-coded lists with loader calls
- Update
cmd/init - Update
cmd/up
- Update
- Update UI prompts to use configuration data
- Fonts
- Languages
- Language managers
- Dotfiles
- Create
DotfilesManagerimplementation- Clone user's repo URL
- Handle file operations (backup, symlink, copy)
- Implement post-install hooks
- Handle restart requirements
- Wire into installation phases
- Add to
cmd/up - Add to
cmd/init
- Add to
- Implement rollback functionality
- Add rollback to installation steps
- Test rollback scenarios
- Add retry mechanism
- Implement for network-dependent steps
- Add timeout handling
- Test retry scenarios
- Add unit tests
- Config merging
- Loader fallbacks
- Bad YAML handling
-
ExtractEmbeddedConfigs
- Add pipeline tests
- Step execution
- Rollback behavior
- Timeout handling
- Add integration tests
- Full "init → up" flow
- LXC container testing
- Idempotency verification
- Total Issues: 7
- Completed Issues: 2 (Issue #1 - Fix embedded-defaults extraction, Issue #2 - Harden the merge logic)
- In Progress: 1 (Issue #3 - Unify installation strategy)
- Remaining Issues: 4
- Last Updated: [Current Date]
- Next Focus: Complete installation strategy unification (Issue #3)
- Priority: High - Fix core functionality before moving to features