# Stash Development Notes ## Project Status (as of last update) ### Version - Current Version: 0.1.0-alpha.1 ### Core Components 1. Main Script - Location: `stash.scm` - Status: Functional with recursive stashing support - Features: Command-line interface, recursive mode, help system 2. Modules - Location: `modules/stash/` - Components: - help.scm: Help text and command documentation - colors.scm: Terminal color support - log.scm: Logging functionality - paths.scm: Path manipulation utilities - conflict.scm: Conflict resolution - file-ops.scm: File operations - package.scm: Package information - tree.scm: Directory tree handling ### Guix Integration 1. Channel Configuration - Location: `.guix-channel/` - Status: Configured for distribution - URL: ~~~~ - Branch: main 2. Package Definition - Location: `.guix-channel/stash/packages/stash.scm` - Build System: GNU Build System - Dependencies: guile-3.0 ### Documentation 1. README.md - Basic installation instructions - Key features - Usage examples - Recently updated with Guix installation method 2. USER_GUIDE.md - Comprehensive installation guide - Shell configuration (Fish, Bash, Zsh) - Usage examples - Troubleshooting - Recently added with detailed setup instructions 3. channels.scm.example - Example Guix channel configuration - Updated to use Codeberg repository ### Development Environment - Build System: Copy Build System (for local development) - Test Environment: Created test-source/ directory with sample files - Shell Integration: Configured for Fish, Bash, and Zsh ### Recent Changes 1. Documentation Updates - Added USER_GUIDE.md with comprehensive setup instructions - Updated README.md with Guix installation method - Improved markdown formatting in documentation - Updated repository links to Codeberg 2. Package System - Configured proper Guix channel distribution - Updated package definition for channel distribution - Added minimal-package.scm for local development ### Next Steps 1. Testing - Implement comprehensive test suite - Add more test cases for recursive mode 2. Documentation - Add API documentation for modules - Include more advanced usage examples 3. Features - Enhance conflict resolution - Add backup functionality - Improve error reporting ### Known Issues 1. Warnings - Intermittent warning about canonicalize-path override - Auto-compilation messages (resolved with GUILE_AUTO_COMPILE=0) ### Repository Structure ```sh stash/ ├── .guix-channel/ │ └── stash/ │ └── packages/ │ └── stash.scm ├── modules/ │ └── stash/ │ ├── colors.scm │ ├── conflict.scm │ ├── file-ops.scm │ ├── help.scm │ ├── log.scm │ ├── package.scm │ ├── paths.scm │ └── tree.scm ├── test-source/ ├── .gitignore ├── README.md ├── USER_GUIDE.md ├── channels.scm.example ├── minimal-package.scm └── stash.scm ```