TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Tailor your resume to a specific job posting. ResumeDB reorders your experience and skills by relevance and puts an AI rewrite beside every bullet, aimed at the job. You keep your own wording or take the AI's, bullet by bullet, then download the result as Word and PDF.
Built with Next.js, Supabase (accounts + Postgres), and Claude.
email=[email protected] password=dev-only-not-a-secret
Needs Node 20+.
npm install.env.example to .env.local and fill in the keys (see below).npm run dev, then open http://localhost:3000.anon public key into .env.local as NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY.supabase/migrations/0001_profile.sql, then 0002_grants.sql, then 0003_tracker.sql, then 0004_prompts.sql. The first creates the profile tables with Row Level Security, so each user can only read and write their own rows; the second gives signed-in users access to those tables (without it every query fails with "permission denied"); the third adds the application tracker tables, with their own rules and grants; the fourth stores the AI prompts (see below).http://localhost:3000 and add http://localhost:3000/auth/callback to the Redirect URLs (plus your deployed URL's /auth/callback later).http://localhost:3000. Authorized redirect URI: https://<your-project>.supabase.co/auth/v1/callback.Supabase's built-in sender is for testing only, so confirmation emails go through Resend:
smtp.resend.com, port 465, username resend, password = the Resend API key, sender no-reply@<your domain>, sender name ResumeDB.The Resend key and Google secret live only in those dashboards, never in .env.local.
The parse and tailor instructions live in the prompts table, so you can change them without redeploying. Versions are never edited (the database blocks it); you add a new one and switch to it.
prompts → Insert row: name = tailor, version = the next number, system = the new instructions, notes = what changed. Leave is_active off.select activate_prompt('tailor', 2); The next tailoring uses it. Every run in llm_runs records which version it used (prompt_id, prompt_version).select activate_prompt('tailor', 1);Always switch with activate_prompt, never by ticking is_active by hand: between two separate saves there would be no live prompt and AI calls would fail. Local and deployed apps share this database, so a switch applies to both at once.
| Name | What it is |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Your Supabase project URL (safe for the browser) |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Your Supabase anon key (safe for the browser; RLS protects the data) |
ANTHROPIC_API_KEY | Claude API key, server only |
LLM_PROVIDER | claude |
LLM_MODEL | Optional, defaults to claude-opus-5-5 |