Files
ResumeCustomizer/output/README.md

2.3 KiB

Output Pipeline Overview

This directory contains the post-processing side of ResumeCustomizer. It is responsible for taking a job-targeted Markdown resume produced elsewhere in the system and turning it into printable DOCX/PDF artifacts.

Directory Layout

  • ForRelease/inbox: drop a single *.md file here to trigger conversion.
  • ForRelease/outbox/YYYY/MM/DD/HHMM: conversion results (paired .docx and .pdf) organized by timestamp so repeated runs never overwrite each other.
  • ForRelease/processed/YYYY/MM/DD/HHMM: archives of Markdown files that converted successfully.
  • ForRelease/failed: Markdown files that encountered an error during conversion (contains .gitkeep to preserve the directory).
  • Docker/: container definition, watcher script, and helper wrapper that run the conversion daemon.

All ForRelease subdirectories include .gitkeep/.gitignore files so generated resumes stay local and out of version control.

Running the Output Processor

Use the wrapper so the container writes files with your UID/GID:

cd output/Docker
./run-output-processor.sh up -d

The script detects either the Docker Compose plugin or the legacy docker-compose binary and forwards any additional arguments you supply (down, logs, etc.). The stack registers under the project name RCEO-AI-ResumeCustomizer-Output, and the primary container is RCEO-AI-ResumeCustomizer-Output-Processor.

What the Watcher Does

  1. Polls ForRelease/inbox every few seconds for a single Markdown resume.
  2. Runs Pandoc using the shared DOCX and LaTeX templates to generate DOCX/PDF.
  3. Drops the exports into the timestamped folder under ForRelease/outbox.
  4. Moves the original Markdown into the matching timestamp folder under ForRelease/processed.
  5. If the Pandoc conversion fails, moves the Markdown into ForRelease/failed so it can be reviewed without blocking subsequent runs.

Prerequisites

  • Docker Engine with either the Compose plugin (docker compose) or standalone docker-compose.
  • Pandoc templates available under input/templates relative to the repo root (mounted read-only into the container).

Stop the service with:

cd output/Docker
./run-output-processor.sh down

Log output is available through ./run-output-processor.sh logs -f.