deploy-bbc 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/README.md +142 -281
  2. package/dist/index.js +16870 -0
  3. package/dist/templates/base/.env.example +3 -0
  4. package/dist/templates/base/package.json +20 -0
  5. package/dist/templates/base/src/config/index.ts +8 -0
  6. package/dist/templates/base/src/routes/index.ts +12 -0
  7. package/dist/templates/base/src/types/index.ts +2 -0
  8. package/dist/templates/base-bun-native/.env.example +3 -0
  9. package/dist/templates/base-bun-native/package.json +19 -0
  10. package/dist/templates/base-bun-native/src/config/index.ts +8 -0
  11. package/dist/templates/base-bun-native/src/index.ts +50 -0
  12. package/dist/templates/base-bun-native/src/routes/index.ts +21 -0
  13. package/dist/templates/base-bun-native/src/types/index.ts +2 -0
  14. package/dist/templates/base-express/.env.example +3 -0
  15. package/dist/templates/base-express/package.json +21 -0
  16. package/dist/templates/base-express/src/config/index.ts +8 -0
  17. package/dist/templates/base-express/src/routes/index.ts +12 -0
  18. package/dist/templates/base-express/src/types/index.ts +2 -0
  19. package/dist/templates/templates/base/README.md +31 -0
  20. package/dist/templates/templates/base/src/index.ts +26 -0
  21. package/dist/templates/templates/base/src/middleware/error.ts +13 -0
  22. package/dist/templates/templates/base/src/middleware/logger.ts +8 -0
  23. package/dist/templates/templates/base/src/utils/env.ts +5 -0
  24. package/dist/templates/templates/base/tsconfig.json +20 -0
  25. package/dist/templates/templates/base-bun-native/README.md +31 -0
  26. package/dist/templates/templates/base-bun-native/src/middleware/error.ts +20 -0
  27. package/dist/templates/templates/base-bun-native/src/middleware/logger.ts +6 -0
  28. package/dist/templates/templates/base-bun-native/src/utils/env.ts +5 -0
  29. package/dist/templates/templates/base-bun-native/tsconfig.json +20 -0
  30. package/dist/templates/templates/base-express/README.md +31 -0
  31. package/dist/templates/templates/base-express/src/index.ts +27 -0
  32. package/dist/templates/templates/base-express/src/middleware/error.ts +15 -0
  33. package/dist/templates/templates/base-express/src/middleware/logger.ts +12 -0
  34. package/dist/templates/templates/base-express/src/utils/env.ts +5 -0
  35. package/dist/templates/templates/base-express/tsconfig.json +20 -0
  36. package/dist/templates/templates/extras/ai/anthropic/src/services/ai/anthropic.ts +0 -0
  37. package/dist/templates/templates/extras/ai/gemini/src/services/ai/gemini.ts +0 -0
  38. package/dist/templates/templates/extras/ai/openai/src/routes/ai/chat.ts +0 -0
  39. package/dist/templates/templates/extras/ai/openai/src/services/ai/openai.ts +0 -0
  40. package/dist/templates/templates/extras/ai/vercel-ai/src/routes/ai/generate.ts +0 -0
  41. package/dist/templates/templates/extras/ai/vercel-ai/src/routes/ai/stream.ts +0 -0
  42. package/dist/templates/templates/extras/ai/vercel-ai/src/services/ai/index.ts +0 -0
  43. package/dist/templates/templates/extras/auth/jwt/src/middleware/auth.ts +0 -0
  44. package/dist/templates/templates/extras/auth/jwt/src/routes/auth.ts +0 -0
  45. package/dist/templates/templates/extras/auth/jwt/src/utils/jwt.ts +0 -0
  46. package/dist/templates/templates/extras/auth/oauth/src/config/oauth.ts +0 -0
  47. package/dist/templates/templates/extras/auth/oauth/src/routes/auth.ts +0 -0
  48. package/dist/templates/templates/extras/auth/session/src/config/session.ts +0 -0
  49. package/dist/templates/templates/extras/auth/session/src/middleware/session.ts +0 -0
  50. package/dist/templates/templates/extras/cloud/aws/src/services/aws/s3.ts +0 -0
  51. package/dist/templates/templates/extras/cloud/aws/src/services/aws/ses.ts +0 -0
  52. package/dist/templates/templates/extras/cloud/azure/src/services/azure/blob.ts +0 -0
  53. package/dist/templates/templates/extras/cloud/cloudflare-r2/src/services/cloudflare/r2.ts +0 -0
  54. package/dist/templates/templates/extras/cloud/gcp/src/services/gcp/storage.ts +0 -0
  55. package/dist/templates/templates/extras/database/mongodb/src/db/index.ts +0 -0
  56. package/dist/templates/templates/extras/database/mongodb/src/db/models/user.model.ts +0 -0
  57. package/dist/templates/templates/extras/database/mysql/drizzle.config.ts +0 -0
  58. package/dist/templates/templates/extras/database/postgres/src/db/index.ts +0 -0
  59. package/dist/templates/templates/extras/database/redis/src/db/redis.ts +0 -0
  60. package/dist/templates/templates/extras/docs/scalar/src/openapi/index.ts +0 -0
  61. package/dist/templates/templates/extras/docs/scalar/src/routes/docs.ts +0 -0
  62. package/dist/templates/templates/extras/docs/swagger/src/openapi/index.ts +0 -0
  63. package/dist/templates/templates/extras/docs/swagger/src/routes/docs.ts +0 -0
  64. package/dist/templates/templates/extras/email/nodemailer/src/services/email/nodemailer.ts +0 -0
  65. package/dist/templates/templates/extras/email/resend/src/services/email/resend.ts +0 -0
  66. package/dist/templates/templates/extras/email/resend/src/templates/email/welcome.ts +0 -0
  67. package/dist/templates/templates/extras/email/sendgrid/src/services/email/sendgrid.ts +0 -0
  68. package/dist/templates/templates/extras/observability/logtail/src/config/logger.ts +0 -0
  69. package/dist/templates/templates/extras/observability/sentry/src/config/sentry.ts +0 -0
  70. package/dist/templates/templates/extras/observability/sentry/src/middleware/sentry.ts +0 -0
  71. package/dist/templates/templates/extras/queue/bullmq/src/queue/index.ts +0 -0
  72. package/dist/templates/templates/extras/queue/bullmq/src/queue/jobs/email.job.ts +0 -0
  73. package/dist/templates/templates/extras/queue/bullmq/src/queue/processors/email.processor.ts +0 -0
  74. package/dist/templates/templates/extras/queue/bullmq/src/routes/queue.ts +0 -0
  75. package/dist/templates/templates/extras/queue/inngest/src/inngest/client.ts +0 -0
  76. package/dist/templates/templates/extras/queue/inngest/src/inngest/functions/email.ts +0 -0
  77. package/dist/templates/templates/extras/queue/inngest/src/routes/inngest.ts +0 -0
  78. package/dist/templates/templates/extras/realtime/socketio/src/socket/handlers.ts +0 -0
  79. package/dist/templates/templates/extras/realtime/socketio/src/socket/index.ts +0 -0
  80. package/dist/templates/templates/extras/realtime/sse/src/routes/sse.ts +0 -0
  81. package/dist/templates/templates/extras/testing/vitest/src/__tests__/example.test.ts +0 -0
  82. package/dist/templates/templates/extras/testing/vitest/src/__tests__/setup.ts +0 -0
  83. package/dist/templates/templates/extras/testing/vitest/vitest.config.ts +0 -0
  84. package/dist/templates/templates/extras/validation/yup/src/middleware/index.ts +1 -0
  85. package/dist/templates/templates/extras/validation/yup/src/middleware/validate.ts +83 -0
  86. package/dist/templates/templates/extras/validation/yup/src/routes/users.ts +132 -0
  87. package/dist/templates/templates/extras/validation/zod/src/middleware/index.ts +1 -0
  88. package/dist/templates/templates/extras/validation/zod/src/middleware/validate.ts +80 -0
  89. package/dist/templates/templates/extras/validation/zod/src/routes/users.ts +128 -0
  90. package/package.json +43 -9
  91. package/.cspell.json +0 -38
  92. package/CLAUDE.md +0 -403
  93. package/cli/README.md +0 -345
  94. package/cli/package.json +0 -54
  95. package/cli/src/cli/index.ts +0 -454
  96. package/cli/src/helpers/create-project.ts +0 -66
  97. package/cli/src/helpers/generate-docker-compose.ts +0 -133
  98. package/cli/src/helpers/generate-dockerfile.ts +0 -45
  99. package/cli/src/helpers/init-git.ts +0 -33
  100. package/cli/src/helpers/install-dependencies.ts +0 -28
  101. package/cli/src/helpers/log-next-steps.ts +0 -87
  102. package/cli/src/helpers/scaffold-project.ts +0 -88
  103. package/cli/src/index.ts +0 -18
  104. package/cli/src/installers/ai.ts +0 -123
  105. package/cli/src/installers/auth.ts +0 -132
  106. package/cli/src/installers/base.ts +0 -16
  107. package/cli/src/installers/cloud.ts +0 -127
  108. package/cli/src/installers/database.ts +0 -212
  109. package/cli/src/installers/docs.ts +0 -93
  110. package/cli/src/installers/email.ts +0 -119
  111. package/cli/src/installers/env-variables.ts +0 -27
  112. package/cli/src/installers/index.ts +0 -145
  113. package/cli/src/installers/observability.ts +0 -103
  114. package/cli/src/installers/queue.ts +0 -103
  115. package/cli/src/installers/ratelimit.ts +0 -98
  116. package/cli/src/installers/realtime.ts +0 -79
  117. package/cli/src/installers/testing.ts +0 -88
  118. package/cli/src/installers/validation.ts +0 -85
  119. package/cli/src/types/index.ts +0 -126
  120. package/cli/src/utils/add-package-dependency.ts +0 -56
  121. package/cli/src/utils/dependency-version-map.ts +0 -85
  122. package/cli/src/utils/logger.ts +0 -19
  123. package/cli/src/utils/parse-name-and-path.ts +0 -71
  124. package/cli/src/utils/render-title.ts +0 -11
  125. package/cli/tsconfig.json +0 -35
  126. package/test-cli.sh +0 -56
  127. package/tsconfig.json +0 -15
  128. /package/{cli/src → dist}/templates/base/README.md +0 -0
  129. /package/{cli/src → dist}/templates/base/src/index.ts +0 -0
  130. /package/{cli/src → dist}/templates/base/src/middleware/error.ts +0 -0
  131. /package/{cli/src → dist}/templates/base/src/middleware/logger.ts +0 -0
  132. /package/{cli/src → dist}/templates/base/src/utils/env.ts +0 -0
  133. /package/{cli/src → dist}/templates/base/tsconfig.json +0 -0
  134. /package/{cli/src → dist}/templates/base-bun-native/README.md +0 -0
  135. /package/{cli/src → dist}/templates/base-bun-native/src/middleware/error.ts +0 -0
  136. /package/{cli/src → dist}/templates/base-bun-native/src/middleware/logger.ts +0 -0
  137. /package/{cli/src → dist}/templates/base-bun-native/src/utils/env.ts +0 -0
  138. /package/{cli/src → dist}/templates/base-bun-native/tsconfig.json +0 -0
  139. /package/{cli/src → dist}/templates/base-express/README.md +0 -0
  140. /package/{cli/src → dist}/templates/base-express/src/index.ts +0 -0
  141. /package/{cli/src → dist}/templates/base-express/src/middleware/error.ts +0 -0
  142. /package/{cli/src → dist}/templates/base-express/src/middleware/logger.ts +0 -0
  143. /package/{cli/src → dist}/templates/base-express/src/utils/env.ts +0 -0
  144. /package/{cli/src → dist}/templates/base-express/tsconfig.json +0 -0
  145. /package/{cli/src → dist}/templates/extras/ai/anthropic/src/routes/ai/claude.ts +0 -0
  146. /package/{cli/src → dist}/templates/extras/ai/anthropic/src/services/ai/anthropic.ts +0 -0
  147. /package/{cli/src → dist}/templates/extras/ai/gemini/src/services/ai/gemini.ts +0 -0
  148. /package/{cli/src → dist}/templates/extras/ai/openai/src/routes/ai/chat.ts +0 -0
  149. /package/{cli/src → dist}/templates/extras/ai/openai/src/services/ai/openai.ts +0 -0
  150. /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/routes/ai/generate.ts +0 -0
  151. /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/routes/ai/stream.ts +0 -0
  152. /package/{cli/src → dist}/templates/extras/ai/vercel-ai/src/services/ai/index.ts +0 -0
  153. /package/{cli/src → dist}/templates/extras/auth/jwt/src/middleware/auth.ts +0 -0
  154. /package/{cli/src → dist}/templates/extras/auth/jwt/src/routes/auth.ts +0 -0
  155. /package/{cli/src → dist}/templates/extras/auth/jwt/src/utils/jwt.ts +0 -0
  156. /package/{cli/src → dist}/templates/extras/auth/oauth/src/config/oauth.ts +0 -0
  157. /package/{cli/src → dist}/templates/extras/auth/oauth/src/routes/auth.ts +0 -0
  158. /package/{cli/src → dist}/templates/extras/auth/session/src/config/session.ts +0 -0
  159. /package/{cli/src → dist}/templates/extras/auth/session/src/middleware/session.ts +0 -0
  160. /package/{cli/src → dist}/templates/extras/cloud/aws/src/services/aws/s3.ts +0 -0
  161. /package/{cli/src → dist}/templates/extras/cloud/aws/src/services/aws/ses.ts +0 -0
  162. /package/{cli/src → dist}/templates/extras/cloud/azure/src/services/azure/blob.ts +0 -0
  163. /package/{cli/src → dist}/templates/extras/cloud/cloudflare-r2/src/services/cloudflare/r2.ts +0 -0
  164. /package/{cli/src → dist}/templates/extras/cloud/gcp/src/services/gcp/storage.ts +0 -0
  165. /package/{cli/src → dist}/templates/extras/database/mongodb/src/db/index.ts +0 -0
  166. /package/{cli/src → dist}/templates/extras/database/mongodb/src/db/models/user.model.ts +0 -0
  167. /package/{cli/src → dist}/templates/extras/database/mysql/drizzle.config.ts +0 -0
  168. /package/{cli/src → dist}/templates/extras/database/postgres/src/db/index.ts +0 -0
  169. /package/{cli/src → dist}/templates/extras/database/redis/src/db/redis.ts +0 -0
  170. /package/{cli/src → dist}/templates/extras/docs/scalar/src/openapi/index.ts +0 -0
  171. /package/{cli/src → dist}/templates/extras/docs/scalar/src/routes/docs.ts +0 -0
  172. /package/{cli/src → dist}/templates/extras/docs/swagger/src/openapi/index.ts +0 -0
  173. /package/{cli/src → dist}/templates/extras/docs/swagger/src/routes/docs.ts +0 -0
  174. /package/{cli/src → dist}/templates/extras/email/nodemailer/src/services/email/nodemailer.ts +0 -0
  175. /package/{cli/src → dist}/templates/extras/email/resend/src/services/email/resend.ts +0 -0
  176. /package/{cli/src → dist}/templates/extras/email/resend/src/templates/email/welcome.ts +0 -0
  177. /package/{cli/src → dist}/templates/extras/email/sendgrid/src/services/email/sendgrid.ts +0 -0
  178. /package/{cli/src → dist}/templates/extras/observability/logtail/src/config/logger.ts +0 -0
  179. /package/{cli/src → dist}/templates/extras/observability/sentry/src/config/sentry.ts +0 -0
  180. /package/{cli/src → dist}/templates/extras/observability/sentry/src/middleware/sentry.ts +0 -0
  181. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/index.ts +0 -0
  182. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/jobs/email.job.ts +0 -0
  183. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/queue/processors/email.processor.ts +0 -0
  184. /package/{cli/src → dist}/templates/extras/queue/bullmq/src/routes/queue.ts +0 -0
  185. /package/{cli/src → dist}/templates/extras/queue/inngest/src/inngest/client.ts +0 -0
  186. /package/{cli/src → dist}/templates/extras/queue/inngest/src/inngest/functions/email.ts +0 -0
  187. /package/{cli/src → dist}/templates/extras/queue/inngest/src/routes/inngest.ts +0 -0
  188. /package/{cli/src → dist}/templates/extras/realtime/socketio/src/socket/handlers.ts +0 -0
  189. /package/{cli/src → dist}/templates/extras/realtime/socketio/src/socket/index.ts +0 -0
  190. /package/{cli/src → dist}/templates/extras/realtime/sse/src/routes/sse.ts +0 -0
  191. /package/{cli/src → dist}/templates/extras/testing/vitest/src/__tests__/example.test.ts +0 -0
  192. /package/{cli/src → dist}/templates/extras/testing/vitest/src/__tests__/setup.ts +0 -0
  193. /package/{cli/src → dist}/templates/extras/testing/vitest/vitest.config.ts +0 -0
  194. /package/{cli/src → dist}/templates/extras/validation/yup/src/middleware/index.ts +0 -0
  195. /package/{cli/src → dist}/templates/extras/validation/yup/src/middleware/validate.ts +0 -0
  196. /package/{cli/src → dist}/templates/extras/validation/yup/src/routes/users.ts +0 -0
  197. /package/{cli/src → dist}/templates/extras/validation/zod/src/middleware/index.ts +0 -0
  198. /package/{cli/src → dist}/templates/extras/validation/zod/src/middleware/validate.ts +0 -0
  199. /package/{cli/src → dist}/templates/extras/validation/zod/src/routes/users.ts +0 -0
  200. /package/{cli/src → dist/templates}/templates/base/.env.example +0 -0
  201. /package/{cli/src → dist/templates}/templates/base/package.json +0 -0
  202. /package/{cli/src → dist/templates}/templates/base/src/config/index.ts +0 -0
  203. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/create-user.controller.ts +0 -0
  204. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/delete-user.controller.ts +0 -0
  205. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-user.controller.ts +0 -0
  206. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/get-users.controller.ts +0 -0
  207. /package/{cli/src → dist/templates}/templates/base/src/controllers/user/update-user.controller.ts +0 -0
  208. /package/{cli/src → dist/templates}/templates/base/src/models/user.model.ts +0 -0
  209. /package/{cli/src → dist/templates}/templates/base/src/routes/index.ts +0 -0
  210. /package/{cli/src → dist/templates}/templates/base/src/routes/user.route.ts +0 -0
  211. /package/{cli/src → dist/templates}/templates/base/src/types/common/api-response.types.ts +0 -0
  212. /package/{cli/src → dist/templates}/templates/base/src/types/index.ts +0 -0
  213. /package/{cli/src → dist/templates}/templates/base/src/types/models/user.types.ts +0 -0
  214. /package/{cli/src → dist/templates}/templates/base-bun-native/.env.example +0 -0
  215. /package/{cli/src → dist/templates}/templates/base-bun-native/package.json +0 -0
  216. /package/{cli/src → dist/templates}/templates/base-bun-native/src/config/index.ts +0 -0
  217. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/create-user.controller.ts +0 -0
  218. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/delete-user.controller.ts +0 -0
  219. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/get-user.controller.ts +0 -0
  220. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/get-users.controller.ts +0 -0
  221. /package/{cli/src → dist/templates}/templates/base-bun-native/src/controllers/user/update-user.controller.ts +0 -0
  222. /package/{cli/src → dist/templates}/templates/base-bun-native/src/index.ts +0 -0
  223. /package/{cli/src → dist/templates}/templates/base-bun-native/src/models/user.model.ts +0 -0
  224. /package/{cli/src → dist/templates}/templates/base-bun-native/src/routes/index.ts +0 -0
  225. /package/{cli/src → dist/templates}/templates/base-bun-native/src/routes/user.route.ts +0 -0
  226. /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/common/api-response.types.ts +0 -0
  227. /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/index.ts +0 -0
  228. /package/{cli/src → dist/templates}/templates/base-bun-native/src/types/models/user.types.ts +0 -0
  229. /package/{cli/src → dist/templates}/templates/base-express/.env.example +0 -0
  230. /package/{cli/src → dist/templates}/templates/base-express/package.json +0 -0
  231. /package/{cli/src → dist/templates}/templates/base-express/src/config/index.ts +0 -0
  232. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/create-user.controller.ts +0 -0
  233. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/delete-user.controller.ts +0 -0
  234. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/get-user.controller.ts +0 -0
  235. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/get-users.controller.ts +0 -0
  236. /package/{cli/src → dist/templates}/templates/base-express/src/controllers/user/update-user.controller.ts +0 -0
  237. /package/{cli/src → dist/templates}/templates/base-express/src/models/user.model.ts +0 -0
  238. /package/{cli/src → dist/templates}/templates/base-express/src/routes/index.ts +0 -0
  239. /package/{cli/src → dist/templates}/templates/base-express/src/routes/user.route.ts +0 -0
  240. /package/{cli/src → dist/templates}/templates/base-express/src/types/common/api-response.types.ts +0 -0
  241. /package/{cli/src → dist/templates}/templates/base-express/src/types/index.ts +0 -0
  242. /package/{cli/src → dist/templates}/templates/base-express/src/types/models/user.types.ts +0 -0
  243. /package/{prettier.config.mjs → dist/templates/templates/extras/ai/anthropic/src/routes/ai/claude.ts} +0 -0
