{"_id":"@cjarero183006/create-clean-app","_rev":"3-74f2eed0106a9b36003488e00162fafb","name":"@cjarero183006/create-clean-app","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@cjarero183006/create-clean-app","version":"1.0.0","keywords":["cli","scaffold","clean-architecture","nestjs","golang","mcp","microservices"],"author":{"name":"Carlos"},"license":"MIT","_id":"@cjarero183006/create-clean-app@1.0.0","maintainers":[{"name":"cjarero183006","email":"pymeshub19@gmail.com"}],"homepage":"https://github.com/jarero321/create-clean-app#readme","bugs":{"url":"https://github.com/jarero321/create-clean-app/issues"},"bin":{"create-clean-app":"dist/index.js"},"dist":{"shasum":"e05396ba09cadc5164948aefe0e1b7dad616b58a","tarball":"https://registry.npmjs.org/@cjarero183006/create-clean-app/-/create-clean-app-1.0.0.tgz","fileCount":4,"integrity":"sha512-jIHnq2j6CsRD6pkCZe8hZs1rWxorUN7lXDgZVVGJ32gtZbvuykvqrgSa40DW3VADAX+jU5h0eScVuf6EeEJJCQ==","signatures":[{"sig":"MEUCIQDNPJaiSxARQJRMAphTVDMPPL4FLw/8O5uy39Il7wV0NQIgZlc1VEmX6o8Oj1PUQGVVBaAEkVu4wzCevs8xSKKbr4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39336},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"9cbc060a5fbc066116b6d8f327e95aeb4272060d","scripts":{"dev":"bun run src/index.ts","test":"vitest","build":"tsup src/index.ts --format esm --dts --clean","test:run":"vitest run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"cjarero183006","email":"pymeshub19@gmail.com"},"repository":{"url":"git+https://github.com/jarero321/create-clean-app.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI for scaffolding projects with Clean Architecture","directories":{},"_nodeVersion":"20.20.0","dependencies":{"chalk":"^5.6.2","figlet":"^1.10.0","@clack/prompts":"^1.0.0","gradient-string":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/figlet":"^1.7.0","@types/gradient-string":"^1.1.6"},"_npmOperationalInternal":{"tmp":"tmp/create-clean-app_1.0.0_1770142602437_0.8384460218550389","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cjarero183006/create-clean-app","version":"1.1.0","keywords":["cli","scaffold","clean-architecture","nestjs","golang","mcp","microservices"],"author":{"name":"Carlos"},"license":"MIT","_id":"@cjarero183006/create-clean-app@1.1.0","maintainers":[{"name":"cjarero183006","email":"pymeshub19@gmail.com"}],"homepage":"https://github.com/jarero321/create-clean-app#readme","bugs":{"url":"https://github.com/jarero321/create-clean-app/issues"},"bin":{"create-clean-app":"dist/index.js"},"dist":{"shasum":"861ce7707a1d8d1be8fa48bfa73c994545ade889","tarball":"https://registry.npmjs.org/@cjarero183006/create-clean-app/-/create-clean-app-1.1.0.tgz","fileCount":5,"integrity":"sha512-BizvWR0fFZEGmS48Pz4c1YIMaa+7t0OoWz4NHmSKKRYWkGD5akzadE5CGKZBr2c4I7K+PkekMiEzrn+sP9NW7A==","signatures":[{"sig":"MEYCIQCSyon3j+3uo9XHjqMaJUG0eKXv/9muykYVgGnzBqoQwgIhAInuO/kiTwEfZopc2mECoAcx0tVSICuOHU9nizl7RzcF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42786},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"db2237f5230caef82683bc75622bb95daf4e0a7a","scripts":{"dev":"bun run src/index.ts","test":"vitest","build":"tsup src/index.ts --format esm --dts --clean","test:run":"vitest run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"cjarero183006","email":"pymeshub19@gmail.com"},"repository":{"url":"git+https://github.com/jarero321/create-clean-app.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI for scaffolding projects with Clean Architecture","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@cjarero183006/cli-builder":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/create-clean-app_1.1.0_1770162270578_0.4923728436008137","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@cjarero183006/create-clean-app","version":"1.1.1","author":{"name":"Carlos"},"repository":{"type":"git","url":"git+https://github.com/jarero321/create-clean-app.git"},"main":"dist/index.js","devDependencies":{"@types/node":"^22.0.0","tsup":"^8.0.0","typescript":"^5.7.0","vitest":"^3.0.0"},"bin":{"create-clean-app":"dist/index.js"},"description":"CLI for scaffolding projects with Clean Architecture","engines":{"node":">=18"},"keywords":["cli","scaffold","clean-architecture","nestjs","golang","mcp","microservices"],"license":"MIT","scripts":{"dev":"bun run src/index.ts","build":"tsup src/index.ts --format esm --dts --clean","test":"vitest","test:run":"vitest run","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"type":"module","dependencies":{"@cjarero183006/cli-builder":"^1.0.0"},"_id":"@cjarero183006/create-clean-app@1.1.1","gitHead":"e2778038f69b9b7de430655c9d8a55b16537387a","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/jarero321/create-clean-app/issues"},"homepage":"https://github.com/jarero321/create-clean-app#readme","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-j6VHO5r5TA4rLhp8Wwqf7DbRjmoYrL2YAlvwjpVR73Djy5brXoqsTuyNQOg4OE2PeVRTiRAE4Em/xeZaPzoGaA==","shasum":"0e9bd8904dd1d9443f65eca6cf84a589d4b7df62","tarball":"https://registry.npmjs.org/@cjarero183006/create-clean-app/-/create-clean-app-1.1.1.tgz","fileCount":5,"unpackedSize":44808,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC6hgroHJTePIH8qWVB1dV+dVZc+JGa/j3hy7NFehlSrgIhAIpXuGWQ+V3unFwQ9xGyvC71pmiCoOggGKKMd7R8e+Mh"}]},"_npmUser":{"name":"cjarero183006","email":"pymeshub19@gmail.com"},"directories":{},"maintainers":[{"name":"cjarero183006","email":"pymeshub19@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-clean-app_1.1.1_1770421794071_0.35487053392503776"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-03T18:16:42.299Z","modified":"2026-02-06T23:49:54.313Z","1.0.0":"2026-02-03T18:16:42.593Z","1.1.0":"2026-02-03T23:44:30.735Z","1.1.1":"2026-02-06T23:49:54.205Z"},"bugs":{"url":"https://github.com/jarero321/create-clean-app/issues"},"author":{"name":"Carlos"},"license":"MIT","homepage":"https://github.com/jarero321/create-clean-app#readme","keywords":["cli","scaffold","clean-architecture","nestjs","golang","mcp","microservices"],"repository":{"type":"git","url":"git+https://github.com/jarero321/create-clean-app.git"},"description":"CLI for scaffolding projects with Clean Architecture","maintainers":[{"name":"cjarero183006","email":"pymeshub19@gmail.com"}],"readme":"<div align=\"center\">\n\n```\n                      _                  _\n  ___ _ __ ___  __ _| |_ ___        ___| | ___  __ _ _ __\n / __| '__/ _ \\/ _` | __/ _ \\_____ / __| |/ _ \\/ _` | '_ \\\n| (__| | |  __/ (_| | ||  __/_____| (__| |  __/ (_| | | | |\n \\___|_|  \\___|\\__,_|\\__\\___|      \\___|_|\\___|\\__,_|_| |_|\n```\n\n### I copy-pasted the same boilerplate for every project. Never again.\n\n![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)\n![Bun](https://img.shields.io/badge/Bun-000000?logo=bun&logoColor=white)\n![Go](https://img.shields.io/badge/Go-00ADD8?logo=go&logoColor=white)\n![NestJS](https://img.shields.io/badge/NestJS-E0234E?logo=nestjs&logoColor=white)\n\n[![npm version](https://img.shields.io/npm/v/@cjarero183006/create-clean-app?style=flat-square&color=00d4ff)](https://www.npmjs.com/package/@cjarero183006/create-clean-app)\n[![npm downloads](https://img.shields.io/npm/dm/@cjarero183006/create-clean-app?style=flat-square&color=7c3aed)](https://www.npmjs.com/package/@cjarero183006/create-clean-app)\n[![License](https://img.shields.io/badge/license-MIT-brightgreen?style=flat-square)](LICENSE)\n[![Tests](https://img.shields.io/badge/tests-40%20passed-brightgreen?style=flat-square)](package.json)\n\n**Scaffold MCP servers and microservices with Clean Architecture**\n\n[Quick Start](#quick-start) · [Templates](#templates) · [What You Get](#what-you-get) · [Architecture](#architecture)\n\n</div>\n\n---\n\n## Why I Built This\n\nEvery new project started the same way:\n\n1. Create folder structure (domain, application, infrastructure)\n2. Copy configs from last project (tsconfig, Dockerfile, docker-compose)\n3. Set up CI/CD workflow\n4. Initialize Git Flow branches\n5. Fix the things I forgot to copy\n\nI automated all of it. Now I scaffold production-ready projects in seconds.\n\n---\n\n## Demo\n\n```\n┌  create-clean-app\n│\n◇  What do you want to create?\n│  ● MCP Server\n│  ○ Microservice / API\n│\n◇  Select your stack:\n│  ● Go\n│  ○ NestJS\n│\n◇  Project name:\n│  my-mcp-server\n│\n◇  Description:\n│  GitHub repository monitor\n│\n◇  Select features:\n│  ◉ Git Flow (main + develop branches)\n│  ◉ Docker (Dockerfile + docker-compose)\n│  ◉ GitHub Actions (CI/CD workflow)\n│\n└  ✔ Project created successfully!\n```\n\n---\n\n## Quick Start\n\n```bash\n# Run directly\nnpx @cjarero183006/create-clean-app\n\n# Or with bun\nbunx @cjarero183006/create-clean-app\n\n# Or install globally\nnpm install -g @cjarero183006/create-clean-app\ncreate-clean-app\n```\n\nAnswer 5 questions. Get a complete project.\n\n---\n\n## Templates\n\n### MCP Servers\n\n| Stack | What you get |\n|-------|--------------|\n| **Go** | mcp-go SDK, stdio transport, Clean Architecture layers, Makefile |\n| **NestJS** | @modelcontextprotocol/sdk, decorators, dependency injection, TypeScript |\n\n### Microservices / APIs\n\n| Stack | What you get |\n|-------|--------------|\n| **Go** | Chi router, REST endpoints, Clean Architecture, health checks |\n| **NestJS** | Full NestJS setup, controllers, services, DTOs, validation |\n\n---\n\n## What You Get\n\nEvery template generates a production-ready structure:\n\n```\nmy-project/\n├── domain/                 # Entities & business rules\n├── application/            # Use cases & ports\n├── infrastructure/         # HTTP, MCP, DB adapters\n├── Dockerfile              # Multi-stage build\n├── docker-compose.yml      # Local development\n├── Makefile                # build, run, test, lint\n├── .github/workflows/      # CI pipeline\n└── README.md               # Project docs\n```\n\n### Optional Features\n\n| Feature | What it adds |\n|---------|--------------|\n| **Git Flow** | Initializes repo with `main` and `develop` branches |\n| **Docker** | Multi-stage Dockerfile, docker-compose.yml with volumes |\n| **GitHub Actions** | CI workflow with lint, test, build steps |\n\n---\n\n## Architecture\n\nAll templates follow Clean Architecture. Dependencies point inward.\n\n```\n┌─────────────────────────────────────────┐\n│              Domain                      │\n│       (Entities, Business Rules)         │\n│       No external dependencies           │\n├─────────────────────────────────────────┤\n│            Application                   │\n│         (Use Cases, Ports)               │\n│       Orchestrates domain logic          │\n├─────────────────────────────────────────┤\n│           Infrastructure                 │\n│       (HTTP, MCP, DB, External)          │\n│       Implements ports (adapters)        │\n└─────────────────────────────────────────┘\n```\n\n| Aspect | Choice |\n|--------|--------|\n| Architecture | Clean Architecture / Hexagonal |\n| Testing | Vitest (40 passing) |\n| Build | tsup (ESM) |\n| CLI UI | @clack/prompts via cli-builder |\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/jarero321/create-clean-app.git\ncd create-clean-app\nbun install\nbun run dev\n```\n\n| Script | What it does |\n|--------|--------------|\n| `bun run dev` | Run CLI in development mode |\n| `bun test` | Watch mode |\n| `bun run test:run` | Single run |\n| `bun run test:coverage` | Coverage report |\n| `bun run build` | Production build |\n\n---\n\n## License\n\nMIT\n\n---\n\n<div align=\"center\">\n\n**[Report Bug](https://github.com/jarero321/create-clean-app/issues)** · **[Request Feature](https://github.com/jarero321/create-clean-app/issues)**\n\n</div>\n","readmeFilename":"README.md"}