Shiftly runs entirely in the browser with no backend required. The development server is provided by Vite and starts in seconds. Follow the steps below to get a local copy running, or visit the live hosted demo without any setup at https://dmaman86.github.io/shiftly/.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dmaman86/shiftly/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before cloning the repository, make sure the following are available on your machine:- Node.js 18 or later — required by Vite and the toolchain. Verify with
node --version. - Bun (recommended) — used in the project’s pre-deploy pipeline and significantly faster for installs. Install from bun.sh.
- Git — to clone the repository.
npm form that works identically.
Clone & Run
Install dependencies
Install all project dependencies. Bun is recommended for speed, but npm works equally well:
Shiftly defaults to Hebrew on first load and routes you to
/he/daily. The language is
controlled by the first path segment: /he/... for Hebrew (RTL layout) and /en/...
for English (LTR layout). Switch languages by changing that segment in the URL — for
example, navigate to http://localhost:5173/shiftly/en/daily to use the English interface.Available Scripts
All scripts are defined inpackage.json and can be run with either bun run or npm run:
| Script | Command | Description |
|---|---|---|
dev | vite | Start the Vite development server with HMR |
build | vite build | Compile and bundle for production |
preview | vite preview | Serve the production build locally |
typecheck | tsc --project tsconfig.app.json --noEmit | Run TypeScript type checking without emitting files |
lint | eslint . | Lint the entire source tree |
test | vitest | Run tests in interactive watch mode |
test:ui | vitest --ui | Run tests with the Vitest browser UI |
test:coverage | vitest --coverage | Run tests and generate a coverage report |
test:ci | vitest run | Run tests once (no watch mode) — used in CI |
Running Tests
Production Build
dist/ with the base path /shiftly/ pre-configured in vite.config.ts. Vendor dependencies are split into named chunks (vendor-react, vendor-redux, vendor-mui-core, vendor-mui-icons, vendor-mui-pickers, vendor-i18n, vendor-ui, vendor-utils) for optimal cache efficiency.