{"id":30619010,"url":"https://github.com/paulrberg/next-template","last_synced_at":"2026-04-11T09:05:28.274Z","repository":{"id":311908008,"uuid":"1045533416","full_name":"PaulRBerg/next-template","owner":"PaulRBerg","description":"Next.js template for building web applications","archived":false,"fork":false,"pushed_at":"2025-08-27T11:52:04.000Z","size":60,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-27T20:03:50.427Z","etag":null,"topics":["biomejs","bun","claude-code","just","knip","nextjs","prettier","tailwind","typescript","vercel"],"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/PaulRBerg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","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,"zenodo":null}},"created_at":"2025-08-27T10:23:20.000Z","updated_at":"2025-08-27T11:52:08.000Z","dependencies_parsed_at":"2025-08-27T20:03:55.577Z","dependency_job_id":"53a08ba7-ff06-488e-a382-f8a905e37fbb","html_url":"https://github.com/PaulRBerg/next-template","commit_stats":null,"previous_names":["paulrberg/next-template"],"tags_count":null,"template":true,"template_full_name":null,"purl":"pkg:github/PaulRBerg/next-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulRBerg%2Fnext-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulRBerg%2Fnext-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulRBerg%2Fnext-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulRBerg%2Fnext-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PaulRBerg","download_url":"https://codeload.github.com/PaulRBerg/next-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulRBerg%2Fnext-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272847395,"owners_count":25003187,"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-30T02:00:09.474Z","response_time":77,"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":["biomejs","bun","claude-code","just","knip","nextjs","prettier","tailwind","typescript","vercel"],"created_at":"2025-08-30T12:16:31.575Z","updated_at":"2026-04-11T09:05:28.261Z","avatar_url":"https://github.com/PaulRBerg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js Template [![NextJS][next-badge]][next] [![Node.js Version][node-badge]][node-url] [![TypeScript Version][typescript-badge]][typescript-url] [![License: MIT][license-badge]][license-url]\n\n[next]: https://nextjs.org/\n[next-badge]: https://img.shields.io/badge/Next-black?style=flat\u0026logo=next.js\u0026logoColor=white\n[node-badge]: https://img.shields.io/badge/node-%3E%3D20-green\n[node-url]: https://nodejs.org\n[typescript-badge]: https://img.shields.io/badge/typescript-5.9-blue\n[typescript-url]: https://www.typescriptlang.org/\n[license-badge]: https://img.shields.io/badge/License-MIT-orange.svg\n[license-url]: https://opensource.org/licenses/MIT\n\nA modern Next.js template for building production-ready web applications.\n\n![Artwork](./artwork.jpg)\n\n## What's Inside\n\nThis template provides:\n\n- **[`AGENTS.md`](./AGENTS.md)** — Context instructions for AI agents like Claude Code\n- **[Next.js v16](https://nextjs.org)** — App Router, React v19, and React Compiler\n- **[Effect-ts](https://effect.website)** — type-safe functional programming and async effects\n- **[Vercel](https://vercel.com/guides/how-can-i-use-github-actions-with-vercel)** — hosting and CI deployments\n- **[TypeScript v5](https://typescriptlang.org)** — type safety and enhanced developer experience\n- **[Tailwind CSS v4](https://tailwindcss.com)** — utility-first CSS framework for rapid styling\n- **[Base UI](https://base-ui.com)** — headless, accessible React components\n- **[Bun](https://bun.sh)** — fast package manager and JavaScript runtime\n- **[BiomeJS](https://biomejs.dev)** — linting and formatting for TypeScript, JSON, and CSS\n- **[ESLint](https://eslint.org)** — Tailwind class validation and React hooks rules\n- **[Prettier](https://prettier.io)** — code formatting for Markdown and YAML files\n- **[Just](https://just.systems)** — command runner for streamlined task automation\n- **[Husky](https://typicode.github.io/husky)** — automated Git hooks with lint-staged\n\nOptimized for developer productivity and application performance.\n\n\u003e [!NOTE]\n\u003e\n\u003e Some of the configuration files depend upon the [Sablier DevKit](https://github.com/sablier-labs/devkit)\n\n## Getting Started\n\nClick the [`Use this template`](https://github.com/PaulRBerg/next-template/generate) button to create a new repository.\n\nOr clone manually:\n\n```bash\ngit clone https://github.com/PaulRBerg/next-template.git my-app\ncd my-app\n```\n\nAnd then run:\n\n```bash\nbun install\nbun husky\njust --list\n```\n\nNew to Next.js? Check out these resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n- [Next.js GitHub repository](https://github.com/vercel/next.js)\n\n## Prerequisites\n\n- [Bun](https://bun.sh)\n- [Ni](https://github.com/antfu-collective/ni)\n- [Just](https://just.systems)\n\n## Usage\n\nStart the development server:\n\n```bash\njust dev\n```\n\nThe dev server starts on a random available port. Check the terminal output for the URL.\n\n### Vercel Deployment\n\nTo make the CI deployment workflow work, you have to configure these environment variables in your GitHub Actions\nsecrets:\n\n- `VERCEL_ORG_ID`\n- `VERCEL_PROJECT_ID`\n- `VERCEL_TOKEN`\n\n\u003e [!TIP]\n\u003e\n\u003e If you use the [`gh`](https://cli.github.com) CLI, you can put your environment variables in a `.env` file and then\n\u003e run this command: `gh secret set -f .env`.\n\n## Commands\n\nThis template uses [Just](https://just.systems/) for task automation.\n\n### Development\n\nMake sure to run `bun install` first!\n\n| Command       | Description              |\n| ------------- | ------------------------ |\n| `just dev`    | Start development server |\n| `just build`  | Build for production     |\n| `just start`  | Start production server  |\n| `just clean`  | Clean build artifacts    |\n| `just deploy` | Deploy to Vercel         |\n\n### Code Quality\n\n| Command              | Description                                  |\n| -------------------- | -------------------------------------------- |\n| `just biome-check`   | Check code with Biome (lint + format)        |\n| `just biome-write`   | Auto-fix Biome issues                        |\n| `just eslint-check`  | Check Tailwind classes and React hooks rules |\n| `just eslint-write`  | Auto-fix ESLint issues                       |\n| `just type-check`    | Type check with tsgo (falls back to tsc)     |\n| `just full-check`    | Run all quality checks                       |\n| `just full-write`    | Fix all quality issues                       |\n\n### Other Commands\n\nRun `just` to see all available commands, including `prettier-*`, `mdformat-*`, and `knip-*`.\n\n## Project Structure\n\n```tree\n├── .github/workflows/     # GitHub Actions (CI/CD)\n├── .husky/                # Git hooks configuration\n├── app/                   # Next.js App Router\n│   ├── api/health/        # Health check API route\n│   ├── globals.css        # Global styles and Tailwind directives\n│   ├── layout.tsx         # Root layout\n│   └── page.tsx           # Home page\n├── lib/                   # Shared utilities\n│   ├── cn.ts              # Tailwind class merge utility\n│   ├── regex.ts           # Regex utilities\n│   └── effect/            # Effect-ts utilities\n├── public/                # Static files\n├── ui/                    # UI components\n│   ├── Button.tsx         # Button component\n│   ├── SmartImage.tsx     # Enhanced next/image wrapper\n│   └── SmartLink.tsx      # Enhanced next/link wrapper\n├── AGENTS.md              # AI agent instructions (CLAUDE.md → symlink)\n├── biome.jsonc            # Biome configuration\n├── eslint.config.mts      # ESLint configuration (Tailwind + React hooks)\n├── justfile               # Just command definitions\n├── next.config.ts         # Next.js configuration\n├── package.json           # Package configuration\n├── postcss.config.mjs     # PostCSS configuration\n└── tsconfig.json          # TypeScript configuration\n```\n\n## Customization\n\n### Styling\n\nCustomize the design system by editing:\n\n- `app/globals.css` — global styles and Tailwind directives\n- `postcss.config.mjs` — PostCSS configuration\n\n### Linting and Formatting\n\nCode quality is enforced with Biome (`biome.jsonc`) and ESLint (`eslint.config.mts`). ESLint handles Tailwind class\nvalidation and React hooks rules that Biome doesn't support yet.\n\n## Deployment\n\nDeploy easily with\n[Vercel](https://vercel.com/new?utm_medium=default-template\u0026filter=next.js\u0026utm_source=create-next-app\u0026utm_campaign=create-next-app-readme),\nthe platform from Next.js creators.\n\nSee the [Next.js deployment documentation](https://nextjs.org/docs/deployment) for other options.\n\n## License\n\nThis project is licensed under MIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulrberg%2Fnext-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulrberg%2Fnext-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulrberg%2Fnext-template/lists"}