stash/.dev-notes.md

3.1 KiB

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

  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

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