Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Resume CLI Generator

A simple, extensible command-line tool to build professional PDF resumes from structured JSON data. Includes interactive editing, AI-powered text-to-JSON conversion, and customizable templates—ideal for software engineers, security specialists, and contractors.

## Features

- **JSON-driven**: Keep your personal, skills, projects, education, and certifications data in `/data/*.json`
- **PDF Output**: One-command resume generation (`--generate`) produces a polished `resume.pdf`
- **Interactive Editing**: Update any section on the fly (`--update`)
- **AI Enrichment**: Convert free-text into structured JSON via OpenAI or Hugging Face (`--section`)
- **Modular & Extendable**: Plug in custom templates or data sources to suit your workflow

## Getting Started

### Prerequisites

- Python 3.7+
- `reportlab` for PDF generation
- (Optional) `openai` or `requests` for AI integration

```bash
pip install reportlab openai requests




Setup

    Clone the repo
    bash

    git clone https://github.com/your-username/resume-cli.git
    cd resume-cli

    Populate data files
    Place your JSON files in the /data directory:

        personal.json

        skills.json

        projects.json

        education.json

        certs.json
        (Use provided placeholders as starting point)

    Configure AI (optional)

        For OpenAI: Set OPENAI_API_KEY in environment

        For Hugging Face: Set HF_API_TOKEN

Usage
bash

# 1. Interactive update of all sections
python resume_cli.py --update

# 2. Generate the PDF resume
python resume_cli.py --generate

# 3. Convert free-text into JSON (e.g. personal section)
python resume_cli.py --section personal \
    --text "Alex Morgan, a cybersecurity engineer with expertise..." \
    --api openai

Customization

    Templates: Swap/extend draw_paragraph and layout code in resume_cli.py

    New Sections: Add JSON files + rendering blocks for certifications/languages/publications

    Output Formats: Integrate other libraries for Word/HTML exports

Contributing

    Fork the repository

    Create feature branch: git checkout -b feature/YourFeature

    Commit changes: git commit -m "Add YourFeature"

    Push branch: git push origin feature/YourFeature

    Open pull request

About

Generates PDF resumes, updates JSON data, and converts free-text into structured JSON via LLM.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages