tailorit
v1.0.0
Published
AI-powered CV tailoring CLI tool
Maintainers
Readme
tailorit
AI-powered CV tailoring CLI tool. Takes your base CV and a job description, tailors the CV using an LLM, and exports a professional PDF.
Setup
npm install
npm run buildConfiguration
Create ~/.tailorit.yaml with your defaults:
provider: anthropic # or openai, openai-compat
model: claude-sonnet-4-20250514
apiKey: sk-ant-...
cv: ~/cv.yaml # default CV pathSupported providers:
- anthropic — Claude models via Anthropic API
- openai — OpenAI models (GPT-4o, etc.)
- openai-compat — Any OpenAI-compatible API (Ollama, LM Studio, Groq, Together, etc.)
For local models via Ollama:
provider: openai-compat
model: llama3
baseUrl: http://localhost:11434/v1Environment variables (TAILORIT_PROVIDER, TAILORIT_MODEL, TAILORIT_API_KEY, TAILORIT_BASE_URL) and CLI flags override config file values.
Usage
1. Bootstrap your CV from an existing PDF
tailorit init --from-pdf ./my-resume.pdf
# → writes cv.yaml — review and edit for accuracy2. Import a job description
# From a URL (scrapes the page)
tailorit job --url https://example.com/jobs/123
# From a PDF
tailorit job --pdf ./job-description.pdf
# From a text file
tailorit job --text ./job.txt3. Tailor and export
tailorit tailor --job ./job.yaml
# → writes tailored-cv.pdfOverride defaults per invocation:
tailorit tailor --job ./job.yaml --cv ./other-cv.yaml --provider openai-compat --model llama3 --base-url http://localhost:11434/v1 -o custom.pdfExamples
See the examples/ directory for sample CV and job description files.
Requirements
- Node.js 20+
- An LLM API key (for paid providers) or a local LLM server (e.g., Ollama)
Contributing
Development
npm install
npm run build
npm test
npm run lintCommit messages must follow the Conventional Commits spec — this is enforced by a git hook.
CI/CD
| Workflow | Trigger | Steps |
|---|---|---|
| CI | Pull request to main | Lint, Build, Test |
| Release | Push to main | Build, Test, semantic-release |
Releases are fully automated via semantic-release. Version bumps, changelogs, GitHub releases, and npm publishes happen automatically based on commit messages.
Required GitHub repository secrets
| Secret | Purpose |
|---|---|
| NPM_TOKEN | Publish releases to npm. Generate at npmjs.com → Access Tokens → Automation token. |
GITHUB_TOKEN is provided automatically by GitHub Actions.
