Standalone Marko application skeleton with Inertia.js, Svelte, Tailwind CSS, Vite, sessions, authentication, and Pest tests.
composer create-project marko/skeleton-inertia-svelte my-app
cd my-app
cp .env.example .env
npm install
composer dev
The development server runs PHP on http://localhost:8000, Vite on http://localhost:5173, and the optional SSR server on http://localhost:13714.
| Route | Component | Purpose |
|---|---|---|
/ |
Landing |
Public landing page |
/login |
Login |
Demo sign-in form |
/dashboard |
Dashboard |
Authenticated dashboard |
/profile |
Profile |
Authenticated profile |
Demo credentials:
Email: [email protected]
Password: password
app/web/ Marko application module
app/web/resources/js/ Svelte Inertia entry, SSR entry, layouts, and pages
app/web/resources/css/ Tailwind CSS entry
config/ Root app configuration
public/index.php Web entry point
tests/ Pest tests
vite.config.js Single-entry Vite build
composer dev # build SSR once, then run PHP + Vite + SSR
npm run dev # Vite only
npm run build # production client assets
npm run build:ssr # production SSR bundle
vendor/bin/pest # PHP tests
This skeleton resolves the Marko PHP packages from the standalone GitHub repositories for marko/vite, marko/inertia, and marko/inertia-svelte. The root app declares those VCS repositories directly and requires the Svelte adapter package, which pulls in the core Inertia and Vite packages transitively.
SSR is available but disabled by default through .env.example:
INERTIA_SSR_ENABLED=false
INERTIA_SSR_URL=http://localhost:13714