kurdishcv
v2.0.0
Published
Resume engine for KurdishCV — schema, ATS, PDF, templates, and AI optimizeResume (SpaceXAI / xAI).
Downloads
264
Maintainers
Readme
kurdishcv
Resume engine for kurdishcv.com.
Schema · validation · ATS · PDF · 18 templates · AI optimizeResume — zero required runtime dependencies.
npm install kurdishcvAI — optimizeResume (v2.0)
Default provider: SpaceXAI / xAI (https://api.x.ai/v1, model grok-4.5).
export XAI_API_KEY=your_key # https://console.x.aiimport { optimizeResume, generatePDF } from "kurdishcv";
const { resume, analysis, changes, previousAnalysis } = await optimizeResume(
resume,
{
jobDescription: `
Senior engineer with leadership and strong communication.
React, TypeScript, and measurable delivery experience required.
`,
},
);
console.log(changes);
// ["Updated professional summary", "Improved experience descriptions", …]
console.log(previousAnalysis.score, "→", analysis.score);
// Export the optimized CV
const { bytes } = await generatePDF(resume, { template: "violet" });Providers
| Provider | When |
|----------|------|
| xai (default) | SpaceXAI / Grok — needs XAI_API_KEY or apiKey |
| openai | OpenAI-compatible API (OPENAI_API_KEY) |
| local | Offline deterministic rewrite (no network, great for tests) |
| custom | Pass complete(prompt, system) => Promise<string> |
// Offline
await optimizeResume(resume, { provider: "local", jobDescription: "…" });
// Custom model endpoint
await optimizeResume(resume, {
provider: "openai",
baseUrl: "https://api.openai.com/v1",
model: "gpt-4o-mini",
apiKey: process.env.OPENAI_API_KEY,
jobDescription: "…",
});Keep API keys server-side only. Never ship
XAI_API_KEYin a browser bundle.
Templates
import { templates, getTemplate, generatePDF } from "kurdishcv";
templates.length; // 18
await generatePDF(resume, { template: "crimson" }); // or 4, or "modern"ATS analysis
import { analyzeResume } from "kurdishcv";
const report = analyzeResume(resume, { jobDescription: "…" });
// score, suggestions, missingKeywords, ats, …Schema & core
import type { Resume } from "kurdishcv";
import {
validateResume,
calculateCompletion,
normalizeResume,
parseResume,
toApiPayload,
createEmptyResume,
} from "kurdishcv";API map
| Area | Functions |
|------|-----------|
| AI | optimizeResume, localOptimizeResume |
| PDF | generatePDF, downloadPDF, renderResumeHtml |
| Templates | templates, getTemplate, listTemplates, TEMPLATE_CONFIGS |
| ATS | analyzeResume, extractKeywords |
| Core | validateResume, calculateCompletion, sanitizeResume |
| Schema | normalizeResume, parseResume, toApiPayload, resumeJsonSchema |
Roadmap
| Version | Focus | Status |
|---------|--------|--------|
| 1.0 | Core engine | Done |
| 1.1 | ATS analysis | Done |
| 1.2 | Official schema | Done |
| 1.3 | PDF generation | Done |
| 1.4 | Templates | Done |
| 2.0 | AI optimizeResume | Current |
Development
cd packages/kurdishcv
npm install
npm test
npm run buildLicense
MIT © KurdishCV
