diff --git a/.dev-notes.md b/.dev-notes.md new file mode 100644 index 0000000..a955b13 --- /dev/null +++ b/.dev-notes.md @@ -0,0 +1,125 @@ +# 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 +``` diff --git a/.gitignore b/.gitignore index a31fb39..49ef76e 100644 --- a/.gitignore +++ b/.gitignore @@ -18,5 +18,7 @@ Thumbs.db *.swp *.swo -# Development notes -.dev-notes.md +# Test and build files +test-channels.scm +test-package.scm +*.tar.gz