gitmyhub

solid-start

TypeScript ★ 5.9k updated 17h ago

SolidStart, the Solid app framework

SolidStart is the official full-stack application framework for SolidJS, adding file-system routing, server-side rendering, and full-app scaffolding on top of the SolidJS reactive UI library, similar to how Next.js extends React.

TypeScriptSolidJSpnpmPlaywrightNode.jsVitesetup: hardcomplexity 4/5

SolidStart is the official application framework built on top of SolidJS, a JavaScript library for building user interfaces. If you already know what React and Next.js are, the relationship here is similar: SolidJS is the underlying UI library, and SolidStart adds the extra layer that makes it practical to build full web applications, including routing between pages, server-side rendering, and other features that a plain UI library does not provide on its own.

The framework uses a file-system routing approach, which means the folder structure of your project determines what URLs your app responds to. You create a file in the right folder and it automatically becomes a page, without having to manually configure routes. It also inherits SolidJS's fine-grained reactivity model, where only the exact parts of the page that depend on changed data re-render, rather than entire component trees.

This particular repository is the source code of SolidStart itself, not a template for building apps with it. The README is aimed at contributors who want to modify or test the framework. For developers who just want to use SolidStart to build something, the official documentation at docs.solidjs.com is the right starting point, and the solidjs/templates repository has starter projects.

At the time this README was written, the main branch held a 2.0 alpha that was still under active development. The current stable release was tracked on a separate branch. The codebase is organized as a monorepo containing the core package, a landing page, test fixtures, and end-to-end tests. Contributors work with pnpm for package management and Playwright for browser-based testing.

Where it fits