{"id":26714338,"url":"https://github.com/syntaxlexx/tanstarter","last_synced_at":"2025-08-24T14:27:18.881Z","repository":{"id":284540549,"uuid":"954962073","full_name":"syntaxlexx/tanstarter","owner":"syntaxlexx","description":"A minimal starter template for 🏝️ TanStack Start.","archived":false,"fork":false,"pushed_at":"2025-04-06T14:10:28.000Z","size":232,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T15:23:51.165Z","etag":null,"topics":["better-auth","bun","drizzle-orm","neondb","postgresql","react","tailwindcss","tanstack","tanstack-start"],"latest_commit_sha":null,"homepage":"https://tanstarter-template.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syntaxlexx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-25T22:19:22.000Z","updated_at":"2025-04-06T14:10:33.000Z","dependencies_parsed_at":"2025-03-26T12:43:19.029Z","dependency_job_id":null,"html_url":"https://github.com/syntaxlexx/tanstarter","commit_stats":null,"previous_names":["syntaxlexx/tanstarter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/syntaxlexx/tanstarter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntaxlexx%2Ftanstarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntaxlexx%2Ftanstarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntaxlexx%2Ftanstarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntaxlexx%2Ftanstarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syntaxlexx","download_url":"https://codeload.github.com/syntaxlexx/tanstarter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntaxlexx%2Ftanstarter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271886757,"owners_count":24838947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["better-auth","bun","drizzle-orm","neondb","postgresql","react","tailwindcss","tanstack","tanstack-start"],"created_at":"2025-03-27T13:19:20.104Z","updated_at":"2025-08-24T14:27:18.873Z","avatar_url":"https://github.com/syntaxlexx.png","language":"TypeScript","readme":"# [TanStarter](https://github.com/dotnize/tanstarter)\n\nA minimal starter template for 🏝️ TanStack Start.\n\n[View Demo Here](https://tanstarter.netlify.app/)\n\n- [React 19](https://react.dev) + [React Compiler](https://react.dev/learn/react-compiler)\n- TanStack [Start](https://tanstack.com/start/latest) + [Router](https://tanstack.com/router/latest) + [Query](https://tanstack.com/query/latest)\n- [Tailwind CSS v4](https://tailwindcss.com/) + [shadcn/ui](https://ui.shadcn.com/)\n- [Drizzle ORM](https://orm.drizzle.team/) + PostgreSQL  (Neon, Supabase, Docker, e.t.c.)\n- [Better Auth](https://www.better-auth.com/)\n   - Email + Password login\n   - Social Auth Login (Discord, Github, Google)\n   - Roles \u0026 User Mgmt via [Better-Auth admin plugin](https://www.better-auth.com/docs/plugins/admin)\n\n## Getting Started\n\n1. [Clone this repository](https://github.com/syntaxlexx/tanstarter).\n   ```bash\n   git clone git@github.com:syntaxlexx/tanstarter.git\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   bun install # npm install\n   ```\n\n3. Create a `.env` file based on [`.env.example`](./.env.example).\n\n4. Push the schema to your database with drizzle-kit:\n\n   ```bash\n   bun db push # npm run db push\n   ```\n\n   https://orm.drizzle.team/docs/migrations\n\n5. Run the development server:\n\n   ```bash\n   bun dev # npm run dev\n   ```\n\n   The development server should be now running at [http://localhost:3000](http://localhost:3000).\n\n## Issue watchlist\n\n- [React Compiler docs](https://react.dev/learn/react-compiler), [Working Group](https://github.com/reactwg/react-compiler/discussions) - React Compiler is still in beta. You can disable it in [app.config.ts](./app.config.ts#L15) if you prefer.\n- https://github.com/TanStack/router/discussions/2863 - TanStack Start is currently in beta and may still undergo major changes.\n- https://github.com/shadcn-ui/ui/discussions/6714 - We're using the `canary` version of shadcn/ui for Tailwind v4 support.\n\n## Auth\n\nBetter Auth is currently configured for OAuth with GitHub, Google, and Discord, but can be easily modified to use other providers.\n\nIf you want to use email/password authentication or change providers, update the [auth config](./src/lib/auth.ts#L36) and [signin page](./src/routes/signin.tsx) with your own UI. You can use [shadcn/ui login blocks](https://ui.shadcn.com/blocks/login) as a starting point.\n\n## Goodies\n\n#### Scripts\n\nThese scripts in [package.json](./package.json#L5) use **pnpm** by default, but you can modify them to use your preferred package manager.\n\n- **`db`** - Run drizzle-kit commands. (e.g. `bun db generate` to generate a migration)\n- **`ui`** - The shadcn/ui CLI. (e.g. `bun add button` to add the button component)\n- **`format`** and **`lint`** - Run Prettier and ESLint.\n- **`auth:generate`** - Regenerate the [auth db schema](./src/database/schema/auth.schema.ts) if you've made changes to your Better Auth [config](./src/lib/auth.ts).\n\n\n#### Utilities\n\n- [`auth-guard.ts`](./src/middlewares/auth-guard.ts) - Sample middleware for forcing authentication on server functions. ([see #5](https://github.com/dotnize/tanstarter/issues/5))\n- [`theme-toggle.tsx`](./src/components/theme-toggle.tsx) - A simple component to toggle between light and dark mode. ([#7](https://github.com/dotnize/tanstarter/issues/7))\n\n## Building for production\n\nRead the [hosting docs](https://tanstack.com/start/latest/docs/framework/react/hosting) for information on how to deploy your TanStack Start app.\n\n## Acknowledgements\n\n- [daveyplate/better-auth-tanstack-starter](https://github.com/daveyplate/better-auth-tanstack-starter) - A batteries-included TanStack Start boilerplate that inspired some patterns in this template. If you're looking for a more feature-rich starter, check it out!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyntaxlexx%2Ftanstarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyntaxlexx%2Ftanstarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyntaxlexx%2Ftanstarter/lists"}