package/README.md CHANGED
@@ -1,358 +1,219 @@
1
1
  # deploy-bbc
2
2
 
3
- > A powerful CLI tool to bootstrap production-ready backend applications with Bun
3
+ <p align="center">
4
+ <b>Best Backend Code</b> — A powerful CLI to bootstrap production-ready backend applications with Bun
5
+ </p>
4
6
 
5
- ## Overview
6
-
7
- `deploy-bbc` (Best Backend Code) is an interactive command-line tool that scaffolds modern, type-safe backend applications using Bun. It provides a comprehensive set of integrations for databases, authentication, AI services, cloud providers, and more - all configured and ready to use.
8
-
9
- ## Features
10
-
11
- - **Three Framework Options**: Choose between Hono, Express, or Bun Native HTTP
12
- - **Production-Ready Templates**: Pre-configured with best practices and error handling
13
- - **30+ Integrations**: Databases, auth, AI, cloud storage, queues, and more
14
- - **Type-Safe**: Full TypeScript support with strict typing
15
- - **Docker Ready**: Automatic Dockerfile and docker-compose generation
16
- - **Developer Experience**: Built-in validation, testing, and API documentation options
17
- - **Zero Config**: Works out of the box with sensible defaults
18
-
19
- ## Quick Start
7
+ <p align="center">
8
+ <img src="https://img.shields.io/npm/v/deploy-bbc" alt="npm version" />
9
+ <img src="https://img.shields.io/npm/dt/deploy-bbc" alt="npm downloads" />
10
+ <img src="https://img.shields.io/github/stars/aritra69/deploy-bbc" alt="github stars" />
11
+ <img src="https://img.shields.io/github/license/aritra69/deploy-bbc" alt="license" />
12
+ </p>
20
13
 
