mirror of https://codeberg.org/glenneth/stash.git
119 lines
3.3 KiB
Markdown
119 lines
3.3 KiB
Markdown
# 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: <https://codeberg.org/glenneth/stash>
|
|
- 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
|
|
|
|
3. 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
|
|
|
|
1. Documentation
|
|
- Add API documentation for modules
|
|
- Include more advanced usage examples
|
|
|
|
2. 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
|
|
|
|
1. 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
|
|
|
|
2. Modules
|
|
- modules/stash/: Core functionality modules
|
|
- tests/: Test suite and helpers
|
|
- .guix-channel/: Guix distribution configuration
|