* chore(release): v5.1.0

* feat: implement resume thumbnails

* fix: remove unused mcp tools

* docs: fix formatting of docs
This commit is contained in:
Amruth Pillai
2026-05-07 15:12:33 +02:00
committed by GitHub
parent 51c366310e
commit 50ba37a27f
1015 changed files with 106087 additions and 141872 deletions
+25
View File
@@ -0,0 +1,25 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "base-nova",
"rsc": false,
"tsx": true,
"tailwind": {
"config": "",
"css": "../../packages/ui/src/styles/globals.css",
"baseColor": "zinc",
"cssVariables": true,
"prefix": ""
},
"iconLibrary": "phosphor",
"aliases": {
"components": "@reactive-resume/ui/components",
"utils": "@reactive-resume/utils/style",
"hooks": "@reactive-resume/ui/hooks",
"lib": "@reactive-resume/utils",
"ui": "@reactive-resume/ui/components"
},
"rtl": true,
"menuColor": "default-translucent",
"menuAccent": "subtle",
"registries": {}
}
+77
View File
@@ -0,0 +1,77 @@
import { defineConfig } from "@lingui/cli";
import { formatter } from "@lingui/format-po";
export default defineConfig({
sourceLocale: "en-US",
pseudoLocale: "zu-ZA",
locales: [
"af-ZA",
"am-ET",
"ar-SA",
"az-AZ",
"bg-BG",
"bn-BD",
"ca-ES",
"cs-CZ",
"da-DK",
"de-DE",
"el-GR",
"en-US",
"en-GB",
"es-ES",
"fa-IR",
"fi-FI",
"fr-FR",
"he-IL",
"hi-IN",
"hu-HU",
"id-ID",
"it-IT",
"ja-JP",
"km-KH",
"kn-IN",
"ko-KR",
"lt-LT",
"lv-LV",
"ml-IN",
"mr-IN",
"ms-MY",
"ne-NP",
"nl-NL",
"no-NO",
"or-IN",
"pl-PL",
"pt-BR",
"pt-PT",
"ro-RO",
"ru-RU",
"sk-SK",
"sl-SI",
"sq-AL",
"sr-SP",
"sv-SE",
"ta-IN",
"te-IN",
"th-TH",
"tr-TR",
"uk-UA",
"uz-UZ",
"vi-VN",
"zh-CN",
"zh-TW",
"zu-ZA",
],
fallbackLocales: {
"zu-ZA": "en-US",
default: "en-US",
},
format: formatter({
lineNumbers: false,
}),
catalogs: [
{
path: "<rootDir>/locales/{locale}",
include: ["src"],
},
],
});
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+111
View File
@@ -0,0 +1,111 @@
{
"name": "web",
"version": "0.0.0",
"type": "module",
"private": true,
"scripts": {
"build": "vite build",
"dev": "vite dev",
"serve": "vite preview",
"start": "node .output/server/index.mjs",
"typecheck": "tsgo --noEmit",
"test": "vitest run --passWithNoTests",
"test:coverage": "vitest run --coverage --passWithNoTests",
"test:ci": "vitest run --coverage --reporter=default --reporter=github-actions --reporter=json --reporter=junit --outputFile.json=reports/vitest-results.json --outputFile.junit=reports/vitest-junit.xml --passWithNoTests",
"test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests",
"lingui:extract": "lingui extract --clean --overwrite"
},
"dependencies": {
"@base-ui/react": "^1.4.1",
"@better-auth/api-key": "^1.6.9",
"@better-auth/infra": "^0.2.6",
"@better-auth/oauth-provider": "^1.6.9",
"@better-auth/passkey": "^1.6.9",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@lingui/core": "^6.0.1",
"@lingui/react": "^6.0.1",
"@modelcontextprotocol/sdk": "^1.29.0",
"@orpc/client": "^1.14.2",
"@orpc/json-schema": "^1.14.2",
"@orpc/openapi": "^1.14.2",
"@orpc/server": "^1.14.2",
"@orpc/tanstack-query": "^1.14.2",
"@orpc/zod": "^1.14.2",
"@phosphor-icons/react": "^2.1.10",
"@react-pdf/renderer": "^4.5.1",
"@reactive-resume/ai": "workspace:*",
"@reactive-resume/api": "workspace:*",
"@reactive-resume/auth": "workspace:*",
"@reactive-resume/db": "workspace:*",
"@reactive-resume/env": "workspace:*",
"@reactive-resume/fonts": "workspace:*",
"@reactive-resume/import": "workspace:*",
"@reactive-resume/pdf": "workspace:*",
"@reactive-resume/schema": "workspace:*",
"@reactive-resume/ui": "workspace:*",
"@reactive-resume/utils": "workspace:*",
"@tailwindcss/vite": "^4.2.4",
"@tanstack/react-form": "^1.29.1",
"@tanstack/react-hotkeys": "^0.10.0",
"@tanstack/react-query": "^5.100.9",
"@tanstack/react-router": "^1.169.2",
"@tanstack/react-router-ssr-query": "^1.166.12",
"@tanstack/react-start": "^1.167.65",
"@tanstack/zod-adapter": "^1.166.9",
"@tiptap/extension-color": "^3.22.5",
"@tiptap/extension-highlight": "^3.22.5",
"@tiptap/extension-table": "^3.22.5",
"@tiptap/extension-text-align": "^3.22.5",
"@tiptap/extension-text-style": "^3.22.5",
"@tiptap/pm": "^3.22.5",
"@tiptap/react": "^3.22.5",
"@tiptap/starter-kit": "^3.22.5",
"@types/js-cookie": "^3.0.6",
"@uiw/color-convert": "^2.10.1",
"@uiw/react-color-colorful": "^2.10.1",
"better-auth": "1.6.9",
"cmdk": "^1.1.1",
"drizzle-orm": "1.0.0-beta.22",
"es-toolkit": "^1.46.1",
"fast-deep-equal": "^3.1.3",
"fuse.js": "^7.3.0",
"immer": "^11.1.7",
"js-cookie": "^3.0.5",
"motion": "^12.38.0",
"pdfjs-dist": "5.7.284",
"pg": "^8.20.0",
"qrcode.react": "^4.2.0",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"react-resizable-panels": "^4.11.0",
"react-window": "^2.2.7",
"react-zoom-pan-pinch": "^4.0.3",
"sonner": "^2.0.7",
"srvx": "^0.11.15",
"ts-pattern": "^5.9.0",
"usehooks-ts": "^3.1.1",
"zod": "^4.4.3",
"zundo": "^2.3.0",
"zustand": "^5.0.13"
},
"devDependencies": {
"@lingui/babel-plugin-lingui-macro": "^6.0.1",
"@lingui/cli": "^6.0.1",
"@lingui/format-po": "^6.0.1",
"@lingui/vite-plugin": "^6.0.1",
"@reactive-resume/config": "workspace:*",
"@rolldown/plugin-babel": "^0.2.3",
"@types/pg": "^8.20.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@typescript/native-preview": "7.0.0-dev.20260507.1",
"@vitejs/plugin-react": "^6.0.1",
"babel-plugin-macros": "^3.1.0",
"nitro": "3.0.260429-beta",
"typescript": "^6.0.3",
"vite": "^8.0.11",
"vite-plugin-pwa": "^1.3.0"
}
}
+40
View File
@@ -0,0 +1,40 @@
import { existsSync } from "node:fs";
import path from "node:path";
import { drizzle } from "drizzle-orm/node-postgres";
import { migrate } from "drizzle-orm/node-postgres/migrator";
import { definePlugin } from "nitro";
import { Pool } from "pg";
import { env } from "@reactive-resume/env/server";
function resolveMigrationsFolder(): string {
let dir = import.meta.dirname;
while (dir !== path.dirname(dir)) {
const candidate = path.join(dir, "migrations");
if (existsSync(candidate)) return candidate;
dir = path.dirname(dir);
}
throw new Error(`Could not locate migrations folder relative to ${import.meta.dirname}`);
}
const migrationsFolder = resolveMigrationsFolder();
export default definePlugin(async () => {
console.info("Running database migrations...");
const connectionString = env.DATABASE_URL;
const pool = new Pool({ connectionString });
const db = drizzle({ client: pool });
try {
await migrate(db, { migrationsFolder });
console.info("Database migrations completed");
} catch (error) {
console.error("Database migrations failed", { error });
throw error;
} finally {
await pool.end();
}
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 958 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
+68
View File
@@ -0,0 +1,68 @@
{
"$schema": "https://fundingjson.org/schema/v1.1.0.json",
"version": "v1.1.0",
"entity": {
"type": "individual",
"role": "maintainer",
"name": "Amruth Pillai",
"email": "hello@amruthpillai.com",
"description": "Software Engineer",
"webpageUrl": {
"url": "https://rxresu.me/funding.json"
}
},
"projects": [
{
"guid": "reactive-resume",
"name": "Reactive Resume",
"description": "A free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.",
"webpageUrl": {
"url": "https://rxresu.me"
},
"repositoryUrl": {
"url": "https://github.com/amruthpillai/reactive-resume",
"wellKnown": "https://github.com/amruthpillai/reactive-resume/blob/main/.github/.well-known/funding-manifest-urls"
},
"licenses": ["spdx:MIT"],
"tags": ["data", "design", "productivity", "resume-builder"]
}
],
"funding": {
"plans": [
{
"guid": "sponsor",
"status": "active",
"name": "Sponsor",
"description": "Support the project on a recurring basis by becoming a sponsor.",
"amount": 10,
"currency": "EUR",
"frequency": "monthly",
"channels": ["github", "open-collective"]
},
{
"guid": "donation",
"status": "active",
"name": "Donation",
"description": "Show your support for the project by making a one-time donation.",
"amount": 0,
"currency": "EUR",
"frequency": "one-time",
"channels": ["github", "open-collective"]
}
],
"channels": [
{
"guid": "github",
"type": "payment-provider",
"description": "GitHub Sponsors",
"address": "https://github.com/sponsors/AmruthPillai"
},
{
"guid": "open-collective",
"type": "payment-provider",
"description": "Open Collective",
"address": "https://opencollective.com/reactive-resume"
}
]
}
}
+4
View File
@@ -0,0 +1,4 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#09090B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2518 137.634 61.6569 137.614C75.0665 136.968 85.1471 135.549 96.3849 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7678 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#09090B"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.4 KiB

+98
View File
@@ -0,0 +1,98 @@
{
"name": "Reactive Resume",
"short_name": "Reactive Resume",
"description": "A free and open-source resume builder.",
"id": "/?source=pwa",
"start_url": "/?source=pwa",
"scope": "/",
"lang": "en",
"display": "standalone",
"orientation": "portrait",
"theme_color": "#09090B",
"background_color": "#09090B",
"icons": [
{ "src": "favicon.ico", "sizes": "128x128", "type": "image/x-icon" },
{ "src": "pwa-64x64.png", "sizes": "64x64", "type": "image/png" },
{ "src": "pwa-192x192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "pwa-512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
{ "src": "maskable-icon-512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
],
"screenshots": [
{
"src": "screenshots/web/1-landing-page.webp",
"sizes": "1920x1080 any",
"type": "image/webp",
"form_factor": "wide",
"label": "Landing Page"
},
{
"src": "screenshots/web/2-resume-dashboard.webp",
"sizes": "1920x1080 any",
"type": "image/webp",
"form_factor": "wide",
"label": "Resume Dashboard"
},
{
"src": "screenshots/web/3-builder-screen.webp",
"sizes": "1920x1080 any",
"type": "image/webp",
"form_factor": "wide",
"label": "Builder Screen"
},
{
"src": "screenshots/web/4-template-gallery.webp",
"sizes": "1920x1080 any",
"type": "image/webp",
"form_factor": "wide",
"label": "Template Gallery"
},
{
"src": "screenshots/mobile/1-landing-page.webp",
"sizes": "1284x2778 any",
"type": "image/webp",
"form_factor": "narrow",
"label": "Landing Page"
},
{
"src": "screenshots/mobile/2-resume-dashboard.webp",
"sizes": "1284x2778 any",
"type": "image/webp",
"form_factor": "narrow",
"label": "Resume Dashboard"
},
{
"src": "screenshots/mobile/3-builder-screen.webp",
"sizes": "1284x2778 any",
"type": "image/webp",
"form_factor": "narrow",
"label": "Builder Screen"
},
{
"src": "screenshots/mobile/4-template-gallery.webp",
"sizes": "1284x2778 any",
"type": "image/webp",
"form_factor": "narrow",
"label": "Template Gallery"
}
],
"categories": [
"ai",
"builder",
"business",
"career",
"cv",
"editor",
"free",
"generator",
"job-search",
"multilingual",
"open-source",
"privacy",
"productivity",
"resume",
"self-hosted",
"templates",
"utilities",
"writing"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

+5
View File
@@ -0,0 +1,5 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Allow: /
Sitemap: https://rxresu.me/sitemap.xml
Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

+249
View File
@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://rxresu.me/</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth/forgot-password</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth/login</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth/register</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth/reset-password</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth/resume-password</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth/verify-2fa</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/auth/verify-2fa-backup</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard/settings/ai</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard/settings/api-keys</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard/settings/danger-zone</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard/settings/preferences</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard/settings/profile</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard/resumes</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://rxresu.me/dashboard/settings/authentication</loc>
<lastmod>2026-01-17</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/authentication/delete-user-account</loc>
<lastmod>2026-01-20T00:22:13.883Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/authentication/list-all-auth-providers</loc>
<lastmod>2026-01-20T00:22:13.612Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/authentication/verify-resume-password</loc>
<lastmod>2026-01-20T00:22:13.861Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/create-a-new-resume</loc>
<lastmod>2026-01-20T00:22:14.092Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/delete-a-resume</loc>
<lastmod>2026-01-20T00:22:14.033Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/duplicate-a-resume</loc>
<lastmod>2026-01-20T00:22:14.211Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/export-resume-as-pdf</loc>
<lastmod>2026-01-20T00:22:14.246Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/get-resume-by-id</loc>
<lastmod>2026-01-20T00:22:13.986Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/get-resume-by-username-and-slug</loc>
<lastmod>2026-01-20T00:22:14.060Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/get-resume-screenshot</loc>
<lastmod>2026-01-20T00:22:14.269Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/get-resume-statistics</loc>
<lastmod>2026-01-20T00:22:13.940Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/import-a-resume</loc>
<lastmod>2026-01-20T00:22:14.117Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/list-all-resume-tags</loc>
<lastmod>2026-01-20T00:22:13.911Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/list-all-resumes</loc>
<lastmod>2026-01-20T00:22:13.961Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/remove-password-from-a-resume</loc>
<lastmod>2026-01-20T00:22:14.189Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/set-password-on-a-resume</loc>
<lastmod>2026-01-20T00:22:14.164Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/set-resume-locked-status</loc>
<lastmod>2026-01-20T00:22:14.139Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/resume/update-a-resume</loc>
<lastmod>2026-01-20T00:22:14.013Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/statistics/get-github-repository-stargazers-count</loc>
<lastmod>2026-01-20T00:22:14.317Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/statistics/get-total-number-of-resumes</loc>
<lastmod>2026-01-20T00:22:14.305Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/api-reference/statistics/get-total-number-of-users</loc>
<lastmod>2026-01-20T00:22:14.288Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/contributing/architecture</loc>
<lastmod>2026-01-20T00:22:20.721Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/contributing/development</loc>
<lastmod>2026-01-20T00:22:20.724Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/contributing/translations</loc>
<lastmod>2026-01-20T00:22:20.719Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/getting-started/changelog</loc>
<lastmod>2026-01-19T11:58:41.676Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/getting-started</loc>
<lastmod>2026-01-20T00:22:20.716Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/getting-started/quickstart</loc>
<lastmod>2026-01-20T00:22:20.727Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/guides/accessing-the-previous-version</loc>
<lastmod>2026-01-20T00:22:20.729Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/guides/choosing-a-template</loc>
<lastmod>2026-01-19T14:39:30.213Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/guides/creating-an-account</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/creating-your-first-resume</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/deleting-your-account</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/exporting-your-resume</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/json-resume-schema</loc>
<lastmod>2026-01-19T22:38:27.455Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/guides/linking-social-accounts</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/setting-up-passkeys</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/setting-up-two-factor-authentication</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/sharing-your-resume-publicly</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/updating-your-profile</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/using-ai</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/using-custom-css</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/using-private-notes</loc>
</url>
<url>
<loc>https://docs.rxresu.me/guides/using-the-api</loc>
</url>
<url>
<loc>https://docs.rxresu.me/legal/license</loc>
<lastmod>2026-01-20T00:22:22.323Z</lastmod>
</url>
<url>
<loc>https://docs.rxresu.me/legal/privacy-policy</loc>
</url>
<url>
<loc>https://docs.rxresu.me/legal/terms-of-service</loc>
</url>
<url>
<loc>https://docs.rxresu.me/self-hosting/docker</loc>
</url>
<url>
<loc>https://docs.rxresu.me/self-hosting/examples</loc>
</url>
<url>
<loc>https://docs.rxresu.me/self-hosting/migration</loc>
</url>
</urlset>
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Some files were not shown because too many files have changed in this diff Show More