Chewy converts a resume JSON file into publishable output files from the command line.
Supported outputs: html, pdf, json, csv, yaml, txt.
pnpm install
pnpm build
./bin/chewy --input ./resume.jsonIf --input is omitted, Chewy looks for ./resume.json in your current directory.
By default, outputs are written to ./out.
Chewy validates your input using resume.schema.json.
Minimal example:
{
"name": "Arthur Morgan",
"title": "Senior Software Engineer",
"contact": {
"email": "arthur.morgan@example.com",
"phone": "555-0100",
"location": "Austin, TX",
"linkedin": "https://www.linkedin.com/in/arthurmorgan",
"github": "https://github.com/arthurmorgan"
},
"summaries": {
"default": "Senior engineer with experience building web products.",
"backend": "Backend-focused engineer with API and platform depth."
},
"experience": [
{
"company": "Example Corp",
"role": "Senior Engineer",
"start": "2021-01",
"end": null,
"dates_display": "Jan 2021 - Present",
"location": "Remote",
"highlights": ["Led migration of core services.", "Reduced deploy time by 40%."]
}
],
"skills": {
"languages": ["TypeScript", "Python"],
"platforms": ["AWS", "Docker"]
},
"projects": []
}Export all formats:
./bin/chewy --input ./resume.json --format allExport only selected formats:
./bin/chewy --input ./resume.json --format html,pdf,txtSet output directory:
./bin/chewy --input ./resume.json --out-dir ./dist/resumeChoose summary variant:
./bin/chewy --input ./resume.json --summary backendUse a custom Handlebars template:
./bin/chewy --input ./resume.json --template ./templates/custom-resume.hbsChewy requires a TTY terminal and prompts for output filename (without extension).
If you press Enter, it uses the input filename.
Example: input resume.json, selected formats html,pdf:
out/resume.htmlout/resume.pdf
--help,-h: Show usage and available options.--input,-i: Resume JSON path. Default:./resume.json(if present).--out-dir,-o: Output directory. Default:./out.--format,-f:allor comma-separated list ofhtml,pdf,json,csv,yaml,txt.--summary: Summary key fromsummaries. Default:default.--template: Custom Handlebars template path.
PDF export requires a Chromium-based browser.
If auto-detection fails, set:
CHROME_PATH=/path/to/chrome ./bin/chewy --input ./resume.json --format pdf- Invalid resume structure fails fast with a schema error.
- Missing
--inputand no./resume.jsonfails with an input error. - Errors are printed in ASCII-safe text for terminal compatibility.