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