- Deleted the `renamer.decorators` package, including `caching.py` and `__init__.py`, to streamline the codebase. - Updated tests to reflect changes in import paths for caching decorators. - Added a comprehensive changelog to document major refactoring efforts and future plans. - Introduced an engineering guide detailing architecture, core components, and development setup.
119 lines
1.9 KiB
Markdown
119 lines
1.9 KiB
Markdown
# Developer Guide
|
|
|
|
**Version**: 0.7.0-dev
|
|
**Last Updated**: 2026-01-01
|
|
|
|
> **📘 For complete development documentation, see [ENGINEERING_GUIDE.md](ENGINEERING_GUIDE.md)**
|
|
|
|
Quick reference for developers working on the Renamer project.
|
|
|
|
---
|
|
|
|
## Quick Setup
|
|
|
|
```bash
|
|
# Install UV
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
|
|
# Clone and setup
|
|
cd /home/sha/bin/renamer
|
|
uv sync --extra dev
|
|
```
|
|
|
|
---
|
|
|
|
## Essential Commands
|
|
|
|
```bash
|
|
# Run from source
|
|
uv run renamer [directory]
|
|
|
|
# Run tests
|
|
uv run pytest
|
|
|
|
# Run with coverage
|
|
uv run pytest --cov=renamer
|
|
|
|
# Type check
|
|
uv run mypy renamer/
|
|
|
|
# Version bump
|
|
uv run bump-version
|
|
|
|
# Full release
|
|
uv run release
|
|
|
|
# Build distribution
|
|
uv build
|
|
```
|
|
|
|
---
|
|
|
|
## Debugging
|
|
|
|
```bash
|
|
# Enable detailed logging
|
|
FORMATTER_LOG=1 uv run renamer /path/to/directory
|
|
|
|
# Check logs
|
|
cat formatter.log
|
|
|
|
# Clear cache
|
|
rm -rf ~/.cache/renamer/
|
|
```
|
|
|
|
---
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
# All tests
|
|
uv run pytest
|
|
|
|
# Specific file
|
|
uv run pytest renamer/test/test_services.py
|
|
|
|
# Verbose
|
|
uv run pytest -xvs
|
|
|
|
# Generate sample files
|
|
uv run python renamer/test/fill_sample_mediafiles.py
|
|
```
|
|
|
|
See [ENGINEERING_GUIDE.md - Testing Strategy](ENGINEERING_GUIDE.md#testing-strategy)
|
|
|
|
---
|
|
|
|
## Release Process
|
|
|
|
```bash
|
|
# 1. Bump version
|
|
uv run bump-version
|
|
|
|
# 2. Run full release
|
|
uv run release
|
|
|
|
# 3. Test installation
|
|
uv tool install .
|
|
|
|
# 4. Manual testing
|
|
uv run renamer /path/to/test/media
|
|
```
|
|
|
|
See [ENGINEERING_GUIDE.md - Release Process](ENGINEERING_GUIDE.md#release-process)
|
|
|
|
---
|
|
|
|
## Documentation
|
|
|
|
- **[ENGINEERING_GUIDE.md](ENGINEERING_GUIDE.md)** - Complete technical reference
|
|
- **[README.md](README.md)** - User guide
|
|
- **[INSTALL.md](INSTALL.md)** - Installation instructions
|
|
- **[CHANGELOG.md](CHANGELOG.md)** - Version history
|
|
- **[REFACTORING_PROGRESS.md](REFACTORING_PROGRESS.md)** - Future plans
|
|
- **[ToDo.md](ToDo.md)** - Current tasks
|
|
|
|
---
|
|
|
|
**For complete documentation, see [ENGINEERING_GUIDE.md](ENGINEERING_GUIDE.md)**
|