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,即可验证所有权并自行管理介绍。
一分钟完成验证Borderless Apply — cross-border job applications for Europe
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Cross-border job application copilot for European tech (and FinTech)
candidates: a Chrome extension that captures and scores job postings, plus a
production Next.js dashboard for tracking applications, preparing interviews,
understanding country and work-right fit, and getting AI-assisted job
analysis and application content.
This repository is a pnpm monorepo: a WXT Chrome extension, a production
Next.js web app backed by Supabase, and a Python analytics service.查看完整 README ↗Cross-border job application copilot for European tech (and FinTech) candidates: a Chrome extension that captures and scores job postings, plus a production Next.js dashboard for tracking applications, preparing interviews, understanding country and work-right fit, and getting AI-assisted job analysis and application content.
This repository is a pnpm monorepo: a WXT Chrome extension, a production Next.js web app backed by Supabase, and a Python analytics service.
apps/extension - Chrome extension built with WXT. Detects job postings on
supported job boards and ATS platforms, scores fit locally, and links into
the web dashboard.apps/web - Production Next.js dashboard: authentication, job tracking,
applications pipeline, interview preparation, country/mobility guidance,
role pathways, AI-assisted content generation, Stripe billing, and an admin
panel. Deployed at https://autotime-eu-apply.vercel.app.apps/analytics - Python FastAPI evidence and outcome analytics service.packages/shared - Shared domain types and Zod schemas used by both the web
app and the extension.Full documentation index: docs/README.md.
apps/web) is organized around seven primary destinations:
Home, Career Direction (Role Pathways), Jobs, Applications, Interviews,
Countries (international mobility), and Profile. See
docs/product-information-architecture.md for the full navigation and
workflow model.apps/web/app/api/stripe/webhook/route.ts)./admin): role-gated operational tooling, separate from
the candidate-facing dashboard. See docs/admin-operations.md./dashboard/extension.The extension detects job postings across major EU/international job boards
(Indeed, StepStone, EURES, EuroTechJobs, EuroJobs, NextLevelJobs, Wellfound,
Xing, Welcome to the Jungle, Nationale Vacaturebank, InfoJobs, Monster,
EuroTopTech, JobTeaser) and ATS platforms (Greenhouse, Lever, Workday, Ashby,
SmartRecruiters, iCIMS, BambooHR, Teamtailor, Recruitee, Jobvite, Personio).
LinkedIn remains manual copy/paste only - the extension does not automate or
scrape LinkedIn job pages. The current, authoritative platform list lives in
apps/extension/tests/fixtures/platform-coverage.json and is checked weekly
against the live sites by .github/workflows/platform-coverage.yml.
Release tagging follows git tag (see the latest v0.1.x tag for the current
release line); the extension's own package version is tracked separately in
apps/extension/package.json. Release-process detail lives in
docs/release-readiness.md and docs/market-ready-mvp-procedure.md.
The extension currently supports:
chrome.storage.local.JobPosting extraction plus platform-specific selectors for the
supported job boards and ATS platforms listed above.syncTrackedApplicationsToDashboard), so tracking and preparation continue
in apps/web once a job is captured.The extension never submits forms or automates LinkedIn. AI-assisted content generation (cover letters, tailored CVs, interview prep) happens in the web dashboard, not the extension, and runs server-side against AutoTime's own OpenAI key rather than a user-supplied one - see "Product architecture" above.
Install dependencies:
pnpm install
Create local environment variables from the development template:
cp .env.local.example .env.local
Use separate provider resources for each lane: local and preview should use a
development Supabase project plus Stripe test mode, while production should use
the production Supabase project plus Stripe live mode. The full policy lives in
docs/environment-strategy.md.
Run the extension in development:
pnpm dev:extension
Build the extension:
pnpm build:extension
After building, load or reload the unpacked extension from:
apps/extension/.output/chrome-mv3
Run the web app:
pnpm dev:web
If the local preview hangs after a previous run, reset stale preview processes and restart on the fixed local address:
pnpm dev:web:reset
For the fastest preview after a build, run the production preview:
pnpm build:web
pnpm preview:web
Open the dashboard at:
http://127.0.0.1:3000
Build the web app:
pnpm build:web
Smoke-test the deployed dashboard:
pnpm smoke:web
Run the mocked unit tests for the smoke automation:
pnpm test:smoke:web
Run the web interview-prep unit tests:
pnpm test:web:interview
Run the MVP automation toolkit and write a timestamped evidence report:
pnpm test:mvp
To skip the live deployed web smoke check:
SKIP_LIVE_SMOKE=1 pnpm test:mvp
Check the 90-95% MVP testing automation target:
pnpm test:mvp:coverage
The coverage model is documented in docs/mvp-testing-automation.md.
To test a different preview or production URL:
WEB_SMOKE_URL=https://your-vercel-url.vercel.app pnpm smoke:web
Create a fresh manual validation evidence report before Chrome/live-job testing:
pnpm validation:new
This writes a timestamped file in docs/founder-validation-runs/ with the
automated gates, extension smoke test, dashboard smoke test, LinkedIn manual
copy/paste check, Greenhouse/Lever/Workday live-job rows, CSV export evidence,
and release decision sections.
Run the validation report generator tests:
pnpm test:validation-run
Deploy the web dashboard to Vercel from the repo root:
pnpm build:web
Use these Vercel project settings:
Framework Preset: Services
Install Command: pnpm install --frozen-lockfile
Build Command: pnpm build:web
Output Directory: apps/web/.next
Root Directory: repository root
Vercel serves apps/web at / and apps/analytics/main.py at /analytics.
Verify the analytics service after deployment with /analytics/health.
The Chrome extension remains a browser extension and is not hosted as a normal
Vercel web app.
Run extension unit tests:
pnpm --filter extension test
Run extension typecheck:
pnpm --filter extension typecheck
Run web and external-evidence checks:
pnpm test:smoke:web
pnpm test:web:interview
pnpm test:v2:ats-live
pnpm test:v2:ai-live
pnpm smoke:web
Run Python analytics tests:
python -m pytest apps/analytics/tests
pnpm test:v2:ai-live performs the controlled-cost live OpenAI check only when
OPENAI_API_KEY is set; otherwise it reports a safe skip.
Current unit tests cover:
The extension uses these Chrome permissions:
storage for chrome.storage.local.activeTab for reading/importing the current job page.scripting for injecting the in-page widget and autofill logic.Host permissions are scoped to the production dashboard
(autotime-eu-apply.vercel.app) plus the job boards listed in "Extension"
above (apps/extension/wxt.config.ts). The content script itself matches all
pages (*://*/*) so it can detect and score jobs anywhere, but only makes
cross-origin calls to those explicitly permitted hosts. LinkedIn remains
manual-input only.
After building, load the generated extension from:
apps/extension/.output/chrome-mv3
The manual extension smoke-test checklist lives at:
docs/extension-smoke-test.md
Run that checklist before shipping an MVP build to testers.
The full MVP spec alignment checklist lives at:
docs/mvp-spec-alignment.md
The release-readiness checklist lives at:
docs/release-readiness.md
The founder validation report template lives at:
docs/founder-validation-report.md
Generated folders such as node_modules, .next, .output, build,
.plasmo, .wxt, and TypeScript build info files are ignored by Git.
LICENSEPRIVACY.md - see the live, authoritative policy at
/privacySECURITY.md - vulnerability reportingCHANGELOG.md