{"id":25915768,"url":"https://github.com/petergiromagny/next-template","last_synced_at":"2026-04-11T17:04:57.238Z","repository":{"id":280401844,"uuid":"941581754","full_name":"petergiromagny/next-template","owner":"petergiromagny","description":"A clean and efficient Next.js template with best practices, including TypeScript, Tailwind CSS, ESLint, and Prettier. Perfect for kickstarting your Next.js projects with a solid foundation. 🚀","archived":false,"fork":false,"pushed_at":"2025-03-03T07:34:20.000Z","size":1,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T08:29:35.464Z","etag":null,"topics":["actions","boilerplate","eslint","husky","nextjs","prettier","react","tailwindcss","template","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/petergiromagny.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":"2025-03-02T16:25:08.000Z","updated_at":"2025-03-03T08:04:44.000Z","dependencies_parsed_at":"2025-03-03T08:40:19.871Z","dependency_job_id":null,"html_url":"https://github.com/petergiromagny/next-template","commit_stats":null,"previous_names":["petergiromagny/next-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petergiromagny%2Fnext-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petergiromagny%2Fnext-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petergiromagny%2Fnext-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petergiromagny%2Fnext-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petergiromagny","download_url":"https://codeload.github.com/petergiromagny/next-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241661443,"owners_count":19998951,"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":["actions","boilerplate","eslint","husky","nextjs","prettier","react","tailwindcss","template","typescript"],"created_at":"2025-03-03T12:17:32.222Z","updated_at":"2026-04-11T17:04:57.231Z","avatar_url":"https://github.com/petergiromagny.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js Starter Template\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat-square\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![Next.js](https://img.shields.io/badge/Next.js-000000?style=flat-square\u0026logo=next.js\u0026logoColor=white)](https://nextjs.org/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=flat-square\u0026logo=tailwind-css\u0026logoColor=white)](https://tailwindcss.com/)\n[![ESLint](https://img.shields.io/badge/ESLint-4B32C3?style=flat-square\u0026logo=eslint\u0026logoColor=white)](https://eslint.org/)\n[![Prettier](https://img.shields.io/badge/Prettier-F7B93E?style=flat-square\u0026logo=prettier\u0026logoColor=black)](https://prettier.io/)\n[![GitHub Actions](https://img.shields.io/badge/GitHub_Actions-2088FF?style=flat-square\u0026logo=github-actions\u0026logoColor=white)](https://github.com/features/actions)\n\nA production-ready Next.js template equipped with modern tooling, TypeScript, and best practices for building scalable web applications. This template provides a solid foundation for your projects with built-in code quality tools, testing setup, and CI/CD configuration. 🚀\n\n## 📚 Table of Contents\n\n- [Features](#-features)\n- [Getting Started](#-getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation Options](#installation-options)\n  - [Setting Up the Project](#setting-up-the-project)\n- [Project Structure](#-project-structure)\n  - [Source Directory Organization](#source-directory-organization)\n- [Development Tools](#-development-tools)\n  - [Code Quality Tools](#code-quality-tools)\n  - [Git Hooks](#git-hooks-husky)\n  - [Continuous Integration](#continuous-integration)\n- [Building for Production](#-building-for-production)\n- [License](#-license)\n\n## ✨ Features\n\n- 🎯 **TypeScript** - Full type safety and enhanced developer experience\n- ⚡ **Next.js** - React framework with SSR, SSG, and file-based routing\n- 🎨 **Tailwind CSS** - Utility-first CSS framework for rapid UI development\n- 📏 **ESLint** - Pluggable linting utility for JavaScript and TypeScript\n- 💖 **Prettier** - Opinionated code formatter\n- 🐶 **Husky** - Git hooks made easy\n- 🔄 **GitHub Actions** - Automated CI/CD workflows\n- 📱 **Responsive Design** - Mobile-first approach\n- 🌐 **SEO Optimized** - Built-in SEO best practices\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js 18.x or later\n- Package manager (npm, yarn, or pnpm)\n\n### Installation Options\n\n#### 1. Using the Template Feature\n\n1. Click the \"Use this template\" button at the top of this repository\n2. Choose a name for your new repository\n3. Clone your new repository\n4. Navigate to the project directory\n\n#### 2. Direct Clone\n\n```bash\ngit clone [repository-url]\ncd [project-name]\n```\n\n### Setting Up the Project\n\n1. Install dependencies using your preferred package manager:\n\n```bash\n# Using npm\nnpm install\n\n# Using Yarn\nyarn install\n\n# Using pnpm\npnpm install\n```\n\n2. Create a `.env.local` file in the root directory:\n\n```bash\ncp .env.example .env.local\n```\n\n3. Start the development server:\n\n```bash\n# Using npm\nnpm run dev\n\n# Using Yarn\nyarn dev\n\n# Using pnpm\npnpm dev\n```\n\n4. Open [http://localhost:3000](http://localhost:3000) in your browser\n\n## 📁 Project Structure\n\n```\n└── src/              # Source directory\n    ├── app/             # Next.js app router pages and layouts\n    ├── features/        # Feature-based components and logic\n    └── shared/          # Shared utilities, components, and hooks\n```\n\n### Source Directory Organization\n\nThe `src/` directory follows a modular architecture:\n\n- **`app/`**: Contains Next.js 13+ app router pages and layouts\n  - Each route is organized in its own directory\n  - Includes layouts, loading states, and error boundaries\n\n- **`features/`**: Feature-based components and business logic\n  - Each feature has its own directory with isolated components\n  - Includes feature-specific hooks, utils, and types\n  - Check `features/README.md` for feature development guidelines\n\n- **`shared/`**: Reusable components and utilities\n  - Common UI components\n  - Hooks, helpers, and utility functions\n  - Type definitions and interfaces\n  - Refer to `shared/README.md` for component guidelines\n\n## 🛠️ Development Tools\n\n### Code Quality Tools\n\n#### ESLint Configuration\n\nOur ESLint setup includes:\n- TypeScript and React best practices\n- Import sorting and organization\n- React Hooks rules\n- Accessibility checks\n- Integration with Prettier\n\n#### Prettier Configuration\n\n```json\n{\n  \"semi\": false,\n  \"tabWidth\": 2,\n  \"printWidth\": 120,\n  \"trailingComma\": \"all\",\n  \"jsxSingleQuote\": true,\n  \"bracketSpacing\": true,\n  \"bracketSameLine\": false\n}\n```\n\n### Git Hooks (Husky)\n\nPre-commit hooks ensure:\n- Code is properly formatted\n- Linting passes\n- TypeScript types are valid\n- Tests pass\n\n### Continuous Integration\n\nOur GitHub Actions workflow automatically:\n1. Installs dependencies\n2. Checks code formatting\n3. Runs linting\n4. Validates types\n5. Runs tests\n6. Builds the application\n\n## 🧪 Testing\n\nRun tests using:\n\n```bash\n# Run tests\nnpm test\n\n# Run tests in watch mode\nnpm test:watch\n\n# Generate coverage report\nnpm test:coverage\n```\n\n## 📦 Building for Production\n\n```bash\n# Create production build\nnpm run build\n\n# Start production server\nnpm start\n```\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n🚀 **Start building your React application with confidence using this comprehensive starter template!** 🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetergiromagny%2Fnext-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetergiromagny%2Fnext-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetergiromagny%2Fnext-template/lists"}