{"id":51093524,"url":"https://github.com/mberrishdev/versume","last_synced_at":"2026-06-24T04:01:24.630Z","repository":{"id":363576206,"uuid":"1263704175","full_name":"mberrishdev/versume","owner":"mberrishdev","description":"CV editor backed by GitHub — every save is a git commit, every version is restorable","archived":false,"fork":false,"pushed_at":"2026-06-09T12:34:42.000Z","size":190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T14:15:37.330Z","etag":null,"topics":["cv","git"],"latest_commit_sha":null,"homepage":"https://versum.mberrishdev.me","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mberrishdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-09T07:34:53.000Z","updated_at":"2026-06-09T12:35:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mberrishdev/versume","commit_stats":null,"previous_names":["mberrishdev/versume"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mberrishdev/versume","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mberrishdev%2Fversume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mberrishdev%2Fversume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mberrishdev%2Fversume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mberrishdev%2Fversume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mberrishdev","download_url":"https://codeload.github.com/mberrishdev/versume/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mberrishdev%2Fversume/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34716326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cv","git"],"created_at":"2026-06-24T04:01:20.987Z","updated_at":"2026-06-24T04:01:24.609Z","avatar_url":"https://github.com/mberrishdev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Versume\n\nVersion your resume like code. A structured CV editor backed by GitHub — every save is a commit, every variant is a file, full history always available.\n\n## Features\n\n- **GitHub OAuth** — sign in with your GitHub account\n- **Auto-creates `cv-store`** — a private repo in your GitHub where all CV data lives as JSON\n- **Structured editor** — edit Personal, Experience, Projects, Education, Skills, and Languages\n- **Live preview** — see your CV rendered in real time as you type\n- **Version history** — every save is a GitHub commit; restore any past version\n- **Multiple CVs** — create variants (e.g. `backend`, `fullstack`) each as a separate file\n- **Draft persistence** — unsaved changes survive page refreshes via `localStorage`\n\n## Tech Stack\n\n- [Next.js](https://nextjs.org) 16 (App Router)\n- [NextAuth.js](https://next-auth.js.org) v4 — GitHub OAuth\n- [Octokit](https://github.com/octokit/rest.js) — GitHub API\n- [Tailwind CSS](https://tailwindcss.com) + [shadcn/ui](https://ui.shadcn.com)\n\n## Getting Started\n\n### 1. Create a GitHub OAuth App\n\nGo to **GitHub → Settings → Developer settings → OAuth Apps → New OAuth App**\n\n| Field | Value |\n|-------|-------|\n| Homepage URL | `http://localhost:3000` |\n| Authorization callback URL | `http://localhost:3000/api/auth/callback/github` |\n\n### 2. Configure environment\n\n```bash\ncp .env.example .env.local\n```\n\n```env\nGITHUB_CLIENT_ID=your_client_id\nGITHUB_CLIENT_SECRET=your_client_secret\nAUTH_SECRET=your_random_secret        # openssl rand -base64 32\nNEXTAUTH_URL=http://localhost:3000\n```\n\n### 3. Run\n\n```bash\nnpm install\nnpm run dev\n```\n\n## Data Structure\n\n```\ncv-store/           ← private GitHub repo auto-created on first login\n└── cvs/\n    ├── default.json\n    ├── backend.json\n    └── fullstack.json\n```\n\n## Deploy to Vercel\n\n1. Push to GitHub and import into [Vercel](https://vercel.com)\n2. Add env vars in Vercel project settings\n3. Update OAuth App callback URL to `https://your-app.vercel.app/api/auth/callback/github`\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmberrishdev%2Fversume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmberrishdev%2Fversume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmberrishdev%2Fversume/lists"}