A small collection of Zod schemas implementing the JSON Resume specification. This package provides TypeScript-friendly validation schemas based on the canonical JSON Resume schema (from https://github.com/jsonresume/resume-schema).
- Zod schemas for common JSON Resume sections (basics, work, education, skills, projects, etc.).
- Top-level
jsonResumeSchemaandJsonResumetype for validating/parsing full resume objects. - Small, dependency-light package —
zodis a peer dependency.
This repo is published under the package name @allindevelopers/resume-schema-zod.
Locally, install dependencies for development:
npm installTo use this package in another project, install zod and the package (when published):
npm install zod @allindevelopers/resume-schema-zodNote: zod is listed as a peerDependency (v4+).
Import the schemas or types you need. Typical entry points exported from the package:
jsonResumeSchema— Zod schema for the whole resume objectJsonResume— TypeScript type inferred fromjsonResumeSchema- Individual section schemas and types are exported from
src/schemas/*(for examplebasicsSchema,educationItemSchema,workItemSchema, ...)
Example (TypeScript):
import {
jsonResumeSchema,
JsonResume,
} from "@allindevelopers/resume-schema-zod";
import { z } from "zod";
// Suppose `data` is an unknown object (from JSON.parse, an API, etc.)
const result = jsonResumeSchema.safeParse(data);
if (!result.success) {
console.error("Invalid resume:", result.error.format());
} else {
const resume: JsonResume = result.data;
// resume is now typed and validated
}Or use parse() when you want it to throw on invalid data:
const resume = jsonResumeSchema.parse(data);npm run build— compile TypeScript (tsc)npm test— placeholder test script (no tests included)
- This project uses TypeScript and Prettier. See
tsconfig.jsonandprettier.config.js. - Run
npm run buildto type-check / compile.
All public exports are re-exported from src/index.ts. Key exports include:
jsonResumeSchema(Zod schema)JsonResume(inferred TypeScript type)- Per-section schemas:
basicsSchema,workItemSchema,educationItemSchema,skillsItemSchema, etc.
Browse src/schemas to see exact schema shapes and names.
Contributions are welcome. Small tasks that help: add tests, expand schema coverage, or provide examples.
If you're submitting changes:
- Fork the repo and create a branch.
- Run
npm installandnpm run buildto validate. - Open a PR with a clear description.
This repository is licensed under the MIT License (as declared in package.json). See the LICENSE file in the project root for the exact license text and terms.