- Removed duplicate task
tito:download:current(usetito:download:ticketsinstead) - Standardized all file naming to
pycon-ireland-YYYY-{type}.{ext}format
task workflow:complete- Complete automated workflow (convert → download → generate)- Runs all steps with a single command when Sessionize file is ready
task check- Verify environment setup (tokens, venv, fonts, tools)- All critical tasks now have precondition checks with helpful error messages
- Smart file dependency tracking with
sources:andgenerates:
task show:files- List all generated files for current eventtask show- Display current YEAR and EVENT variablestask clean- Remove generated files for current eventtask clean:all- Remove all generated files (with confirmation prompt)
- Added
summary:blocks to all major tasks - Use
task --summary <task-name>for detailed task information - Precondition messages guide users on which command to run next
- Tickets:
pycon-ireland-YYYY-tickets.json - Speakers:
pycon-ireland-YYYY-speakers.json - Badges:
pycon-ireland-YYYY-badges.pdf - Reports:
pycon-ireland-YYYY-report.xlsx
app:sessionize:speakers→sessionize:convertdownload:current→tito:download:ticketsapp:tickets:download→ removed (duplicate)download:tickets:all→tito:download:allapp:badges→badges:generateapp:count-tickets→tickets:counttickets-count→tito:count:apiapp:tickets:graph→tickets:graphmerge:tickets→report:generatedistribution:size:*→tshirts:distribution:*
- All descriptions now show exact file names using
{{ .EVENT }}interpolation - Example: "Download tickets for pycon-ireland-2025 → pycon-ireland-2025-tickets.json"
- Clearer, more informative output in
task --list
- Created
PYTHONvariable for consistent virtualenv usage - All Python commands now use
{{ .PYTHON }} - Uniform virtualenv usage across all tasks
- Removed hardcoded Tito token (was in
tito:count:api)
- Added
--outputparameter tobuild_badge.pycommand - Automatic deletion of old PDF before generation
- Predictable output filename:
pycon-ireland-YYYY-badges.pdf
- Added "Quick Start - Automated Workflow" section
- New "Useful Tips" section covering:
- Checking setup with
task check - Viewing files with
task show:files - Getting task details with
task --summary - Cleaning up with
task clean - Email mapping for speakers - Complete documentation with examples
- Checking setup with
- Updated "Available Tasks" with all new commands
- Added notes about smart rebuilds and error handling
- Reorganized for better flow and discoverability
- 10+ new tasks added
- All tasks have descriptive
desc:fields - Major tasks include detailed
summary:documentation - Preconditions prevent common errors
- Smart dependencies with
sources:andgenerates:
- File existence checks before operations
- Tool availability checks (jq, httpie)
- Virtual environment validation
- Clear error messages with actionable guidance
- Task caching based on file timestamps
- Only rebuilds when source files change
- Faster iteration during development
- One-command workflow for common tasks
- Self-documenting task summaries
- Consistent naming conventions
- Helpful error messages
- Easy cleanup and reset options
If you have scripts using old task names:
# Old → New
task download:current → task tito:download:tickets
task app:sessionize:speakers → task sessionize:convert
task app:badges → task badges:generate
task app:count-tickets → task tickets:count
task app:tickets:graph → task tickets:graph
task merge:tickets → task report:generate
task distribution:size:current → task tshirts:distribution:currentTaskfile.yaml- Complete overhaul with 10+ improvementsREADME.md- Comprehensive documentation updatebuild_badge.py- Added--outputparameter tobuildcommand.gitignore- Added specific patterns for generated filesemails.mapping.csv.example- Added template for email mappings
- 10 major improvements implemented
- 13 task names standardized
- 6 new utility tasks added
- 20+ tasks now have precondition checks
- 15+ tasks have detailed summaries