TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Edit a resume cleanly, then tailor a version for every job — without starting over.
Resumate is a LaTeX-based resume editor. Write once in a clean, ATS-friendly
template, then use AI to tailor a copy for each job posting — rewrite bullets,
shorten sections, and auto-fit to one page — while keeping the underlying
LaTeX source fully editable by hand.README 전문 보기 ↗Edit a resume cleanly, then tailor a version for every job — without starting over.
Quick start · Features · Architecture · Deploying · Contributing
Resumate is a LaTeX-based resume editor. Write once in a clean, ATS-friendly template, then use AI to tailor a copy for each job posting — rewrite bullets, shorten sections, and auto-fit to one page — while keeping the underlying LaTeX source fully editable by hand.
Fully open source, bring-your-own-everything. Point it at your own Supabase project, your own AI provider (Groq, OpenAI, OpenRouter, or a local model), and your own TeX host. Nothing in this repo depends on the original author's cloud accounts, and no resume data is ever sent anywhere you didn't configure yourself.
This repo ships two independent runtimes that solve the same problem with different privacy trade-offs. Pick one — most contributors only need the Next.js app.
Next.js (web/) — primary | FastAPI (repo root) — legacy/local | |
|---|---|---|
| Storage | Your Supabase project (RLS-scoped rows) | Browser IndexedDB — no server storage, no accounts |
| Auth | Supabase Auth (email) | None needed |
| Best for | Deploying a real, multi-device product | Running fully local, or a minimal self-hosted demo |
| Run it | cd web && npm run dev | python run.py |
Resume templates are defined independently in each runtime — the Next.js app's live in
web/lib/resume-template.ts, FastAPI's inapp/catalog.py+app/seed/*.tex. Editing one does not update the other.
resume-builder/
├── web/ # Next.js app (primary) — editor, auth, AI actions
│ ├── app/ # Routes, server actions, API handlers
│ ├── components/ # UI
│ ├── lib/ # Supabase clients, resume templates, utilities
│ └── packages/ # @resumate/one-page-lock (PDF auto-fit engine)
├── app/ # FastAPI app (legacy/local runtime)
│ ├── routers/ # /api/ai, /api/compile, /api/ats, ...
│ ├── services/ # LaTeX parsing/compile, AI prompting, ATS heuristics
│ └── seed/ # Seed .tex templates
├── supabase/ # SQL migrations for the Next.js app's schema
├── tests/ # pytest suite for the FastAPI runtime
└── templates/ # Server-rendered HTML (FastAPI's own UI)
cd web
cp .env.example .env.local # fill in your Supabase + AI keys
npm install
npm run dev
Apply the SQL in supabase/migrations/ to your Supabase project, then add
your local/deployed URL under Supabase Auth → Redirect URLs. No AI key yet?
Run with NEXT_PUBLIC_USE_MOCK_AI=true for offline UI work.
| Variable | Required | Notes |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | yes | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | yes | Publishable anon key (RLS-backed) |
NEXT_PUBLIC_SITE_URL | yes (auth) | Stable public origin for redirects |
SUPABASE_SERVICE_ROLE_KEY | recommended | Server-only; never NEXT_PUBLIC_ |
GROQ_API_KEY (or OPENAI_API_KEY / AI_API_KEY) | yes (live AI) | Server-only |
UPSTASH_REDIS_REST_URL / _TOKEN | recommended | Daily AI quota |
LATEX_COMPILE_URL | yes for PDF | Your TeX compile host |
NEXT_PUBLIC_USE_MOCK_AI | set false for prod | true = offline synthetic AI |
| Data | Where it goes |
|---|---|
| Resume LaTeX / title | Your Supabase resumes table (owner-only RLS) |
| Auth email | Your Supabase Auth |
| Vibe-edit prompt + resume text | Your configured AI provider |
| PDF compile | Your LATEX_COMPILE_URL TeX host (required in prod) |
| AI token counters | Your Upstash Redis (userId + daily count only) |
Production refuses latexonline.cc by default so resume PII is never sent to
a public third-party compiler — set LATEX_COMPILE_URL to a host you control.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # add your AI API key
python run.py
Open http://127.0.0.1:8000. Requires pdflatex for
PDF preview. Resume title, LaTeX, and version history live entirely in your
browser's IndexedDB; the server is stateless and ephemeral, used only for
AI calls and PDF compilation.
export RESUMATE_PUBLIC=1
export RESUMATE_HOST=0.0.0.0
export RESUMATE_PORT=8000
export RESUMATE_RELOAD=0
export GROQ_API_KEY=... # or OPENAI_API_KEY / AI_API_KEY
python run.py
Both runtimes call any OpenAI-compatible POST /v1/chat/completions endpoint
in JSON mode — Groq, OpenAI, OpenRouter, or a local Ollama/LM Studio shim all
work.
| Variable | Role |
|---|---|
GROQ_API_KEY or OPENAI_API_KEY or AI_API_KEY | Server-only API key |
GROQ_BASE_URL / OPENAI_BASE_URL / AI_BASE_URL | Optional base URL (default: Groq) |
RESUMATE_MODEL | Model id for that provider |
The Next.js app lives in web/, not the repo root.
web, framework Next.js.ALLOW_LATEX_ONLINE=1 in production unless you accept
sending resume PII to latexonline.cc.ruff check .
pytest -q
cd web && npm run typecheck && npm run lint && npm run test:e2e
Issues and PRs welcome — see CONTRIBUTING.md for local setup and the pre-PR checklist. Please read SECURITY.md before reporting a vulnerability.
MIT © Resumate contributors