Skip to main content

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.

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/.

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.
If Bun is not installed, every command below has an equivalent npm form that works identically.

Clone & Run

1

Clone the repository

Download the source code from GitHub:
git clone https://github.com/dmaman86/shiftly.git
cd shiftly
2

Install dependencies

Install all project dependencies. Bun is recommended for speed, but npm works equally well:
bun install
3

Start the development server

Launch the Vite development server with hot-module replacement:
bun run dev
4

Open the app

Navigate to the local development URL in your browser:
http://localhost:5173/shiftly
The app loads the Daily view in Hebrew by default.
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 in package.json and can be run with either bun run or npm run:
ScriptCommandDescription
devviteStart the Vite development server with HMR
buildvite buildCompile and bundle for production
previewvite previewServe the production build locally
typechecktsc --project tsconfig.app.json --noEmitRun TypeScript type checking without emitting files
linteslint .Lint the entire source tree
testvitestRun tests in interactive watch mode
test:uivitest --uiRun tests with the Vitest browser UI
test:coveragevitest --coverageRun tests and generate a coverage report
test:civitest runRun tests once (no watch mode) — used in CI

Running Tests

# Watch mode
bun run test

# Browser UI
bun run test:ui

# Coverage report
bun run test:coverage

# Single run (CI)
bun run test:ci

Production Build

bun run build
bun run preview
The build output is placed in 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.

Live Demo

A production build is hosted on GitHub Pages and requires no local setup: https://dmaman86.github.io/shiftly/

Build docs developers (and LLMs) love