mirror of https://codeberg.org/glenneth/stash.git
3.3 KiB
3.3 KiB
Stash Development Notes
Project Status (as of last update)
Version
- Current Version: 0.1.0-alpha.1
Core Components
-
Main Script
- Location:
stash.scm - Status: Functional with recursive stashing support
- Features: Command-line interface, recursive mode, help system
- Location:
-
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
- Location:
Guix Integration
-
Channel Configuration
- Location:
.guix-channel/ - Status: Configured for distribution
- URL: https://codeberg.org/glenneth/stash
- Branch: main
- Location:
-
Package Definition
- Location:
.guix-channel/stash/packages/stash.scm - Build System: GNU Build System
- Dependencies: guile-3.0
- Location:
Documentation
-
README.md
- Basic installation instructions
- Key features
- Usage examples
- Recently updated with Guix installation method
-
USER_GUIDE.md
- Comprehensive installation guide
- Shell configuration (Fish, Bash, Zsh)
- Usage examples
- Troubleshooting
- Recently added with detailed setup instructions
-
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
-
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
-
Package System
- Configured proper Guix channel distribution
- Updated package definition for channel distribution
- Added minimal-package.scm for local development
-
Testing Improvements
- Implemented comprehensive test suite for paths and tree modules
- Fixed fold-tree implementation in tree module
- Resolved module import conflicts
- Fixed declarative module warnings
- Added proper test coverage for path normalization
- Improved test organization and clarity
Next Steps
-
Documentation
- Add API documentation for modules
- Include more advanced usage examples
-
Features
- Enhance conflict resolution
- Add backup functionality
- Improve error reporting
Known Issues
No major issues currently. All previous warnings have been resolved:
- Fixed warning about canonicalize-path override by renaming to normalize-path
- Fixed read-string import conflict in conflict module
- Fixed declarative module warning in test runner
- Auto-compilation messages resolved with GUILE_AUTO_COMPILE=0
Repository Structure
-
Root Directory
- stash.scm: Main executable
- run-tests.sh: Test runner script
- .dev-notes.md: Development notes and tracking
- README.md: Project overview
- USER_GUIDE.md: Detailed user documentation
-
Modules
- modules/stash/: Core functionality modules
- tests/: Test suite and helpers
- .guix-channel/: Guix distribution configuration