Commit graph

3 commits

Author SHA1 Message Date
cf41a8c1c5 feat: improve installation system with user-local and system-wide options
Update justfile installation system to provide better user experience:

Installation Improvements:
- `just install` - installs to ~/bin (user-local, no sudo required)
- `just system-install` - installs to /usr/local/bin (system-wide, requires sudo)
- `just uninstall` - removes from ~/bin
- `just system-uninstall` - removes from /usr/local/bin (requires sudo)

Benefits:
- User-local installation by default (follows Unix best practices)
- No sudo required for personal installations
- Clear separation between user and system installs
- Easy uninstallation for both scenarios
- Helpful PATH reminder for ~/bin installation

Documentation Updates:
- Update CLAUDE.md with new installation commands
- Update IMPLEMENTATION_COMPARISON.md deployment examples
- Include uninstall instructions for both methods

This follows modern software distribution practices where user-local
installation is preferred for development tools, with system-wide
installation available when needed for shared environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 19:05:30 +02:00
2cd65fd137 feat: implement just-based build system with distinct binary names
Replace Makefile with justfile for better build management:

Build System Changes:
- Add comprehensive justfile with recipes for both implementations
- Configure Go to build as `mail2couch-go`
- Configure Rust to build as `mail2couch-rs` via Cargo.toml
- Add universal build, test, clean, and install recipes
- Include development convenience recipes and utility commands

New Justfile Features:
- `just build` - builds both implementations
- `just install` - installs both to /usr/local/bin
- `just test` - runs tests for both implementations
- `just sizes` - shows binary size comparison
- `just versions` - compares version outputs
- `just --list` - shows all available recipes

Documentation Updates:
- Update CLAUDE.md with justfile usage examples
- Replace make commands with just equivalents
- Add new utility commands (sizes, versions)
- Update IMPLEMENTATION_COMPARISON.md deployment sections

Benefits of just over make:
- Better command-line interface with `--list`
- More intuitive recipe syntax
- Better suited for development workflows
- Cross-platform compatibility
- Built-in help and documentation

Binary Naming:
- Go implementation: `mail2couch-go` (11M)
- Rust implementation: `mail2couch-rs` (8.3M)
- Clear distinction prevents conflicts
- Parallel installation support

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 19:01:42 +02:00
4829c3bbb9 docs: add comprehensive Go vs Rust implementation comparison
Add detailed technical comparison document covering:

Architecture & Design:
- Go: Sequential simplicity with minimal abstraction
- Rust: Async orchestration with comprehensive error handling

Performance & Scalability:
- Concurrency models (sequential vs async)
- IMAP filtering efficiency (client-side vs server-side)
- Error recovery and resilience patterns

Developer Experience:
- Code complexity and learning curves
- Dependency management approaches
- Compilation speed vs feature richness

Feature Matrix:
- Complete feature comparison table
- Use case recommendations
- Performance benchmarks and resource usage

Strategic Guidance:
- Migration guide for Go to Rust users
- Deployment considerations for both implementations
- Future development roadmap and focus areas

Provides clear guidance for users to choose the best implementation
for their specific needs, from personal use to production deployments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-03 18:46:49 +02:00