How jdubbs89/proofshot works
Proofshot is a Linux CLI for organizing project screenshots through indexed, categorized captures and export. The main workflow selects a project and column, resolves an index and filename, invokes a screenshot provider, then records the successful image and advances persistent counters. Users can also list screenshots, manage project columns and naming templates, upgrade legacy mappings, and package selected ranges into ZIP files. The README documents these capabilities; sampled excerpts support the central orchestration and storage edges, but not every command’s internal call sequence.
Main entry points: proofshot.py Command orchestration · config_service.py Project configuration · screenshot_service.py Capture safety · package_service.py ZIP packaging
Components 19
CLI workflow
- Command orchestration
proofshot.py - Index and naming
proofshot.py
Project organization
- Project configuration
lib/config_service.py - Column management
lib/config_service.py - Project and counters
- Project settings
- Content manifest
- Project PNGs
Capture providers
- Capture safety
lib/screenshot_service.py - Provider selection
lib/config_service.py
Listing and export
- Screenshot listing
proofshot.py - Legacy discovery
proofshot.py - Legacy upgrade
proofshot.py - Column and range selection
proofshot.py - ZIP packaging
lib/package_service.py - Package ZIP
Other components
- CLI user
- Flameshot
- GNOME Screenshot
Connections 24
- CLI user → Command orchestration: runs commands
- Command orchestration → Project configuration: loads and edits
- Project configuration → Project settings: reads and writes
- Project configuration → Project and counters: reads and writes
- Command orchestration → Index and naming: resolves capture
- Command orchestration → Provider selection: loads provider
- Provider selection → Project and counters: reads selection
- Command orchestration → Capture safety: captures image
- Capture safety → Flameshot: runs capture
- Capture safety → GNOME Screenshot: runs capture
- Command orchestration → Project PNGs: writes successful capture
- Command orchestration → Content manifest: records capture
- Command orchestration → Project and counters: persists directory and counters
- Command orchestration → Screenshot listing: lists screenshots
- Screenshot listing → Content manifest: uses content mappings
- Screenshot listing → Legacy discovery: discovers older files
- Legacy discovery → Project PNGs: scans PNGs
- Command orchestration → Legacy upgrade: upgrades project
- Legacy upgrade → Legacy discovery: reads legacy mappings
- Legacy upgrade → Content manifest: writes mappings
- Command orchestration → Column and range selection: starts packaging
- Column and range selection → ZIP packaging: passes selected files
- ZIP packaging → Project PNGs: reads PNGs
- ZIP packaging → Package ZIP: writes archive