21
- ```bash
22
- # Using npx (recommended)
23
- npx deploy-bbc my-backend
24
-
25
- # Using bun
26
- bunx deploy-bbc my-backend
27
-
28
- # Using npm
29
- npm create backend-app my-backend
30
- ```
31
-
32
- Follow the interactive prompts to select your framework and integrations.
33
-
34
- ## Installation
35
-
36
- ### As a CLI Tool
37
-
38
- ```bash
39
- # Install globally
40
- npm install -g deploy-bbc
41
-
42
- # Run
43
- deploy-bbc my-app-name
44
- ```
45
-
46
- ### From Source
14
+ ---
47
15
 
48
- ```bash
49
- # Clone the repository
50
- git clone https://github.com/aritra69/deploy-bbc.git
51
- cd deploy-bbc
16
+ ## Overview
52
17
 
53
- # Install dependencies
54
- bun install
18
+ `deploy-bbc` is an interactive command-line tool that scaffolds modern, type-safe backend applications using Bun.
55
19
 
56
- # Build
57
- bun run build
20
+ It ships with production-ready defaults, optional integrations, Docker support, and a clean architecture so you can focus on building features instead of wiring infrastructure.
58
21
 
59
- # Link for local development
60
- npm link
61
- ```
22
+ ---
62
23
 
