Skip to content

A minimalistic pomodoro app built with SvelteKit. Installable as a PWA with support for sound and notifications.

License

Notifications You must be signed in to change notification settings

dickdavis/tomato-timer

Repository files navigation

Tomato Timer

Pomodoro timer web app built with SvelteKit 2, Svelte 5, TailwindCSS 4, and TypeScript. Supports PWA installation with offline capability.

Table of Contents

Getting Started

npm install
npm run dev

Open http://localhost:5173

Development

Uses Svelte 5 runes ($state, $derived, $props), not legacy stores. Code style enforced by JavaScript Standard (no semicolons, single quotes).

Commands

npm run dev              # Start dev server
npm run build            # Production build
npm run preview          # Preview production build

npm run check            # Type check
npm run check:watch      # Type check (watch mode)

npm run lint             # Lint code
npm run format           # Auto-fix lint issues

npm test                 # Run tests (watch mode)
npm run test:ui          # Run tests with UI
npm run test:coverage    # Run tests with coverage

Testing

Tests use Vitest + @testing-library/svelte. Test files located in __tests__/ directories alongside components.

# Run specific test file
npm test -- path/to/test.test.ts

Deployment

Merges to main automatically deploy to Cloudflare Pages.

About

A minimalistic pomodoro app built with SvelteKit. Installable as a PWA with support for sound and notifications.

Resources

License

Stars

Watchers

Forks