- Create VERSION file (start at 0.1.0)
- Create setup.sh script
- Check/install pandoc
- Check/install yq
- Check LaTeX installation and provide recommendations
- Setup shell sourcing (method TBD based on open questions)
- Define YAML configuration structure
- Create example templates structure in templates/
- Fix shell syntax issues in markdown.sh
- Fix variable assignments (remove spaces around =)
- Fix function calls and conditionals
- Add proper error handling
- Implement md2docx reference file resolution
- Implement format-template function
- Read .writing.yml configuration
- Template variable substitution (name, email, etc.)
- Dynamic date generation ({{date}} → "Month Day, Year")
- Proper markdown URL formatting (email → email)
- Handle missing template or config gracefully
- Implement job-apply function
- Parameter validation
- Directory creation
- Use format-template() instead of cp
- YAML metadata creation
- Job description scraping
- Implement job-status function
- Find application across status directories
- Show current status
- Move between status directories
- Implement job-log function
- Summary by status
- Detailed listings
- Date/time information
- Add configuration file support
- Default template selection
- Output directory preferences
- User-specific settings
- Improve url-scrape function
- Better error handling
- Content validation
- Metadata extraction
- Custom Chrome path support
- Add template validation
- Check required templates exist
- Validate YAML frontmatter
- Template compatibility checks
- Advanced customization
- Custom path/naming convention overrides
- Auto-format on markdown changes (file watching)
- Template variable substitution from config
- Git commit workflow for job applications
- Add job-commit function
- Auto-generate commit messages from application metadata
- Handle git add for application files
- Example: "Added application for Acme Corp, Engineering Manager"
- Add inline documentation to all functions
- Create usage examples
- Add error recovery suggestions
- Performance optimizations
- Cross-platform compatibility testing
- Research and document recommended VSCode extensions
- Markdown editing (Markdown All in One)
- YAML editing (YAML)
- Shell script support (ShellCheck)
- File organization (File Utils)
- Template snippets support
- Create .vscode/settings.json with optimal configuration
- Markdown preview settings
- File associations for .writing.yml
- Auto-formatting preferences
- Workspace-specific settings
- Create .vscode/tasks.json for workflow integration
- job-apply task with input prompts
- job-format task for current file/directory
- job-status task with application picker
- Quick format tasks (md2docx, md2pdf)
- Template generation tasks
- Create .vscode/extensions.json with recommended extensions
- Core markdown and YAML support
- Optional productivity extensions
- Shell script linting
- Add VSCode snippets for template variables
- Company/position placeholder snippets
- Personal info variable snippets
- Quick resume/cover letter section snippets
- Create workspace configuration for multi-root workspace
- Support separate blog/ and applications/ folders
- Consistent settings across project types
- Test all functions with various inputs
- Validate pandoc output formats
- Test Chrome/curl fallback scenarios
- Verify file permissions and paths
- Test setup.sh on clean systems
- Test VSCode integration on clean installs
- 0.1.0: Initial TODO and basic structure
- 0.2.0: Core script functionality working
- 0.3.0: Job application workflow complete
- 0.4.0: Configuration and templates finalized
- 1.0.0: Ready for public template repo
- Increment VERSION on every commit
- Only minor version bump (0.X.0) for breaking changes
- Only major version bump (1.0.0) for public release
- Keep existing blog/ and job_search/ directories untouched
- Focus on simplicity and clear documentation
- Test each feature thoroughly before moving to next item