{"id":24024649,"url":"https://github.com/holedev/starter-kit","last_synced_at":"2025-04-16T04:22:22.077Z","repository":{"id":262102512,"uuid":"879305798","full_name":"holedev/starter-kit","owner":"holedev","description":"A Starter Kit for rapidly development with Next.js 15, TypeScript, Shadcn UI, Prisma and Swagger.","archived":false,"fork":false,"pushed_at":"2025-04-15T09:53:19.000Z","size":517,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T10:43:06.218Z","etag":null,"topics":["conventional-commits","devcontainer","dockerize","nextjs15-typescript","prisma-orm","semantic-release","shadcn-ui","starter-kit","supabase"],"latest_commit_sha":null,"homepage":"https://starter-kit-sigma-coral.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/holedev.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,"zenodo":null}},"created_at":"2024-10-27T15:05:29.000Z","updated_at":"2025-04-03T10:23:55.000Z","dependencies_parsed_at":"2025-03-28T17:32:06.156Z","dependency_job_id":"be2291ee-25b8-4990-93ba-c2de27af4a00","html_url":"https://github.com/holedev/starter-kit","commit_stats":null,"previous_names":["leho-dev/starter-kit","holedev/starter-kit"],"tags_count":8,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holedev%2Fstarter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holedev%2Fstarter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holedev%2Fstarter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holedev%2Fstarter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/holedev","download_url":"https://codeload.github.com/holedev/starter-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249194680,"owners_count":21228034,"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":["conventional-commits","devcontainer","dockerize","nextjs15-typescript","prisma-orm","semantic-release","shadcn-ui","starter-kit","supabase"],"created_at":"2025-01-08T15:25:48.813Z","updated_at":"2025-04-16T04:22:22.071Z","avatar_url":"https://github.com/holedev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Next.js Starter Kit\n\nA turbocharged starter kit for rapid development with Next.js 15, TypeScript, and Shadcn UI, Swagger. Built for developers who want to move fast without compromising on quality.\n\n## ⚡️ Instant Developer Experience\n\n- **Zero Config Setup**\n  - One-click setup with DevContainer, GitHub Codespaces, or Gitpod\n  - Turbopack for lightning-fast HMR\n  - Pre-configured development environment\n\n- **Developer-First Workflow**\n  - Automatic code formatting and linting on save\n  - Git hooks enforce code quality\n  - Conventional commits with automatic validation\n  - Swagger UI for API documentation\n\n- **Rapid Development Features**\n  - Hot module replacement with Turbopack\n  - Type-safe API routes with built-in validation\n  - Auto-generated Swagger docs for APIs\n  - Automated API testing setup\n\n## 🛠 Tech Stack\n\n- **Frontend**: Next.js 15 with App Router\n- **UI**: Shadcn UI (Accessible, customizable components)\n- **Language**: TypeScript (Strict mode enabled)\n- **Database**: Prisma (Type-safe ORM)\n- **Auth**: Supabase (OAuth ready)\n- **API**: REST with Swagger documentation\n- **i18n**: next-intl (Type-safe translations)\n\n## 🏃‍♂️ Quick Start\n\n### 1. Cloud Development (Recommended)\n\nChoose your preferred cloud development environment:\n\n[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers\u0026message=Open\u0026color=blue\u0026logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/holedev/starter-kit)\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true\u0026ref=main\u0026repo=holedev/starter-kit)\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/holedev/starter-kit)\n\nThis will:\n- Clone the repository\n- Set up the development environment\n- Install dependencies\n- Start the development server\n- Configure all tools and extensions\n\n### 2. Local Development (Alternative)\n\nIf you prefer local development:\n\n1. **Clone \u0026 Install**\n   ```bash\n   git clone git@github.com:holedev/starter-kit.git\n   cd starter-kit\n   pnpm i\n   ```\n\n2. **Set Environment**\n   ```bash\n   cp .env.example .env\n   ```\n\n3. **Start Coding**\n   ```bash\n   pnpm dev\n   ```\n\n### 3. View API Documentation\n```\nhttp://localhost:3000/api-docs\n```\n\n## 💻 Developer Tools\n\n### Command Center\n```bash\npnpm dev         # Start dev server (Turbopack enabled)\npnpm build       # Production build\npnpm start       # Start production server\npnpm format:fix  # Fix code formatting\npnpm lint:fix    # Fix linting issues\n```\n\n### Git Workflow\n```bash\ngit checkout -b feature/my-feature  # New feature branch\ngit add .                          # Stage changes\ngit commit                         # Commit (auto-formats + lints)\ngit push origin feature/my-feature # Push to remote\n```\n\n## 📁 Project Structure\n\n```\n├── app/                 # Next.js app directory\n│   ├── [locale]/       # i18n routes\n│   ├── api/            # API endpoints\n│   └── api-docs/       # Swagger UI\n├── components/         # React components\n│   ├── custom/        # Project components\n│   └── ui/            # Shadcn UI components\n└── configs/           # Configuration\n    ├── data/         # Sample data\n    ├── i18n/         # i18n config\n    ├── messages/     # Translation files\n    ├── prisma/       # Database schema\n    ├── supabase/     # Auth config\n    └── swagger/      # API documentation\n```\n\n## 🚦 API Development\n\n1. Create your API route in `app/api/`\n2. Add route schema in `configs/swagger/config.ts`\n3. Auto-generated docs at `/api-docs`\n\nExample API route with Swagger docs:\n```typescript\n// app/api/animals/random/route.ts\nimport { NextResponse } from \"next/server\";\nimport { animals } from \"@/configs/data/animals\";\n\nexport async function GET() {\n  const random = Math.floor(Math.random() * animals.length);\n  return NextResponse.json(animals[random]);\n}\n```\n\n## 🎯 Best Practices\n\n- **Code Quality**\n  - TypeScript strict mode\n  - ESLint + Prettier integration\n  - Pre-commit hooks\n  - Conventional commits\n\n- **Performance**\n  - Server Components by default\n  - Automatic code splitting\n  - Image optimization\n  - Optimized builds\n\n- **Security**\n  - Environment variables\n  - Type-safe database queries\n  - Protected API routes\n  - Auth middleware\n\n## 🌐 Deployment\n\n### Vercel (Recommended)\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fholedev%2Fstarter-kit)\n\n#### Important: Vercel Size Limits\nVercel has a size limit of 250MB for serverless functions. To avoid deployment issues:\n\n1. **Configure Build Output**\n   Add to your `next.config.ts`:\n   ```typescript\n   const config = {\n     output: 'standalone',\n     experimental: {\n       serverMinification: true,\n     },\n   };\n   ```\n\n2. **Optimize Dependencies**\n   - Use `dependencies` vs `devDependencies` correctly\n   - Remove unused dependencies\n   - Use dynamic imports for large libraries\n   - Consider using CDN for large assets\n\n3. **Monitor Build Size**\n   ```bash\n   pnpm build\n   # Check .next/standalone size before deploying\n   ```\n\n4. **Alternative Deployment Options**\n   If your app exceeds limits:\n   - Use Docker deployment\n   - Consider splitting into microservices\n   - Use edge functions for API routes\n\n### Docker\n```bash\ndocker compose up\n```\n\n## 🤝 Contributing\n\n1. Fork and clone\n2. Create feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit changes (`git commit -m 'feat: add amazing feature'`)\n4. Push branch (`git push origin feature/amazing-feature`)\n5. Open Pull Request\n\n## 📝 License\n\nMIT License - fork, modify and use as you wish.\n\n## 👨‍💻 Author\n\n[@holedev](https://www.github.com/holedev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholedev%2Fstarter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fholedev%2Fstarter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholedev%2Fstarter-kit/lists"}