{"_id":"@27te/create-spark","_rev":"3-c42aab6a81484caed14e339b422ccd7d","name":"@27te/create-spark","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@27te/create-spark","version":"1.0.0","keywords":["spark","bun","typescript","backend","framework","create","scaffold"],"author":"","license":"MIT","_id":"@27te/create-spark@1.0.0","maintainers":[{"name":"27te","email":"leandrosif3@gmail.com"}],"bin":{"create-spark":"dist/index.js"},"dist":{"shasum":"732a1e6de088431d6dd6bef48dc1fc12b128940a","tarball":"https://registry.npmjs.org/@27te/create-spark/-/create-spark-1.0.0.tgz","fileCount":4,"integrity":"sha512-UpMWKMpQg9YbmtqNHO2zoXLb8UEHsi2B5giXAiHAxbwKYIOkX5e/8j9MqFgb/EpkYhM/LiCv01sp8CPrRGhQ3A==","signatures":[{"sig":"MEUCIQDE6/dZmAYt85GvOO3Ty1Q7jF3hxUCmq9PmrTDdczkG/wIgM79n6spDmF0nE8Wm3y/QwdxOZiR+CtRZ7Wdj06OGO3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29126},"type":"module","scripts":{"dev":"bun run ./src/index.ts","build":"bun build ./src/index.ts --outdir ./dist --target bun","prepublishOnly":"bun run build"},"_npmUser":{"name":"27te","email":"leandrosif3@gmail.com"},"_npmVersion":"10.9.3","description":"Create a new Spark backend project with TypeScript + Bun","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.5"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/create-spark_1.0.0_1767806740733_0.8724525362628197","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@27te/create-spark","version":"1.0.1","keywords":["spark","bun","typescript","backend","framework","create","scaffold"],"author":"","license":"MIT","_id":"@27te/create-spark@1.0.1","maintainers":[{"name":"27te","email":"leandrosif3@gmail.com"}],"bin":{"create-spark":"dist/index.js"},"dist":{"shasum":"4bf7b46becf22fc65242dd30425706116bebdf43","tarball":"https://registry.npmjs.org/@27te/create-spark/-/create-spark-1.0.1.tgz","fileCount":4,"integrity":"sha512-+22K2jBP7G9yDshquDN25KgFmknq8PrwhfIQOsi4346HO2Gq4GVd1xkWHOBX++utTnoECrIZlEhshMMuGFWSNQ==","signatures":[{"sig":"MEUCIBoxsxlm1B4ZnVXa4LxxBVy9vrwvMFOuBQra68/eA/9uAiEAlCSW4n/vamKaDt7oWED2IBiXWUJoXMIJpAyvgnQJt6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30301},"type":"module","scripts":{"dev":"bun run ./src/index.ts","build":"bun build ./src/index.ts --outdir ./dist --target bun","prepublishOnly":"bun run build"},"_npmUser":{"name":"27te","email":"leandrosif3@gmail.com"},"_npmVersion":"10.9.3","description":"Create a new Spark backend project with TypeScript + Bun","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.5"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/create-spark_1.0.1_1767806979658_0.9298662459929732","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@27te/create-spark","version":"1.1.0","description":"Create a new Spark backend project with TypeScript + Bun","type":"module","bin":{"create-spark":"dist/index.js"},"scripts":{"build":"bun build ./src/index.ts --outdir ./dist --target bun","dev":"bun run ./src/index.ts","prepublishOnly":"bun run build"},"keywords":["spark","bun","typescript","backend","framework","create","scaffold"],"author":"","license":"MIT","devDependencies":{"@types/bun":"^1.3.5"},"peerDependencies":{"typescript":"^5"},"_id":"@27te/create-spark@1.1.0","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-wfZqIpHnUexXX7HkSfv0V65UyOog8KjD+WaRTySx3eRH9iXL5sPiyK1k9GGCi1jKFcNRPsSocZId8wqBpXHf7Q==","shasum":"c2487329027c2e0da927551ed7fe4fe93134ae3d","tarball":"https://registry.npmjs.org/@27te/create-spark/-/create-spark-1.1.0.tgz","fileCount":4,"unpackedSize":55584,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDrykziuWYeY0Ss/8m/4uVjbrgcloAJsC69e6hmNrrf3QIgcoFSJ/bDQCGxfnpBfzEkq1/NcxrHbd8iYJ3H8QBJQUQ="}]},"_npmUser":{"name":"27te","email":"leandrosif3@gmail.com"},"directories":{},"maintainers":[{"name":"27te","email":"leandrosif3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-spark_1.1.0_1767815063138_0.3528493216908146"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-07T17:25:40.650Z","modified":"2026-01-07T19:44:23.448Z","1.0.0":"2026-01-07T17:25:40.878Z","1.0.1":"2026-01-07T17:29:39.795Z","1.1.0":"2026-01-07T19:44:23.267Z"},"license":"MIT","keywords":["spark","bun","typescript","backend","framework","create","scaffold"],"description":"Create a new Spark backend project with TypeScript + Bun","maintainers":[{"name":"27te","email":"leandrosif3@gmail.com"}],"readme":"# @27te/create-spark\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://raw.githubusercontent.com/twitter/twemoji/master/assets/72x72/26a1.png\" width=\"60\" alt=\"Spark Logo\">\r\n</p>\r\n\r\n<h2 align=\"center\">Create Spark App</h2>\r\n\r\n<p align=\"center\">\r\n  The fastest way to create a new Spark backend project\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <a href=\"https://www.npmjs.com/package/@27te/create-spark\">\r\n    <img src=\"https://img.shields.io/npm/v/@27te/create-spark.svg\" alt=\"npm version\">\r\n  </a>\r\n  <a href=\"https://www.npmjs.com/package/@27te/create-spark\">\r\n    <img src=\"https://img.shields.io/npm/dm/@27te/create-spark.svg\" alt=\"npm downloads\">\r\n  </a>\r\n</p>\r\n\r\n---\r\n\r\n## 🚀 Quick Start\r\n\r\n```bash\r\n# With Bun (recommended)\r\nbun create @27te/spark my-app\r\n\r\n# Or using bunx\r\nbunx @27te/create-spark my-app\r\n\r\n# Or using npx\r\nnpx @27te/create-spark my-app\r\n\r\n# Interactive mode (will prompt for project name)\r\nbunx @27te/create-spark\r\n```\r\n\r\n## ✨ What's Included\r\n\r\nWhen you create a new Spark project, you get a production-ready structure:\r\n\r\n```\r\nmy-app/\r\n├── app/\r\n│   ├── app.ts                    # Main entry point\r\n│   ├── database/\r\n│   │   ├── config/               # Multi-driver DB config\r\n│   │   ├── drivers/              # PostgreSQL, MySQL, SQLite\r\n│   │   └── schemas/              # Drizzle schemas\r\n│   ├── middleware/\r\n│   │   ├── error-handler.ts      # Global error handling\r\n│   │   ├── logger.ts             # Request logging\r\n│   │   ├── rate-limit.ts         # Rate limiting\r\n│   │   └── validate.ts           # Zod validation\r\n│   └── utils/\r\n│       ├── auth.ts               # JWT + Argon2\r\n│       ├── errors.ts             # Custom error classes\r\n│       └── logger.ts             # Console logger\r\n├── drizzle/                      # Migrations\r\n├── .env                          # Environment config\r\n├── .env.example\r\n├── .gitignore\r\n├── drizzle.config.ts\r\n├── package.json\r\n├── README.md\r\n└── tsconfig.json\r\n```\r\n\r\n## ⚡ Features\r\n\r\n| Feature            | Description                          |\r\n| ------------------ | ------------------------------------ |\r\n| **Bun + Hono**     | Ultra-fast runtime and framework     |\r\n| **Drizzle ORM**    | Type-safe database access            |\r\n| **Multi-Database** | PostgreSQL, MySQL, SQLite support    |\r\n| **Authentication** | JWT + Argon2 built-in                |\r\n| **Validation**     | Zod schema validation                |\r\n| **Rate Limiting**  | In-memory rate limiter               |\r\n| **Error Handling** | Centralized error middleware         |\r\n| **Logging**        | Colored console logs with timestamps |\r\n\r\n## 🗄️ Database Configuration\r\n\r\nEdit `.env` to configure your database:\r\n\r\n```env\r\n# PostgreSQL (default)\r\nDB_CONNECTION=postgres\r\nDB_HOST=localhost\r\nDB_PORT=5432\r\nDB_DATABASE=myapp\r\nDB_USERNAME=postgres\r\nDB_PASSWORD=secret\r\n\r\n# MySQL\r\nDB_CONNECTION=mysql\r\nDB_HOST=localhost\r\nDB_PORT=3306\r\nDB_DATABASE=myapp\r\nDB_USERNAME=root\r\nDB_PASSWORD=secret\r\n\r\n# SQLite\r\nDB_CONNECTION=sqlite\r\nDB_DATABASE=./database.sqlite\r\n```\r\n\r\n## 📜 Available Scripts\r\n\r\nAfter creating your project:\r\n\r\n```bash\r\ncd my-app\r\nbun install\r\n\r\n# Development with hot reload\r\nbun run dev\r\n\r\n# Production\r\nbun run start\r\n\r\n# Database commands\r\nbun run db:generate   # Generate migrations\r\nbun run db:push       # Push schema changes\r\nbun run db:studio     # Open Drizzle Studio\r\n```\r\n\r\n## 🔄 Updating the CLI\r\n\r\nTo get the latest version:\r\n\r\n```bash\r\n# Clear cache and reinstall\r\nbunx @27te/create-spark@latest my-app\r\n```\r\n\r\n## 📦 Publishing Updates (for maintainers)\r\n\r\n```bash\r\n# 1. Update version in package.json\r\nnpm version patch  # or minor, major\r\n\r\n# 2. Build\r\nbun run build\r\n\r\n# 3. Publish\r\nnpm publish --access public\r\n```\r\n\r\n## 🔗 Links\r\n\r\n- [Spark Framework Documentation](https://github.com/your-org/spark)\r\n- [npm Package](https://www.npmjs.com/package/@27te/create-spark)\r\n\r\n## 📄 License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}