63
- ## Usage
24
+ ## Tech Stack
64
25
 
65
- ### Interactive Mode
26
+ <p align="center">
27
+ <img height="40" src="https://bun.sh/logo.svg" alt="Bun" />
28
+ <img height="40" src="https://hono.dev/images/logo.svg" alt="Hono" />
29
+ <img height="40" src="https://raw.githubusercontent.com/expressjs/expressjs.com/gh-pages/images/favicon.png" alt="Express" />
30
+ <img height="40" src="https://www.typescriptlang.org/icons/icon-48x48.png" alt="TypeScript" />
31
+ <img height="40" src="https://www.docker.com/wp-content/uploads/2022/03/Moby-logo.png" alt="Docker" />
32
+ </p>
66
33
 
67
- Simply run the CLI and answer the prompts:
34
+ ---
68
35
 
69
- ```bash
70
- deploy-bbc my-backend
71
- ```
36
+ ## Features
72
37
 
73
- You'll be prompted to:
38
+ - **Three framework options**: Hono, Express, or Bun Native HTTP
39
+ - 🚀 **Production-ready templates** with best practices
40
+ - 🔌 **30+ integrations** (databases, auth, AI, cloud, infra)
41
+ - 🛡️ **Fully type-safe** with strict TypeScript
42
+ - 🐳 **Dockerfile and docker-compose** included
43
+ - 💎 **Strong developer experience** with testing and docs
44
+ - ⚙️ **Zero-config defaults** that work out of the box
74
45
 
