{"id":23898887,"url":"https://github.com/michaeltroya/supa-next-starter","last_synced_at":"2025-04-12T18:48:32.670Z","repository":{"id":215627648,"uuid":"739408440","full_name":"michaeltroya/supa-next-starter","owner":"michaeltroya","description":"⚡️Next.js, Supabase, Tailwind, shadcn⚡️The Last Next.js and Supabase Starter You Will Ever Need","archived":false,"fork":false,"pushed_at":"2025-01-01T00:22:42.000Z","size":1018,"stargazers_count":274,"open_issues_count":1,"forks_count":32,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-04T03:04:46.460Z","etag":null,"topics":["jest","nextjs","nextjs-template","nextjs13","nextjs14","pnpm","react","react-testing-library","shadcn-ui","supabase","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaeltroya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-01-05T13:51:27.000Z","updated_at":"2025-03-28T09:45:58.000Z","dependencies_parsed_at":"2024-01-05T14:46:09.680Z","dependency_job_id":"fc6d66f7-4d18-420a-9888-25fc52494b78","html_url":"https://github.com/michaeltroya/supa-next-starter","commit_stats":null,"previous_names":["michaeltroya/supa-next-starter"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltroya%2Fsupa-next-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltroya%2Fsupa-next-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltroya%2Fsupa-next-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltroya%2Fsupa-next-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeltroya","download_url":"https://codeload.github.com/michaeltroya/supa-next-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248617992,"owners_count":21134197,"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","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":["jest","nextjs","nextjs-template","nextjs13","nextjs14","pnpm","react","react-testing-library","shadcn-ui","supabase","tailwindcss","typescript"],"created_at":"2025-01-04T18:14:12.811Z","updated_at":"2025-04-12T18:48:32.649Z","avatar_url":"https://github.com/michaeltroya.png","language":"TypeScript","funding_links":[],"categories":["Boilerplates \u0026 Starters"],"sub_categories":[],"readme":"![image](https://github.com/michaeltroya/supa-next-starter/assets/38507347/2ea40874-98de-49ec-ab6a-74c816e6ca22)\n\n\u003ch1 align=\"center\"\u003e⚡ SupaNext Starter Kit ⚡\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n The Last Next.js and Supabase Starter You Will Ever Need\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg alt=\"GitHub License\" src=\"https://img.shields.io/github/license/michaeltroya/supa-next-starter\"\u003e\n\n  \u003ca href=\"https://twitter.com/intent/follow?screen_name=michaeltroya_\"\u003e\n   \u003cimg alt=\"X (formerly Twitter) Follow\" src=\"https://img.shields.io/twitter/follow/michaeltroya_\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eCreated by \u003ca href=\"https://twitter.com/michaeltroya_\"\u003eMichael Troya\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#clone-and-run-locally\"\u003e\u003cstrong\u003eClone and run locally\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#documentation\"\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#feedback-and-issues\"\u003e\u003cstrong\u003eFeedback and issues\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr/\u003e\n\n## Features\n\n- ⚡️ Next.js 14 (App Router)\n- 💚 Supabase w/ supabase-ssr - Works across the entire [Next.js](https://nextjs.org) stack (App Router, Pages Router, Client, Server, Middleware, It just works!)\n- ⚛️ React 18\n- ⛑ TypeScript\n- 📦 [pnpm](https://pnpm.io/) - Fast, disk space efficient package manager\n- 🎨 [Tailwind](https://tailwindcss.com/)\n- 🔌 [shadcn/ui](https://ui.shadcn.com/) - Beautifully designed components that you can copy and paste into your apps.\n- 🧪 Jest w/SWC + React Testing Library - Unit tests for all of your code.\n- 🎛️ [MSW](https://mswjs.io/)v2 - Intercept requests inside your tests (set up for testing only)\n- 🪝[TanStackQuery](https://tanstack.com/query/v5)v5 - The best way to fetch data on the client\n- 📏 ESLint — To find and fix problems in your code\n- 💖 Prettier — Code Formatter for consistent style\n- 🐶 Husky — For running scripts before committing\n- 🚫 lint-staged — Run ESLint and Prettier against staged Git files\n- 👷 Github Actions — Run Type Checks, Tests, and Linters on Pull Requests\n- 🗂 Path Mapping — Import components or images using the `@` prefix\n- ⚪⚫ Dark mode - Toggle theme modes with [next-themes](https://github.com/pacocoursey/next-themes)\n- ✨ Next Top Loader - Render a pleasent top loader on navigation with [nextjs-toploader](https://github.com/TheSGJ/nextjs-toploader)\n- 🔋 Lots Extras - Next Bundle Analyzer, Vercel Analytics, Vercel Geist Font\n\n## Clone and run locally\n\n1. You'll first need a Supabase project which can be made [via the Supabase dashboard](https://database.new)\n\n2. Create a Next.js app using the Supabase Starter template npx command\n\n   ```bash\n   pnpm create next-app -e https://github.com/michaeltroya/supa-next-starter\n   # or\n   npx create-next-app -e https://github.com/michaeltroya/supa-next-starter\n   ```\n\n3. Use `cd` to change into the app's directory\n\n   ```bash\n   cd name-of-new-app\n   ```\n\n4. Rename `.env.local.example` to `.env.local` and update the following:\n\n   ```\n   NEXT_PUBLIC_SUPABASE_URL=[INSERT SUPABASE PROJECT URL]\n   NEXT_PUBLIC_SUPABASE_ANON_KEY=[INSERT SUPABASE PROJECT API ANON KEY]\n   ```\n\n   Both `NEXT_PUBLIC_SUPABASE_URL` and `NEXT_PUBLIC_SUPABASE_ANON_KEY` can be found in [your Supabase project's API settings](https://app.supabase.com/project/_/settings/api)\n\n5. You can now run the Next.js local development server:\n\n   ```bash\n   pnpm run dev\n   ```\n\n   The starter kit should now be running on [localhost:3000](http://localhost:3000/).\n\n\u003e Check out [the docs for Local Development](https://supabase.com/docs/guides/getting-started/local-development) to also run Supabase locally.\n\n## Showcase\n\nWebsites started using this template:\n\n- [mainspring.pro](https://www.mainspring.pro/)\n- [Add yours](https://github.com/michaeltroya/supa-next-starter/edit/main/README.md)\n\n# Documentation\n\n### Requirements\n\n- Node.js \u003e= 18.17.0\n- pnpm 8\n\n### Scripts\n\n- `pnpm dev` — Starts the application in development mode at `http://localhost:3000`.\n- `pnpm build` — Creates an optimized production build of your application.\n- `pnpm start` — Starts the application in production mode.\n- `pnpm type-check` — Validate code using TypeScript compiler.\n- `pnpm lint` — Runs ESLint for all files in the `src` directory.\n- `pnpm format-check` — Runs Prettier and checks if any files have formatting issues.\n- `pnpm format` — Runs Prettier and formats files.\n- `pnpm test` — Runs all the jest tests in the project.\n- `pnpm test:ci` — Runs all the jest tests in the project, Jest will assume it is running in a CI environment.\n- `pnpm analyze` — Builds the project and opens the bundle analyzer.\n\n### Paths\n\nTypeScript is pre-configured with custom path mappings. To import components or files, use the `@` prefix.\n\n```tsx\nimport { Button } from '@/components/ui/Button'\n\n// To import images or other files from the public folder\nimport avatar from '@/public/avatar.png'\n```\n\n### Switch to Yarn/npm\n\nThis starter uses pnpm by default, but this choice is yours. If you'd like to switch to Yarn/npm, delete the `pnpm-lock.yaml` file, install the dependencies with Yarn/npm, change the CI workflow, and Husky Git hooks to use Yarn/npm commands.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for more information.\n\n## Feedback and issues\n\nPlease file feedback and issues [here](https://github.com/michaeltroya/supa-next-starter/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeltroya%2Fsupa-next-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaeltroya%2Fsupa-next-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeltroya%2Fsupa-next-starter/lists"}