Skip to content

Latest commit

 

History

History
136 lines (117 loc) · 4.75 KB

File metadata and controls

136 lines (117 loc) · 4.75 KB

Writing Workflow TODO

📋 IMPLEMENTATION TASKS

Phase 1: Foundation & Setup

  • 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/

Phase 2: Core Script Improvements

  • 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

Phase 3: Enhanced Features

  • 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"

Phase 4: Documentation & Polish

  • Add inline documentation to all functions
  • Create usage examples
  • Add error recovery suggestions
  • Performance optimizations
  • Cross-platform compatibility testing

Phase 5: VSCode Integration & Developer Experience

  • 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

Phase 6: Quality & Testing

  • 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

🔄 VERSION HISTORY PLAN

  • 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

📝 NOTES

  • 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