75
- 1. Choose a framework (Hono, Express, or Bun Native)
76
- 2. Select integrations (databases, auth, AI services, etc.)
77
- 3. Configure additional options
46
+ ---
78
47
 
79
- ### CLI Flags
48
+ ## Quick Start
80
49
 
81
50
  ```bash
82
- deploy-bbc my-backend [options]
51
+ npx deploy-bbc my-backend
52
+ # or
53
+ bunx deploy-bbc my-backend
83
54
  ```
84
55
 
85
- #### General Options
86
-
87
- - `--no-git` - Skip Git initialization
88
- - `--no-install` - Skip dependency installation
89
- - `--default` - Use default configuration (Hono with no extras)
90
- - `--CI` - Run in CI mode (non-interactive)
91
-
92
- #### Database Options
93
-
94
- - `--postgres` - Add PostgreSQL with Drizzle ORM
95
- - `--mysql` - Add MySQL with Drizzle ORM
96
- - `--mongodb` - Add MongoDB with Mongoose
97
- - `--redis` - Add Redis support
98
-
99
- #### Authentication Options
100
-
101
- - `--jwt` - Add JWT authentication
102
- - `--oauth` - Add OAuth 2.0 support
103
- - `--session` - Add session-based authentication
104
-
105
- #### AI Integration Options
106
-
107
- - `--openai` - Add OpenAI integration
108
- - `--anthropic` - Add Anthropic Claude integration
109
- - `--gemini` - Add Google Gemini integration
110
- - `--vercel-ai` - Add Vercel AI SDK
111
-
112
- #### Cloud Provider Options
113
-
114
- - `--aws` - Add AWS SDK (S3, SES)
115
- - `--gcp` - Add Google Cloud Platform SDK
116
- - `--azure` - Add Azure SDK
117
- - `--cloudflare-r2` - Add Cloudflare R2 storage
118
-
119
- #### Communication Options
120
-
121
- - `--resend` - Add Resend email service
122
- - `--sendgrid` - Add SendGrid email service
123
- - `--nodemailer` - Add Nodemailer
124
- - `--socketio` - Add Socket.IO for WebSockets
125
- - `--sse` - Add Server-Sent Events
126
-
127
- #### Infrastructure Options
128
-
129
- - `--bullmq` - Add BullMQ job queue
130
- - `--inngest` - Add Inngest workflow engine
131
- - `--upstash-ratelimit` - Add Upstash rate limiting
132
- - `--custom-ratelimit` - Add custom rate limiting
133
- - `--sentry` - Add Sentry error tracking
134
- - `--logtail` - Add Logtail logging
135
-
136
- #### Developer Experience Options
56
+ ---
137
57
 
