A static SvelteKit web application demonstrating:
(F - 32) / 2 ≈ C vs the exact formula (F - 32) * 5/9 = CBuilt with SvelteKit 2.x, Svelte 5, Tailwind CSS 4.x, and Skeleton UI.
Install dependencies:
pnpm install
This project uses mise as the primary task runner. All development commands are defined in mise.toml and run directly without relying on package.json scripts.
Start the development server:
mise dev
# or open in browser automatically
mise dev-open
Note: This project uses a mise-first approach. The
package.jsononly contains thepreparelifecycle hook for SvelteKit type generation. All other tasks should be run through mise.
Build the static site for production:
mise build
Preview the production build:
mise preview
Run all tests:
mise test
Run only unit tests:
mise test-unit
Run only E2E tests:
mise test-e2e
Type-check:
mise check
Lint and check code (Prettier + ESLint, no fixes):
mise lint
# or explicitly
mise lint:check
Check code formatting (no changes):
mise format:check
Format code (write changes):
mise format
Run all CI checks (lint, format, type-check, tests):
mise ci
View all available tasks:
mise tasks
Key tasks:
| Task | Description |
|---|---|
mise dev |
Start development server |
mise dev-open |
Start dev server and open browser |
mise build |
Build static site for production |
mise preview |
Preview production build |
mise check |
Type-check with svelte-check |
mise lint |
Check code with ESLint and Prettier |
mise lint:check |
Same as lint (alias) |
mise format |
Format code with Prettier (write changes) |
mise format:check |
Check formatting (no changes) |
mise test |
Run all tests (unit + E2E) |
mise test-unit |
Run unit tests with Vitest |
mise test-e2e |
Run E2E tests with Playwright |
mise ci |
Run all CI checks |
mise install |
Install dependencies |
mise sync |
Sync SvelteKit types |
All mise tasks execute commands directly using pnpm exec, ensuring consistent behavior across local development and CI/CD environments.
src/
├── routes/ # SvelteKit routes
│ ├── +page.svelte # Main application page
│ └── +layout.svelte
├── lib/ # Reusable components and utilities
│ ├── components/ # Svelte components
│ └── utils/ # Utility functions
├── app.html # HTML template
└── app.css # Global styles
This project uses GitHub Actions for continuous integration, deployment, and security scanning:
main branch → https://fahrenheight.pages.devnext branch → https://next.fahrenheight.pages.dev