merge VLM skills into a single workflow expert skill

This commit is contained in:
windyboy
2026-02-13 12:01:10 +08:00
parent 54416065fe
commit 5931f16a71
6 changed files with 292 additions and 0 deletions
@@ -0,0 +1,30 @@
# VLM Developer Guide
## Project Structure
- `src/vlm/cli.py`: Entry point and command definitions.
- `src/vlm/parser.py`: Regex-based filename parsing logic.
- `src/vlm/enrichment.py`: Pipeline for external metadata fetching.
- `src/vlm/providers/`: API implementations (e.g., TMDB).
- `src/vlm/planner.py`: Logic for mapping identities to filesystem operations.
- `src/vlm/executor.py`: Safe file manipulation and rollback logging.
## Adding a New Command
1. Create a new module in `src/vlm/commands/`.
2. Define the command using `@click.command()`.
3. Register it in `src/vlm/cli.py` using `main.add_command()`.
## Modifying the Parser
- The parser uses a sequence of regex patterns in `src/vlm/parser.py`.
- Add new patterns to the `PATTERNS` list or improve existing ones.
- Always run `pytest tests/test_parser.py` after changes.
## Data Models
See `src/vlm/models.py` for core data structures:
- `VideoFile`: Basic file metadata.
- `MediaIdentity`: Parsed and enriched information.
- `PlanOperation`: Definition of a file move/rename/quarantine.
## Testing
- **Unit Tests**: `pytest`
- **Property-based Tests**: `pytest tests/test_analysis_properties.py` (uses Hypothesis).
- **Integration Tests**: `pytest tests/test_reports_integration.py`.