138
- - `--swagger` - Add Swagger/OpenAPI documentation
139
- - `--scalar` - Add Scalar API documentation
140
- - `--vitest` - Add Vitest testing framework
141
- - `--zod` - Add Zod validation
142
- - `--yup` - Add Yup validation
58
+ ## Framework Options
143
59
 
144
- ### Example Commands
60
+ <p align="center">
61
+ <img height="36" src="https://hono.dev/images/logo.svg" alt="Hono" />
62
+ <img height="36" src="https://raw.githubusercontent.com/expressjs/expressjs.com/gh-pages/images/favicon.png" alt="Express" />
63
+ <img height="36" src="https://bun.sh/logo.svg" alt="Bun" />
64
+ </p>
145
65
 
146
- ```bash
147
- # Create a Hono app with PostgreSQL and JWT auth
148
- deploy-bbc my-api --postgres --jwt
66
+ - **Hono** (default) – lightweight and edge-ready
67
+ - **Express** battle-tested Node.js framework
68
+ - **Bun Native HTTP** – minimal overhead, maximum performance
149
69
 
150
- # Create an Express app with full stack
151
- deploy-bbc my-app --postgres --redis --jwt --openai --aws --swagger
70
+ ---
152
71
 
153
- # Create a minimal Bun native app
154
- deploy-bbc my-api --default
72
+ ## Databases and Caching
155
73
 
156
- # Create without Git initialization
157
- deploy-bbc my-api --no-git --postgres --jwt
158
- ```
74
+ <p align="center">
75
+ <img height="40" src="https://www.postgresql.org/media/img/about/press/elephant.png" alt="PostgreSQL" />
76
+ <img height="40" src="https://www.mysql.com/common/logos/logo-mysql-170x115.png" alt="MySQL" />
77
+ <img height="40" src="https://www.mongodb.com/assets/images/global/favicon.ico" alt="MongoDB" />
78
+ <img height="40" src="https://cdn.brandfetch.io/idwlYcQpHB/theme/dark/symbol.svg?c=1bxid64Mup7aczewSAYMX&t=1668515608635" alt="Redis" />
79
+ </p>
159
80
 
160
- ## Framework Options
81
+ - **PostgreSQL** with Drizzle ORM
82
+ - **MySQL** with Drizzle ORM
83
+ - **MongoDB** with Mongoose
84
+ - **Redis** for caching and queues
161
85
 
162
- ### Hono (Default)
86
+ ---
163
87
 
164
- Ultra-fast web framework optimized for Bun and edge runtimes. Lightweight and type-safe.
88
+ ## Authentication
165
89
 
166
- ### Express
90
+ <p align="center">
91
+ <img height="36" src="https://jwt.io/img/pic_logo.svg" alt="JWT" />
92
+ <img height="36" src="https://oauth.net/images/oauth-logo-square.png" alt="OAuth" />
93
+ </p>
167
94
 
168
- Battle-tested Node.js framework with extensive ecosystem and middleware support.
95
+ - JWT authentication
96
+ - OAuth 2.0 providers
97
+ - Session-based authentication
169
98
 
