SolidStart, the Solid app framework
5,921
stars
2,496
commits
TypeScript
primary language
Sep 11, 2026
updated
[!IMPORTANT] This is the branch for the SolidStart 2.0.0-alpha that is currently under heavy development.
Current SolidStart is maintained at
1.x.
.nvmrc. To manage multiple versions across your system, we recommend a version manager such as fnm, or another of your choice.npm install -g pnpm. Or let Corepack handle it in the setup step below.SolidStart is a pnpm-based monorepo with nested workspaces. Key directories include:
packages/start: The core @solidjs/start package.apps/landing-page: The official landing page.apps/tests: Unit and end-to-end (E2E) tests using Vitest and Playwright.apps/fixtures: Fixture projects for testing.Use pnpm filters (e.g. pnpm --filter @solidjs/start ...) to target specific packages.
Clone the repository
git clone https://github.com/solidjs/solid-start.git
cd solid-start
Enable the correct pnpm version specified in package.json
corepack enable
Install dependencies
pnpm dedupe
(pnpm dedupe will install dependencies and clean the lockfile from duplicates, useful for preventing conflicts).
Build all packages and the landing page
pnpm run build:all
If you encounter issues (e.g. missing node_modules), clean the workspace
pnpm run clean:all
Then reinstall dependencies and rebuild.
End-to-end tests are located in apps/tests projects. For manual testing and development use the apps/fixtures apps, and finally, integration and unit tests live inside their respective packages.
Install the Chromium for Playwright binary (required only once)
pnpm --filter tests exec playwright install chromium
For unit tests that check build artifacts, build the test app first
pnpm --filter tests run build
Run unit tests (puts vitest in watch mode)
pnpm --filter tests run unit
pnpm --filter tests run unit:cipnpm --filter tests run unit:uiRun E2E tests
pnpm --filter tests run e2e
pnpm --filter tests run e2e:uiClean test artifacts
pnpm run clean:test
Make your changes in the relevant package (e.g. packages/start)
Rebuild affected packages
pnpm run packages:build
For a full rebuild: pnpm run build:all
Test your changes
dev with workspace filtering.
pnpm --filter fixture-basic dev
pnpm run lp:dev
Clean builds if needed
pnpm run packages:clean # Cleans packages' node_modules and dist folders
pnpm run lp:clean # Cleans the landing page
pnpm run clean:root # Cleans root-level caches
If you have read all the way here, you're already a champ! 🏆 Thank you.
(top 30 of 219)
TypeScript
88.5%
CSS
9.5%
JavaScript
1.9%
SolidStart, the Solid app framework
5,921
stars
2,496
commits
TypeScript
primary language
Sep 11, 2026
updated
[!IMPORTANT] This is the branch for the SolidStart 2.0.0-alpha that is currently under heavy development.
Current SolidStart is maintained at
1.x.
.nvmrc. To manage multiple versions across your system, we recommend a version manager such as fnm, or another of your choice.npm install -g pnpm. Or let Corepack handle it in the setup step below.SolidStart is a pnpm-based monorepo with nested workspaces. Key directories include:
packages/start: The core @solidjs/start package.apps/landing-page: The official landing page.apps/tests: Unit and end-to-end (E2E) tests using Vitest and Playwright.apps/fixtures: Fixture projects for testing.Use pnpm filters (e.g. pnpm --filter @solidjs/start ...) to target specific packages.
Clone the repository
git clone https://github.com/solidjs/solid-start.git
cd solid-start
Enable the correct pnpm version specified in package.json
corepack enable
Install dependencies
pnpm dedupe
(pnpm dedupe will install dependencies and clean the lockfile from duplicates, useful for preventing conflicts).
Build all packages and the landing page
pnpm run build:all
If you encounter issues (e.g. missing node_modules), clean the workspace
pnpm run clean:all
Then reinstall dependencies and rebuild.
End-to-end tests are located in apps/tests projects. For manual testing and development use the apps/fixtures apps, and finally, integration and unit tests live inside their respective packages.
Install the Chromium for Playwright binary (required only once)
pnpm --filter tests exec playwright install chromium
For unit tests that check build artifacts, build the test app first
pnpm --filter tests run build
Run unit tests (puts vitest in watch mode)
pnpm --filter tests run unit
pnpm --filter tests run unit:cipnpm --filter tests run unit:uiRun E2E tests
pnpm --filter tests run e2e
pnpm --filter tests run e2e:uiClean test artifacts
pnpm run clean:test
Make your changes in the relevant package (e.g. packages/start)
Rebuild affected packages
pnpm run packages:build
For a full rebuild: pnpm run build:all
Test your changes
dev with workspace filtering.
pnpm --filter fixture-basic dev
pnpm run lp:dev
Clean builds if needed
pnpm run packages:clean # Cleans packages' node_modules and dist folders
pnpm run lp:clean # Cleans the landing page
pnpm run clean:root # Cleans root-level caches
If you have read all the way here, you're already a champ! 🏆 Thank you.
(top 30 of 219)
TypeScript
88.5%
CSS
9.5%
JavaScript
1.9%