diff --git a/templates/solid/add-on/form/assets/src/routes/demo.form.tsx.ejs b/templates/solid/add-on/form/assets/src/routes/demo.form.tsx.ejs
index e034828c..f3976838 100644
--- a/templates/solid/add-on/form/assets/src/routes/demo.form.tsx.ejs
+++ b/templates/solid/add-on/form/assets/src/routes/demo.form.tsx.ejs
@@ -5,7 +5,7 @@ import type { JSX } from 'solid-js/jsx-runtime'
import type { ValidationError } from '@tanstack/solid-form'
<% if (codeRouter) { %>
-import type { RootRoute } from '@tanstack/react-router'
+import type { RootRoute } from '@tanstack/solid-router'
<% } else { %>
export const Route = createFileRoute('/demo/form')({
component: FormExample,
diff --git a/templates/solid/add-on/start/assets/app.config.ts b/templates/solid/add-on/start/assets/app.config.ts
new file mode 100644
index 00000000..b5039684
--- /dev/null
+++ b/templates/solid/add-on/start/assets/app.config.ts
@@ -0,0 +1,16 @@
+import { defineConfig } from '@tanstack/solid-start/config'
+import viteTsConfigPaths from 'vite-tsconfig-paths'
+
+export default defineConfig({
+ tsr: {
+ appDirectory: 'src',
+ },
+ vite: {
+ plugins: [
+ // this is the plugin that enables path aliases
+ viteTsConfigPaths({
+ projects: ['./tsconfig.json'],
+ }),
+ ],
+ },
+})
diff --git a/templates/solid/add-on/start/assets/postcss.config.ts b/templates/solid/add-on/start/assets/postcss.config.ts
new file mode 100644
index 00000000..c2ddf748
--- /dev/null
+++ b/templates/solid/add-on/start/assets/postcss.config.ts
@@ -0,0 +1,5 @@
+export default {
+ plugins: {
+ "@tailwindcss/postcss": {},
+ },
+};
diff --git a/templates/solid/add-on/start/assets/src/api.ts b/templates/solid/add-on/start/assets/src/api.ts
new file mode 100644
index 00000000..ed511bcd
--- /dev/null
+++ b/templates/solid/add-on/start/assets/src/api.ts
@@ -0,0 +1,6 @@
+import {
+ createStartAPIHandler,
+ defaultAPIFileRouteHandler,
+} from '@tanstack/solid-start/api'
+
+export default createStartAPIHandler(defaultAPIFileRouteHandler)
diff --git a/templates/solid/add-on/start/assets/src/client.tsx b/templates/solid/add-on/start/assets/src/client.tsx
new file mode 100644
index 00000000..fa83c450
--- /dev/null
+++ b/templates/solid/add-on/start/assets/src/client.tsx
@@ -0,0 +1,7 @@
+import { hydrate } from 'solid-js/web'
+import { StartClient } from '@tanstack/solid-start'
+import { createRouter } from './router'
+
+const router = createRouter()
+
+hydrate(() => , document.body)
diff --git a/templates/solid/add-on/start/assets/src/router.tsx.ejs b/templates/solid/add-on/start/assets/src/router.tsx.ejs
new file mode 100644
index 00000000..09932b06
--- /dev/null
+++ b/templates/solid/add-on/start/assets/src/router.tsx.ejs
@@ -0,0 +1,24 @@
+import { createRouter as createTanstackRouter } from '@tanstack/solid-router'
+
+// Import the generated route tree
+import { routeTree } from './routeTree.gen'
+
+import './styles.css'
+
+// Create a new router instance
+export const createRouter = () => {
+ const router = createTanstackRouter({
+ routeTree,
+ scrollRestoration: true,
+ })
+ return router
+}
+
+const router = createRouter()
+
+// Register the router instance for type safety
+declare module '@tanstack/solid-router' {
+ interface Register {
+ router: typeof router
+ }
+}
diff --git a/templates/solid/add-on/start/assets/src/routes/demo.start.server-funcs.tsx b/templates/solid/add-on/start/assets/src/routes/demo.start.server-funcs.tsx
new file mode 100644
index 00000000..de0ff4b9
--- /dev/null
+++ b/templates/solid/add-on/start/assets/src/routes/demo.start.server-funcs.tsx
@@ -0,0 +1,49 @@
+import * as fs from 'fs'
+import { createFileRoute, useRouter } from '@tanstack/solid-router'
+import { createServerFn } from '@tanstack/solid-start'
+
+const filePath = 'count.txt'
+
+async function readCount() {
+ return parseInt(
+ await fs.promises.readFile(filePath, 'utf-8').catch(() => '0'),
+ )
+}
+
+const getCount = createServerFn({
+ method: 'GET',
+}).handler(() => {
+ return readCount()
+})
+
+const updateCount = createServerFn({ method: 'POST' })
+ .validator((d: number) => d)
+ .handler(async ({ data }) => {
+ const count = await readCount()
+ await fs.promises.writeFile(filePath, `${count + data}`)
+ })
+
+export const Route = createFileRoute('/demo/start/server-funcs')({
+ component: Home,
+ loader: async () => await getCount(),
+})
+
+function Home() {
+ const router = useRouter()
+ const state = Route.useLoaderData()
+
+ return (
+
+
+
+ )
+}
diff --git a/templates/solid/add-on/start/assets/src/ssr.tsx b/templates/solid/add-on/start/assets/src/ssr.tsx
new file mode 100644
index 00000000..6d10bea0
--- /dev/null
+++ b/templates/solid/add-on/start/assets/src/ssr.tsx
@@ -0,0 +1,12 @@
+import {
+ createStartHandler,
+ defaultStreamHandler,
+} from '@tanstack/solid-start/server'
+import { getRouterManifest } from '@tanstack/solid-start/router-manifest'
+
+import { createRouter } from './router'
+
+export default createStartHandler({
+ createRouter,
+ getRouterManifest,
+})(defaultStreamHandler)
diff --git a/templates/solid/add-on/start/info.json b/templates/solid/add-on/start/info.json
new file mode 100644
index 00000000..adfe32f8
--- /dev/null
+++ b/templates/solid/add-on/start/info.json
@@ -0,0 +1,14 @@
+{
+ "name": "Start",
+ "phase": "setup",
+ "description": "Add TanStack Start for SSR, API endpoints, and more.",
+ "link": "https://tanstack.com/start/latest",
+ "templates": ["file-router"],
+ "warning": "TanStack Start is not yet at 1.0 and may change significantly or not be compatible with other add-ons.",
+ "routes": [
+ {
+ "url": "/demo/start/server-funcs",
+ "name": "Start - Server Functions"
+ }
+ ]
+}
diff --git a/templates/solid/add-on/start/package.json b/templates/solid/add-on/start/package.json
new file mode 100644
index 00000000..97febc0e
--- /dev/null
+++ b/templates/solid/add-on/start/package.json
@@ -0,0 +1,14 @@
+{
+ "scripts": {
+ "dev": "vinxi dev",
+ "build": "vinxi build",
+ "start": "vinxi start"
+ },
+ "dependencies": {
+ "@tailwindcss/postcss": "^4.0.7",
+ "@tanstack/solid-start": "^1.114.3",
+ "postcss": "^8.5.2",
+ "vinxi": "^0.5.3",
+ "vite-tsconfig-paths": "^5.1.4"
+ }
+}
diff --git a/templates/solid/add-on/store/assets/src/routes/demo.store.tsx.ejs b/templates/solid/add-on/store/assets/src/routes/demo.store.tsx.ejs
index 525c4cc2..76caaf14 100644
--- a/templates/solid/add-on/store/assets/src/routes/demo.store.tsx.ejs
+++ b/templates/solid/add-on/store/assets/src/routes/demo.store.tsx.ejs
@@ -4,7 +4,7 @@ import { useStore } from '@tanstack/solid-store'
import { fullName, store } from '../lib/demo-store'
<% if (codeRouter) { %>
-import type { RootRoute } from '@tanstack/react-router'
+import type { RootRoute } from '@tanstack/solid-router'
<% } else { %>
export const Route = createFileRoute('/demo/store')({
component: DemoStore,