170
- ### Bun Native HTTP
99
+ ---
171
100
 
172
- Use Bun's native HTTP server for maximum performance with minimal overhead.
101
+ ## AI Integrations
173
102
 
174
- ## Available Integrations
103
+ <p align="center">
104
+ <img height="40" src="https://openai.com/favicon.ico" alt="OpenAI" />
105
+ <img height="40" src="https://www.anthropic.com/favicon.ico" alt="Anthropic" />
106
+ <img height="40" src="https://upload.wikimedia.org/wikipedia/commons/8/8a/Google_Gemini_logo.svg" alt="Gemini" />
107
+ <img height="40" src="https://vercel.com/favicon.ico" alt="Vercel" />
108
+ </p>
175
109
 
176
- ### Databases
110
+ - OpenAI
111
+ - Anthropic Claude
112
+ - Google Gemini
113
+ - Vercel AI SDK
177
114
 
178
- - **PostgreSQL** - Relational database with Drizzle ORM
179
- - **MySQL** - Relational database with Drizzle ORM
180
- - **MongoDB** - Document database with Mongoose ODM
181
- - **Redis** - In-memory data store for caching and sessions
115
+ ---
182
116
 
183
- ### Authentication
117
+ ## Cloud and Storage
184
118
 
185
- - **JWT** - JSON Web Token authentication with utilities
186
- - **OAuth 2.0** - Third-party authentication (Google, GitHub, etc.)
187
- - **Session** - Traditional session-based authentication
119
+ <p align="center">
120
+ <img height="36" src="https://a0.awsstatic.com/libra-css/images/logos/aws_logo_smile_1200x630.png" alt="AWS" />
121
+ <img height="36" src="https://cloud.google.com/_static/cloud/images/social-icon-google-cloud-1200-630.png" alt="GCP" />
122
+ <img height="36" src="https://azure.microsoft.com/svghandler/azure-logo.svg" alt="Azure" />
123
+ <img height="36" src="https://cdn.brandfetch.io/idJ3Cg8ymG/w/400/h/400/theme/dark/icon.jpeg?c=1bxid64Mup7aczewSAYMX&t=1668515610854" alt="Cloudflare" />
124
+ </p>
188
125
 
189
- ### AI & Machine Learning
126
+ - **AWS** (S3, SES)
127
+ - **Google Cloud Platform**
128
+ - **Azure**
129
+ - **Cloudflare R2**
190
130
 
191
- - **OpenAI** - GPT models integration
192
- - **Anthropic** - Claude AI integration
193
- - **Google Gemini** - Gemini AI models
194
- - **Vercel AI SDK** - Multi-provider AI SDK with streaming support
131
+ ---
195
132
 
196
- ### Cloud & Storage
133
+ ## Communication and Realtime
197
134
 
198
- - **AWS** - S3 storage, SES email, and more
199
- - **Google Cloud Platform** - Cloud Storage and services
200
- - **Azure** - Blob storage and Azure services
201
- - **Cloudflare R2** - S3-compatible object storage
135
+ <p align="center">
136
+ <img height="36" src="https://cdn.brandfetch.io/id0BqaqET6/w/400/h/400/theme/dark/icon.jpeg?c=1bxid64Mup7aczewSAYMX&t=1748366671512" alt="Resend" />
137
+ <img height="36" src="https://sendgrid.com/favicon.ico" alt="SendGrid" />
138
+ <img height="36" src="https://socket.io/images/logo.svg" alt="Socket.IO" />
139
+ </p>
202
140
 
203
- ### Communication
141
+ - Resend
142
+ - SendGrid
143
+ - Nodemailer
144
+ - Socket.IO
145
+ - Server-Sent Events (SSE)
204
146
 
205
- - **Resend** - Modern transactional email
206
- - **SendGrid** - Email delivery service
207
- - **Nodemailer** - Flexible email sending
208
- - **Socket.IO** - Real-time bidirectional communication
209
- - **Server-Sent Events** - Server-to-client streaming
147
+ ---
210
148
 
211
- ### Infrastructure
149
+ ## Developer Experience
212
150
 
213
- - **BullMQ** - Redis-based job queue
214
- - **Inngest** - Durable workflow engine
215
- - **Rate Limiting** - Upstash or custom implementation
216
- - **Sentry** - Error tracking and monitoring
217
- - **Logtail** - Log management and analytics
151
+ <p align="center">
152
+ <img height="36" src="https://vitest.dev/logo.svg" alt="Vitest" />
153
+ <img height="36" src="https://zod.dev/_next/image?url=%2Flogo%2Flogo-glow.png&w=640&q=100" alt="Zod" />
154
+ <img height="36" src="https://static1.smartbear.co/swagger/media/assets/images/swagger_logo.svg" alt="Swagger" />
155
+ </p>
218
156
 
219
- ### Developer Experience
157
+ - Vitest
158
+ - Zod and Yup
159
+ - Swagger / OpenAPI
160
+ - Scalar documentation
220
161
 
221
- - **Swagger/OpenAPI** - Interactive API documentation
222
- - **Scalar** - Beautiful API documentation
223
- - **Vitest** - Fast unit testing framework
224
- - **Zod** - TypeScript-first schema validation
225
- - **Yup** - Object schema validation
162
+ ---
226
163
 
