This is the jumper.xyz repository that gets deployed to develop.jumper.xyz, staging.jumper.xyz and jumper.xyz.
For agents and contributors picking up work in this repo, start with AGENTS.md. The internal app shape and dependency rules are documented in ARCHITECTURE.md.
Requires Node 22+ (see .nvmrc — run nvm use).
pnpm install
pnpm dev # or: pnpm dev:local | pnpm dev:staging | pnpm dev:productionpnpm api— regenerate the backend-derived API client. Requiresjumper-backendrunning onlocalhost:3001. Linting/formatting is handled separately by the usual commit/CI checks (or can be run manually).pnpm typecheck— runtsc --noEmit.pnpm storybook— Storybook on port 6006.pnpm i18next-resources-for-ts— regenerate typed i18n resources after editingsrc/i18n/translations/en/.
pnpm test:unit— Vitest unit tests (<file>.spec.ts(x)).pnpm test:snapshots— snapshot tests; regenerate withpnpm test:snapshots:generate.pnpm test:storybook— run stories under Vitest + Playwright.- Playwright E2E:
pnpm test,pnpm test:e2e-real,pnpm test:qase. First-time setup:pnpm test:install. See tests/README.md.
husky + lint-staged run on commit (installed automatically by pnpm install).
tsc --noEmit is invoked from bash inside lint-staged — see this issue for why.
We appreciate your interest in helping translate our project!
If you'd like to contribute translations, please visit our Crowdin project page at Crowdin Jumper Exchange and Crowdin LI.FI Widget. Register on Crowdin and you can start translating the project into your preferred language. Your contributions will help make our project accessible to a wider audience around the world.
Thank you for your support!