{"_id":"@aiherrera/create-turbo","_rev":"7-9697777b33e2b88755f9eef26221235a","name":"@aiherrera/create-turbo","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.1":{"name":"@aiherrera/create-turbo","version":"1.0.1","keywords":["turborepo","template","monorepo","typescript","react","pnpm","biome","tailwindcss","lefthook","docker","postgresql","redis","ci-cd","scaffold","cli","create","generator","boilerplate","starter","semantic-release","github-actions"],"author":{"url":"https://github.com/aiherrera","name":"Alain Iglesias","email":"alain@lynsoft.com"},"license":"MIT","_id":"@aiherrera/create-turbo@1.0.1","maintainers":[{"name":"aiherrera","email":"alain.iherrera@gmail.com"}],"homepage":"https://github.com/Lynsoft/create-turbo#readme","bugs":{"url":"https://github.com/Lynsoft/create-turbo/issues"},"bin":{"create-turbo":"dist/index.js"},"dist":{"shasum":"6f311f1cf844275e2b1f8be1077214ca301c0a08","tarball":"https://registry.npmjs.org/@aiherrera/create-turbo/-/create-turbo-1.0.1.tgz","fileCount":5,"integrity":"sha512-5Zi7YmqvVaY3mJpzpFLdbnA/WE7BW3HtemvDxHT0SrkhFqLOcn4S6AHjVdRZ+PGEnaZP+PMkwGA1CZf95uz+2w==","signatures":[{"sig":"MEYCIQDDFvL/sTRF0UjsNmDW3tIU5q3wimAYFwTBcnWWWo9zPAIhAJsnwjsoZH3UB2mayzjkbT4MP54E1cOlJcbq2BbyGmIl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26071},"type":"module","engines":{"node":">=24.1.0","pnpm":">=10.20.0"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","pretest":"pnpm build","test:ui":"vitest --ui","test:watch":"vitest","prepublishOnly":"pnpm build"},"_npmUser":{"name":"aiherrera","email":"alain.iherrera@gmail.com"},"repository":{"url":"git+https://github.com/Lynsoft/create-turbo.git","type":"git"},"_npmVersion":"11.3.0","description":"CLI to scaffold production-ready Turborepo monorepos with TypeScript, React, Tailwind CSS, Biome, Lefthook, Docker (PostgreSQL + Redis), and automated CI/CD","directories":{},"_nodeVersion":"24.1.0","dependencies":{"prompts":"2.4.2","commander":"12.1.0","picocolors":"1.1.1","validate-npm-package-name":"6.0.0"},"preferGlobal":false,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","vitest":"4.0.8","@vitest/ui":"4.0.8","typescript":"5.9.3","@types/node":"22.10.5","@types/prompts":"2.4.9","semantic-release":"25.0.2","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@types/validate-npm-package-name":"4.0.2","conventional-changelog-conventionalcommits":"9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/create-turbo_1.0.1_1762974099007_0.975575556901433","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aiherrera/create-turbo","version":"1.0.2","keywords":["turborepo","template","monorepo","typescript","react","pnpm","biome","tailwindcss","lefthook","docker","postgresql","redis","ci-cd","scaffold","cli","create","generator","boilerplate","starter","semantic-release","github-actions"],"author":{"url":"https://github.com/aiherrera","name":"Alain Iglesias","email":"alain@lynsoft.com"},"license":"MIT","_id":"@aiherrera/create-turbo@1.0.2","maintainers":[{"name":"aiherrera","email":"alain.iherrera@gmail.com"}],"homepage":"https://github.com/Lynsoft/create-turbo#readme","bugs":{"url":"https://github.com/Lynsoft/create-turbo/issues"},"bin":{"create-turbo":"dist/index.js"},"dist":{"shasum":"3c44da34a0c4326097c2dd6b96135a0c36b005a3","tarball":"https://registry.npmjs.org/@aiherrera/create-turbo/-/create-turbo-1.0.2.tgz","fileCount":5,"integrity":"sha512-hiQTwxYbudwVnb64fgRd5kE/sWI0qgstRYXm/bUOLExFDnAm6gJVc32r5OnF+dxwYaGOoSNNWLZ4gAYgUSNfow==","signatures":[{"sig":"MEUCIQCuU9rVcu1RTWQ5g7llhuSvTV31/xvEGZGC/yhAzWkreQIgEsGzzg8NFPnXyv8Ha/mPvmfqjSIMvPBqhlpXOQ8dHD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiherrera%2fcreate-turbo@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26707},"type":"module","engines":{"node":">=24.1.0","pnpm":">=10.20.0"},"gitHead":"f7797d841c73f81ce937049ca4f0ddae48e2fddb","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","pretest":"pnpm build","test:ui":"vitest --ui","test:watch":"vitest","prepublishOnly":"pnpm build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a54a055e-39a9-4bfd-962b-f4e29df5f302"}},"repository":{"url":"git+https://github.com/Lynsoft/create-turbo.git","type":"git"},"_npmVersion":"11.6.1","description":"CLI to scaffold production-ready Turborepo monorepos with TypeScript, React, Tailwind CSS, Biome, Lefthook, Docker (PostgreSQL + Redis), and automated CI/CD","directories":{},"_nodeVersion":"24.11.0","dependencies":{"prompts":"2.4.2","commander":"12.1.0","picocolors":"1.1.1","validate-npm-package-name":"6.0.0"},"preferGlobal":false,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","vitest":"4.0.8","@vitest/ui":"4.0.8","typescript":"5.9.3","@types/node":"24.10.1","@types/prompts":"2.4.9","semantic-release":"25.0.2","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@types/validate-npm-package-name":"4.0.2","conventional-changelog-conventionalcommits":"9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/create-turbo_1.0.2_1762977027536_0.825224220443068","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aiherrera/create-turbo","version":"1.0.3","keywords":["turborepo","template","monorepo","typescript","react","pnpm","biome","tailwindcss","lefthook","docker","postgresql","redis","ci-cd","scaffold","cli","create","generator","boilerplate","starter","semantic-release","github-actions"],"author":{"url":"https://github.com/aiherrera","name":"Alain Iglesias","email":"alain@lynsoft.com"},"license":"MIT","_id":"@aiherrera/create-turbo@1.0.3","maintainers":[{"name":"aiherrera","email":"alain.iherrera@gmail.com"}],"homepage":"https://github.com/Lynsoft/create-turbo#readme","bugs":{"url":"https://github.com/Lynsoft/create-turbo/issues"},"bin":{"create-turbo":"dist/index.js"},"dist":{"shasum":"16bba509e49de440b521ae8f2ea1c509cc824d13","tarball":"https://registry.npmjs.org/@aiherrera/create-turbo/-/create-turbo-1.0.3.tgz","fileCount":5,"integrity":"sha512-MB2GGvKRxCjn18HWVK7MzaqfC5ys8oGeFUKqNkRHF7uKJzZ2LjsNoacGK0z80ZwyXfwnPYE3DniAlA8+l/KbMQ==","signatures":[{"sig":"MEQCIDtzI0UNKEJOQ7t+/jQHDqfQUl6cpIloz6qE3HW2CSu5AiA3bGY8dWLlHPpxEvSdDGbSZOYX2S1xy93r+wW0q5Jj/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiherrera%2fcreate-turbo@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26731},"type":"module","engines":{"node":">=24.1.0","pnpm":">=10.20.0"},"gitHead":"8f41d38a8f87d14dd1baeea5c27c639829b3e283","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","pretest":"pnpm build","test:ui":"vitest --ui","test:watch":"vitest","prepublishOnly":"pnpm build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a54a055e-39a9-4bfd-962b-f4e29df5f302"}},"repository":{"url":"git+https://github.com/Lynsoft/create-turbo.git","type":"git"},"_npmVersion":"11.6.1","description":"CLI to scaffold production-ready Turborepo monorepos with TypeScript, React, Tailwind CSS, Biome, Lefthook, Docker (PostgreSQL + Redis), and automated CI/CD","directories":{},"_nodeVersion":"24.11.0","dependencies":{"prompts":"2.4.2","commander":"12.1.0","picocolors":"1.1.1","validate-npm-package-name":"6.0.0"},"preferGlobal":false,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","vitest":"4.0.8","@vitest/ui":"4.0.8","typescript":"5.9.3","@types/node":"24.10.1","@types/prompts":"2.4.9","semantic-release":"25.0.2","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@types/validate-npm-package-name":"4.0.2","conventional-changelog-conventionalcommits":"9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/create-turbo_1.0.3_1762977248959_0.48210586394613597","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aiherrera/create-turbo","version":"1.1.0","description":"CLI to scaffold production-ready Turborepo monorepos with TypeScript, React, Tailwind CSS, Biome, Lefthook, Docker (PostgreSQL + Redis), and automated CI/CD","type":"module","bin":{"create-turbo":"dist/index.js"},"scripts":{"build":"tsup","dev":"tsup --watch","prepublishOnly":"pnpm build","pretest":"pnpm build","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui"},"keywords":["turborepo","template","monorepo","typescript","react","pnpm","biome","tailwindcss","lefthook","docker","postgresql","redis","ci-cd","scaffold","cli","create","generator","boilerplate","starter","semantic-release","github-actions"],"author":{"name":"Alain Iglesias","email":"alain@lynsoft.com","url":"https://github.com/aiherrera"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Lynsoft/create-turbo.git"},"bugs":{"url":"https://github.com/Lynsoft/create-turbo/issues"},"homepage":"https://github.com/Lynsoft/create-turbo#readme","dependencies":{"commander":"12.1.0","picocolors":"1.1.1","prompts":"2.4.2","validate-npm-package-name":"6.0.0"},"devDependencies":{"@semantic-release/changelog":"6.0.3","@semantic-release/git":"10.0.1","@types/node":"24.10.1","@types/prompts":"2.4.9","@types/validate-npm-package-name":"4.0.2","@vitest/ui":"4.0.8","conventional-changelog-conventionalcommits":"9.1.0","semantic-release":"25.0.2","tsup":"8.5.0","typescript":"5.9.3","vitest":"4.0.8"},"engines":{"node":">=24.1.0","pnpm":">=10.20.0"},"publishConfig":{"access":"public"},"preferGlobal":false,"gitHead":"de6b23b4f04f21fdda46750480de34a21ceed36e","_id":"@aiherrera/create-turbo@1.1.0","_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-M5hsx0zhxBwceeVpMCfn+cDjFPwLeCDdXsHvbSqk9N23V86+DgZHMslDN9bd+S9+jiKNlcbOL6Ma6gmzYfZWoQ==","shasum":"4121bc8155c891cbba3c0f5a6a30a1bd80633ffd","tarball":"https://registry.npmjs.org/@aiherrera/create-turbo/-/create-turbo-1.1.0.tgz","fileCount":5,"unpackedSize":45616,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiherrera%2fcreate-turbo@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAR0C4EL22Zl0qT6x8IMuNR9kR0XTVgrTR/SCY5OVk9UAiBjfpBMD31WKxIenzF3ow3uPiLBNqrb9Ow61DjtKrD+MA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a54a055e-39a9-4bfd-962b-f4e29df5f302"}},"directories":{},"maintainers":[{"name":"aiherrera","email":"alain.iherrera@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-turbo_1.1.0_1763011428233_0.9309352511413627"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-12T19:01:38.899Z","modified":"2025-11-13T05:23:48.754Z","1.0.0":"2025-11-12T17:50:44.472Z","1.0.1":"2025-11-12T19:01:39.170Z","1.0.2":"2025-11-12T19:50:27.700Z","1.0.3":"2025-11-12T19:54:09.143Z","1.1.0":"2025-11-13T05:23:48.392Z"},"bugs":{"url":"https://github.com/Lynsoft/create-turbo/issues"},"author":{"name":"Alain Iglesias","email":"alain@lynsoft.com","url":"https://github.com/aiherrera"},"license":"MIT","homepage":"https://github.com/Lynsoft/create-turbo#readme","keywords":["turborepo","template","monorepo","typescript","react","pnpm","biome","tailwindcss","lefthook","docker","postgresql","redis","ci-cd","scaffold","cli","create","generator","boilerplate","starter","semantic-release","github-actions"],"repository":{"type":"git","url":"git+https://github.com/Lynsoft/create-turbo.git"},"description":"CLI to scaffold production-ready Turborepo monorepos with TypeScript, React, Tailwind CSS, Biome, Lefthook, Docker (PostgreSQL + Redis), and automated CI/CD","maintainers":[{"name":"aiherrera","email":"alain.iherrera@gmail.com"}],"readme":"# @aiherrera/create-turbo\n\n[![npm version](https://badge.fury.io/js/@aiherrera%2Fcreate-turbo.svg)](https://www.npmjs.com/package/@aiherrera/create-turbo)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![CI/CD](https://github.com/Lynsoft/create-turbo/actions/workflows/publish.yml/badge.svg)](https://github.com/Lynsoft/create-turbo/actions/workflows/publish.yml)\n[![npm provenance](https://img.shields.io/badge/npm-provenance-blue)](https://docs.npmjs.com/generating-provenance-statements)\n[![Node.js Version](https://img.shields.io/node/v/@aiherrera/create-turbo)](https://nodejs.org)\n\nCLI to scaffold production-ready Turborepo monorepos with TypeScript, React, Tailwind CSS, Biome, Lefthook, Docker (PostgreSQL + Redis), and automated CI/CD.\n\n## Quick Start\n\n### With pnpm (recommended)\n\n```bash\npnpm create @aiherrera/turbo my-app\ncd my-app\npnpm dev\n```\n\n### With npm\n\n```bash\nnpm create @aiherrera/turbo my-app\ncd my-app\nnpm run dev\n```\n\n### With yarn\n\n```bash\nyarn create @aiherrera/turbo my-app\ncd my-app\nyarn dev\n```\n\n### With bun\n\n```bash\nbun create @aiherrera/turbo my-app\ncd my-app\nbun dev\n```\n\n### Alternative: Using npx/pnpx\n\n```bash\npnpx @aiherrera/create-turbo my-app\n# or\nnpx @aiherrera/create-turbo my-app\n```\n\n## CLI Options\n\n```bash\npnpm create @aiherrera/turbo [project-name] [options]\n```\n\n### Arguments\n\n- `[project-name]` - Name of your project (optional, will prompt if not provided)\n\n### Options\n\n- `-p, --package-manager <manager>` - Package manager to use (pnpm, npm, yarn, bun)\n- `--skip-install` - Skip installing dependencies\n- `--skip-git` - Skip git initialization\n- `--with-addons <addons>` - Comma-separated list of add-ons to include (e.g., expo)\n- `-h, --help` - Display help\n- `-V, --version` - Display version\n\n## Examples\n\n```bash\n# Interactive mode (prompts for project name, package manager, and add-ons)\npnpm create @aiherrera/turbo\n\n# With project name\npnpm create @aiherrera/turbo my-awesome-app\n\n# With specific package manager\npnpm create @aiherrera/turbo my-app -p npm\n\n# With add-ons (Expo mobile app)\npnpm create @aiherrera/turbo my-app --with-addons expo\n\n# Skip dependency installation (useful for CI/CD)\npnpm create @aiherrera/turbo my-app --skip-install\n\n# Skip git initialization\npnpm create @aiherrera/turbo my-app --skip-git\n\n# Combine options\npnpm create @aiherrera/turbo my-app -p yarn --with-addons expo --skip-git\n```\n\n## What You Get\n\nThis CLI scaffolds a production-ready Turborepo monorepo with:\n\n### 🚀 Modern Stack\n- **TypeScript** - Type-safe development\n- **React** - UI library\n- **Tailwind CSS** - Utility-first styling\n\n### ⚡ Fast Tooling\n- **Biome** - Lightning-fast linting and formatting\n- **Turborepo** - High-performance build orchestration\n- **pnpm** - Efficient package management\n\n### 🔧 Developer Experience\n- **Lefthook** - Fast git hooks\n- **Conventional Commits** - Enforced commit standards\n- **Semantic Release** - Automated versioning and releases\n\n### 🐳 Docker Ready\n- **PostgreSQL + Redis** - Pre-configured databases\n- **Multi-stage builds** - Optimized for dev and production\n\n### 📦 Shared Packages\n- **@repo/ui** - Shared React components\n- **@repo/typescript-config** - Shared TypeScript configurations\n\n### 🤖 CI/CD\n- **GitHub Actions** - Pre-configured workflows\n- **Automated releases** - On every push to main\n\n## Add-ons\n\nEnhance your monorepo with optional add-ons during setup or by using the `--with-addons` flag:\n\n### Available Add-ons\n\n#### 📱 Expo App (`expo`)\n- **Repository**: [Lynsoft/turborepo-template-apps-expo](https://github.com/Lynsoft/turborepo-template-apps-expo)\n- **Location**: `apps/mobile-expo`\n- **Description**: React Native mobile app with Expo, fully integrated with your monorepo\n- **Features**:\n  - Pre-configured Expo app with Sentry, NativeWind, and file-based routing\n  - Shared UI components from `@repo/ui`\n  - TypeScript support\n  - Ready for iOS and Android development\n- **Automatic Configuration**: The CLI automatically updates:\n  - `turbo.json`: Adds Expo-specific build outputs (`android/app/build/**`, `ios/build/**`, `.expo/**`)\n  - `biome.json`: Adds Expo directory exclusions (`!.expo`, `!android`, `!ios`)\n\n### Using Add-ons\n\n```bash\n# Interactive selection (prompts during setup)\npnpm create @aiherrera/turbo my-app\n\n# Via CLI flag\npnpm create @aiherrera/turbo my-app --with-addons expo\n\n# Multiple add-ons (when more become available)\npnpm create @aiherrera/turbo my-app --with-addons expo,other\n```\n\n## Template Repository\n\nThis CLI clones from: [Lynsoft/turborepo-template](https://github.com/Lynsoft/turborepo-template)\n\n## Development\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/Lynsoft/create-turbo.git\ncd create-turbo\n\n# Install dependencies\npnpm install\n\n# Run tests (automatically builds first)\npnpm test\n\n# Or build manually\npnpm build\n\n# Test locally\npnpm link --global\npnpm create @aiherrera/turbo test-app\n```\n\n### Automated Releases\n\nThis project uses **semantic-release** for automated versioning and publishing to npm.\n\n#### How it works:\n\n1. **Commit with conventional commits** (required):\n   ```bash\n   git commit -m \"feat: add new feature\"\n   git commit -m \"fix: resolve bug\"\n   git commit -m \"docs: update README\"\n   ```\n\n2. **Push to main branch**:\n   ```bash\n   git push origin main\n   ```\n\n3. **Automated release** (GitHub Actions):\n   - Analyzes commits since last release\n   - Determines version bump (major/minor/patch)\n   - Generates CHANGELOG.md\n   - Creates GitHub release\n   - Publishes to npm\n   - Commits version bump back to repo\n\n#### Commit Types:\n\n- `feat:` → Minor version bump (1.0.0 → 1.1.0)\n- `fix:` → Patch version bump (1.0.0 → 1.0.1)\n- `perf:` → Patch version bump\n- `docs:` → Patch version bump\n- `BREAKING CHANGE:` → Major version bump (1.0.0 → 2.0.0)\n- `chore:`, `test:`, `ci:` → No release\n\n#### Setup Requirements:\n\nThis project uses **npm Trusted Publishing** (provenance) for secure, token-free publishing.\n\n##### Option 1: Trusted Publishing (Recommended - No tokens needed!)\n\n1. **Configure npm Trusted Publishing**:\n   - Go to [npmjs.com](https://www.npmjs.com/) → Account Settings → Publishing Access\n   - Click \"Configure Trusted Publishing\"\n   - Add GitHub as a provider:\n     - **Repository**: `Lynsoft/create-turbo`\n     - **Workflow**: `publish.yml`\n     - **Environment**: (leave empty)\n   - Save configuration\n\n2. **GITHUB_TOKEN**: Automatically provided by GitHub Actions (no setup needed)\n\n##### Option 2: Manual npm Token (Legacy - Not recommended)\n\nIf you can't use Trusted Publishing:\n\n1. **NPM_TOKEN**: Your npm access token\n   - Go to [npmjs.com](https://www.npmjs.com/) → Access Tokens → Generate New Token\n   - Select \"Automation\" type\n   - Add to GitHub: Settings → Secrets → New repository secret → `NPM_TOKEN`\n\n**Note**: Trusted Publishing is more secure and doesn't require managing tokens!\n\n## License\n\nMIT © [Alain Iglesias](https://github.com/aiherrera)\n\n","readmeFilename":"README.md"}