227
164
  ## Project Structure
228
165
 
229
- ```plaintext
230
- my-backend/
231
- ├── src/
232
- │ ├── config/ # Configuration files
233
- │ ├── middleware/ # Express/Hono middleware
234
- │ ├── routes/ # API routes
235
- │ ├── services/ # Business logic
236
- │ ├── db/ # Database configuration
237
- │ ├── utils/ # Utility functions
238
- │ ├── types/ # TypeScript types
239
- │ └── index.ts # Application entry point
240
- ├── .env.example # Environment variables template
241
- ├── .gitignore
242
- ├── package.json
243
- ├── tsconfig.json
244
- ├── Dockerfile # Docker configuration
245
- ├── docker-compose.yml # Docker Compose setup
246
- └── README.md
247
166
  ```
248
-
249
- ## Development
250
-
251
- ### Prerequisites
252
-
253
- - Node.js >= 18.0.0
254
- - Bun >= 1.0.0 (recommended)
255
-
256
- ### Commands
257
-
258
- ```bash
259
- # Development mode with hot reload
260
- bun run dev
261
-
262
- # Build the project
263
- bun run build
264
-
265
- # Type checking
266
- bun run type-check
267
-
268
- # Lint code
269
- bun run lint
270
-
271
- # Format code
272
- bun run format
167
+ src/
168
+ ├── config/
169
+ ├── middleware/
170
+ ├── routes/
171
+ ├── services/
172
+ ├── db/
173
+ ├── utils/
174
+ ├── types/
175
+ └── index.ts
273
176
  ```
274
177
 
275
- ### Contributing
276
-
277
- We welcome contributions! Please follow these steps:
278
-
279
- 1. Fork the repository
280
- 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
281
- 3. Follow the coding conventions in `CLAUDE.md`
282
- 4. Commit your changes (`git commit -m 'Add amazing feature'`)
283
- 5. Push to the branch (`git push origin feature/amazing-feature`)
284
- 6. Open a Pull Request
285
-
286
- #### Coding Conventions
287
-
288
- This project follows specific naming conventions:
289
-
290
- - **Files/Folders**: `kebab-case`
291
- - **Functions**: `snake_case`
292
- - **Variables**: `snake_case`
293
- - **Types**: `PascalCase` (use `type`, not `interface`)
294
- - **Constants**: `SCREAMING_SNAKE_CASE`
295
-
296
- See `CLAUDE.md` for complete guidelines.
178
+ ---
297
179
 
298
180
  ## Docker Support
299
181
 
300
- Every generated project includes Docker configuration:
301
-
302
182
  ```bash
303
- # Build and run with Docker Compose
304
183
  docker-compose up
305
-
306
- # Build Docker image
307
- docker build -t my-backend .
308
-
309
- # Run container
310
- docker run -p 8000:8000 my-backend
311
184
  ```
312
185
 
313
- ## Environment Variables
186
+ Dockerfile and docker-compose are included by default.
314
187
 
315
- Each integration adds its required environment variables to `.env.example`. Copy it to `.env` and fill in your values:
188
+ ---
316
189
 
317
- ```bash
318
- cp .env.example .env
319
- ```
190
+ ## Contributors
320
191
 
321
- ## License
192
+ <a href="https://github.com/aritra69/deploy-bbc/graphs/contributors">
193
+ <img src="https://contrib.rocks/image?repo=aritra69/deploy-bbc" alt="Contributors" />
194
+ </a>
322
195
 
323
- MIT License - see LICENSE file for details
196
+ A big thank you to all the contributors who have helped make this project better! 🙏
197
+
198
+ ---
324
199
 
325
200
  ## Author
326
201
 
327
- ### Aritra Sarkar
202
+ **Aritra Sarkar**
328
203
 
329
- - GitHub: [@aritra69](https://github.com/aritra69)
204
+ - GitHub: [https://github.com/aritra69](https://github.com/aritra69)
330
205
  - Email: <aritrasarkar2002@gmail.com>
331
206
 
332
- ## Contributors
333
-
334
- This project exists thanks to all the people who contribute.
207
+ ---
335
208
 
336
- [![Contributors](https://contrib.rocks/image?repo=aritra69/deploy-bbc)](https://github.com/aritra69/deploy-bbc/graphs/contributors)
209
+ ## License
337
210
 
338
- ### How to Contribute
211
+ MIT License
339
212
 
340
- We appreciate all contributions! See the [Contributing](#contributing) section above for guidelines.
213
+ ---
341
214
 
342
215
  ## Support
343
216
 
344
- - Issues: [GitHub Issues](https://github.com/aritra69/deploy-bbc/issues)
345
- - Discussions: [GitHub Discussions](https://github.com/aritra69/deploy-bbc/discussions)
346
-
347
- ## Acknowledgments
348
-
349
- Built with:
350
-
351
- - [Bun](https://bun.sh) - Fast all-in-one JavaScript runtime
352
- - [Hono](https://hono.dev) - Ultra-fast web framework
353
- - [Drizzle ORM](https://orm.drizzle.team) - TypeScript ORM
354
- - [Clack](https://github.com/natemoo-re/clack) - Interactive CLI prompts
355
-
356
- ---
217
+ If this project helps you, consider ⭐ starring the repository.
357
218
 
358
- **Star this repository if you find it helpful!**
219
+ Issues, pull requests, and discussions are welcome!