kybernus 1.2.1 → 2.0.0
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.
- package/LICENSE +21 -0
- package/README.md +26 -25
- package/dist/cli/commands/analytics.d.ts +3 -0
- package/dist/cli/commands/analytics.d.ts.map +1 -0
- package/dist/cli/commands/analytics.js +31 -0
- package/dist/cli/commands/analytics.js.map +1 -0
- package/dist/cli/commands/init.d.ts +0 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +11 -55
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/prompts/wizard.d.ts +2 -2
- package/dist/cli/prompts/wizard.d.ts.map +1 -1
- package/dist/cli/prompts/wizard.js +15 -27
- package/dist/cli/prompts/wizard.js.map +1 -1
- package/dist/cli/services/AnalyticsClient.d.ts +2 -6
- package/dist/cli/services/AnalyticsClient.d.ts.map +1 -1
- package/dist/cli/services/AnalyticsClient.js +23 -19
- package/dist/cli/services/AnalyticsClient.js.map +1 -1
- package/dist/core/ai/prompts/documentation-prompts.d.ts.map +1 -1
- package/dist/core/ai/prompts/documentation-prompts.js +13 -20
- package/dist/core/ai/prompts/documentation-prompts.js.map +1 -1
- package/dist/core/config/config-manager.d.ts +3 -18
- package/dist/core/config/config-manager.d.ts.map +1 -1
- package/dist/core/config/config-manager.js +7 -32
- package/dist/core/config/config-manager.js.map +1 -1
- package/dist/core/generator/project.d.ts +1 -6
- package/dist/core/generator/project.d.ts.map +1 -1
- package/dist/core/generator/project.js +29 -85
- package/dist/core/generator/project.js.map +1 -1
- package/dist/index.js +4 -30
- package/dist/index.js.map +1 -1
- package/dist/models/config.d.ts +0 -8
- package/dist/models/config.d.ts.map +1 -1
- package/package.json +5 -8
- package/templates/java-spring/pro/clean/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/java-spring/pro/clean/Dockerfile.hbs +45 -0
- package/templates/java-spring/pro/clean/README.md.hbs +31 -0
- package/templates/java-spring/pro/clean/docker-compose.yml.hbs +18 -0
- package/templates/java-spring/pro/clean/infra/main.tf.hbs +83 -0
- package/templates/java-spring/pro/clean/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/java-spring/pro/clean/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/java-spring/pro/clean/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/java-spring/pro/clean/pom.xml.hbs +130 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/application/service/AuthService.java.hbs +36 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/domain/entity/User.java.hbs +77 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/domain/repository/UserRepository.java.hbs +15 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/domain/usecase/LoginUserUseCase.java.hbs +36 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/domain/usecase/RegisterUserUseCase.java.hbs +46 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/infrastructure/persistence/InMemoryUserRepository.java.hbs +41 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/infrastructure/security/SecurityAdapters.java.hbs +53 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/infrastructure/web/controller/AuthController.java.hbs +41 -0
- package/templates/java-spring/pro/clean/src/main/java/{{packagePath}}/{{projectNamePascalCase}}Application.java.hbs +14 -0
- package/templates/java-spring/pro/hexagonal/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/java-spring/pro/hexagonal/Dockerfile.hbs +45 -0
- package/templates/java-spring/pro/hexagonal/README.md.hbs +38 -0
- package/templates/java-spring/pro/hexagonal/docker-compose.yml.hbs +18 -0
- package/templates/java-spring/pro/hexagonal/infra/main.tf.hbs +83 -0
- package/templates/java-spring/pro/hexagonal/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/java-spring/pro/hexagonal/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/java-spring/pro/hexagonal/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/java-spring/pro/hexagonal/pom.xml.hbs +130 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/application/service/AuthService.java.hbs +36 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/domain/entity/User.java.hbs +77 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/domain/repository/UserRepository.java.hbs +15 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/domain/usecase/LoginUserUseCase.java.hbs +36 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/domain/usecase/RegisterUserUseCase.java.hbs +46 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/infrastructure/persistence/InMemoryUserRepository.java.hbs +41 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/infrastructure/security/SecurityAdapters.java.hbs +53 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/infrastructure/web/controller/AuthController.java.hbs +41 -0
- package/templates/java-spring/pro/hexagonal/src/main/java/{{packagePath}}/{{projectNamePascalCase}}Application.java.hbs +14 -0
- package/templates/java-spring/pro/mvc/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/java-spring/pro/mvc/Dockerfile.hbs +45 -0
- package/templates/java-spring/pro/mvc/README.md.hbs +116 -0
- package/templates/java-spring/pro/mvc/docker-compose.yml.hbs +18 -0
- package/templates/java-spring/pro/mvc/infra/main.tf.hbs +83 -0
- package/templates/java-spring/pro/mvc/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/java-spring/pro/mvc/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/java-spring/pro/mvc/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/java-spring/pro/mvc/pom.xml.hbs +130 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/config/GlobalExceptionHandler.java.hbs +39 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/config/SecurityConfig.java.hbs +44 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/config/WebConfig.java.hbs +30 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/controller/AuthController.java.hbs +69 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/controller/HealthController.java.hbs +30 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/controller/PaymentsController.java.hbs +49 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/dto/AuthRequest.java.hbs +3 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/dto/AuthResponse.java.hbs +3 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/model/.gitkeep +0 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/repository/.gitkeep +0 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/security/JwtAuthenticationFilter.java.hbs +56 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/security/JwtTokenProvider.java.hbs +59 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/service/.gitkeep +0 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/service/StripeService.java.hbs +67 -0
- package/templates/java-spring/pro/mvc/src/main/java/{{packagePath}}/{{projectNamePascalCase}}Application.java.hbs +13 -0
- package/templates/java-spring/pro/mvc/src/main/resources/application.yml.hbs +32 -0
- package/templates/java-spring/pro/mvc/src/test/java/{{packagePath}}/{{projectNamePascalCase}}ApplicationTests.java.hbs +13 -0
- package/templates/java-spring/pro/mvc/src/test/resources/application.yml.hbs +10 -0
- package/templates/java-spring/pro/mvc/template.json +14 -0
- package/templates/nestjs/pro/clean/.env.example.hbs +19 -0
- package/templates/nestjs/pro/clean/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/nestjs/pro/clean/Dockerfile.hbs +45 -0
- package/templates/nestjs/pro/clean/docker-compose.yml.hbs +28 -0
- package/templates/nestjs/pro/clean/infra/main.tf.hbs +83 -0
- package/templates/nestjs/pro/clean/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/nestjs/pro/clean/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/nestjs/pro/clean/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/nestjs/pro/clean/package.json.hbs +37 -0
- package/templates/nestjs/pro/clean/src/auth.module.ts.hbs +17 -0
- package/templates/nestjs/pro/clean/src/domain/entities/user.entity.ts.hbs +12 -0
- package/templates/nestjs/pro/clean/src/domain/repositories/user.repository.ts.hbs +6 -0
- package/templates/nestjs/pro/clean/src/domain/use-cases/register.use-case.ts.hbs +18 -0
- package/templates/nestjs/pro/clean/src/infrastructure/database/in-memory.repository.ts.hbs +17 -0
- package/templates/nestjs/pro/clean/src/infrastructure/http/auth.controller.ts.hbs +16 -0
- package/templates/nestjs/pro/clean/tsconfig.json.hbs +21 -0
- package/templates/nestjs/pro/hexagonal/.env.example.hbs +19 -0
- package/templates/nestjs/pro/hexagonal/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/nestjs/pro/hexagonal/Dockerfile.hbs +45 -0
- package/templates/nestjs/pro/hexagonal/docker-compose.yml.hbs +28 -0
- package/templates/nestjs/pro/hexagonal/infra/main.tf.hbs +83 -0
- package/templates/nestjs/pro/hexagonal/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/nestjs/pro/hexagonal/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/nestjs/pro/hexagonal/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/nestjs/pro/hexagonal/package.json.hbs +37 -0
- package/templates/nestjs/pro/hexagonal/src/adapters/inbound/http.adapter.ts.hbs +12 -0
- package/templates/nestjs/pro/hexagonal/src/adapters/outbound/persistence.adapter.ts.hbs +13 -0
- package/templates/nestjs/pro/hexagonal/src/auth.module.ts.hbs +19 -0
- package/templates/nestjs/pro/hexagonal/src/core/auth.service.ts.hbs +16 -0
- package/templates/nestjs/pro/hexagonal/src/core/domain/user.entity.ts.hbs +8 -0
- package/templates/nestjs/pro/hexagonal/src/core/ports/ports.ts.hbs +9 -0
- package/templates/nestjs/pro/hexagonal/tsconfig.json.hbs +21 -0
- package/templates/nestjs/pro/mvc/.env.example.hbs +19 -0
- package/templates/nestjs/pro/mvc/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/nestjs/pro/mvc/Dockerfile.hbs +45 -0
- package/templates/nestjs/pro/mvc/README.md.hbs +28 -0
- package/templates/nestjs/pro/mvc/docker-compose.yml.hbs +28 -0
- package/templates/nestjs/pro/mvc/infra/main.tf.hbs +83 -0
- package/templates/nestjs/pro/mvc/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/nestjs/pro/mvc/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/nestjs/pro/mvc/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/nestjs/pro/mvc/package.json.hbs +37 -0
- package/templates/nestjs/pro/mvc/src/app.module.ts.hbs +17 -0
- package/templates/nestjs/pro/mvc/src/auth/auth.controller.ts.hbs +35 -0
- package/templates/nestjs/pro/mvc/src/auth/auth.module.ts.hbs +25 -0
- package/templates/nestjs/pro/mvc/src/auth/auth.service.ts.hbs +55 -0
- package/templates/nestjs/pro/mvc/src/auth/jwt.strategy.ts.hbs +19 -0
- package/templates/nestjs/pro/mvc/src/controllers/health.controller.ts.hbs +9 -0
- package/templates/nestjs/pro/mvc/src/controllers/items.controller.ts.hbs +32 -0
- package/templates/nestjs/pro/mvc/src/main.ts.hbs +17 -0
- package/templates/nestjs/pro/mvc/src/models/create-item.dto.ts.hbs +10 -0
- package/templates/nestjs/pro/mvc/src/models/item.model.ts.hbs +6 -0
- package/templates/nestjs/pro/mvc/src/modules/items.module.ts.hbs +9 -0
- package/templates/nestjs/pro/mvc/src/payments/payments.controller.ts.hbs +26 -0
- package/templates/nestjs/pro/mvc/src/payments/payments.module.ts.hbs +11 -0
- package/templates/nestjs/pro/mvc/src/payments/payments.service.ts.hbs +43 -0
- package/templates/nestjs/pro/mvc/src/services/items.service.ts.hbs +32 -0
- package/templates/nestjs/pro/mvc/tsconfig.json.hbs +21 -0
- package/templates/nextjs/pro/mvc/.env.example.hbs +20 -0
- package/templates/nextjs/pro/mvc/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/nextjs/pro/mvc/Dockerfile.hbs +45 -0
- package/templates/nextjs/pro/mvc/README.md.hbs +96 -0
- package/templates/nextjs/pro/mvc/docker-compose.yml.hbs +18 -0
- package/templates/nextjs/pro/mvc/infra/main.tf.hbs +83 -0
- package/templates/nextjs/pro/mvc/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/nextjs/pro/mvc/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/nextjs/pro/mvc/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/nextjs/pro/mvc/next.config.js.hbs +4 -0
- package/templates/nextjs/pro/mvc/package.json.hbs +34 -0
- package/templates/nextjs/pro/mvc/postcss.config.js.hbs +6 -0
- package/templates/nextjs/pro/mvc/prisma/schema.prisma.hbs +18 -0
- package/templates/nextjs/pro/mvc/public/.gitkeep +0 -0
- package/templates/nextjs/pro/mvc/src/app/api/auth/[...nextauth]/route.ts.hbs +61 -0
- package/templates/nextjs/pro/mvc/src/app/api/checkout/route.ts.hbs +30 -0
- package/templates/nextjs/pro/mvc/src/app/api/health/route.ts.hbs +9 -0
- package/templates/nextjs/pro/mvc/src/app/api/webhook/route.ts.hbs +51 -0
- package/templates/nextjs/pro/mvc/src/app/dashboard/page.tsx.hbs +52 -0
- package/templates/nextjs/pro/mvc/src/app/globals.css.hbs +3 -0
- package/templates/nextjs/pro/mvc/src/app/layout.tsx.hbs +22 -0
- package/templates/nextjs/pro/mvc/src/app/page.tsx.hbs +38 -0
- package/templates/nextjs/pro/mvc/src/components/.gitkeep +0 -0
- package/templates/nextjs/pro/mvc/src/components/AuthButton.tsx.hbs +34 -0
- package/templates/nextjs/pro/mvc/src/components/Providers.tsx.hbs +7 -0
- package/templates/nextjs/pro/mvc/src/lib/prisma.ts.hbs +13 -0
- package/templates/nextjs/pro/mvc/src/proxy.ts.hbs +22 -0
- package/templates/nextjs/pro/mvc/tailwind.config.ts.hbs +15 -0
- package/templates/nextjs/pro/mvc/template.json +18 -0
- package/templates/nextjs/pro/mvc/tsconfig.json.hbs +40 -0
- package/templates/nodejs-express/pro/clean/.env.example.hbs +19 -0
- package/templates/nodejs-express/pro/clean/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/nodejs-express/pro/clean/Dockerfile.hbs +45 -0
- package/templates/nodejs-express/pro/clean/README.md.hbs +41 -0
- package/templates/nodejs-express/pro/clean/docker-compose.yml.hbs +18 -0
- package/templates/nodejs-express/pro/clean/infra/main.tf.hbs +83 -0
- package/templates/nodejs-express/pro/clean/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/nodejs-express/pro/clean/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/nodejs-express/pro/clean/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/nodejs-express/pro/clean/package.json.hbs +55 -0
- package/templates/nodejs-express/pro/clean/src/application/services/AuthService.ts.hbs +66 -0
- package/templates/nodejs-express/pro/clean/src/domain/entities/User.ts.hbs +38 -0
- package/templates/nodejs-express/pro/clean/src/domain/repositories/IUserRepository.ts.hbs +13 -0
- package/templates/nodejs-express/pro/clean/src/domain/usecases/LoginUserUseCase.ts.hbs +39 -0
- package/templates/nodejs-express/pro/clean/src/domain/usecases/RegisterUserUseCase.ts.hbs +51 -0
- package/templates/nodejs-express/pro/clean/src/index.ts.hbs +40 -0
- package/templates/nodejs-express/pro/clean/src/infrastructure/database/InMemoryUserRepository.ts.hbs +46 -0
- package/templates/nodejs-express/pro/clean/src/infrastructure/http/controllers/AuthController.ts.hbs +45 -0
- package/templates/nodejs-express/pro/clean/src/infrastructure/http/middlewares/AuthMiddleware.ts.hbs +27 -0
- package/templates/nodejs-express/pro/clean/src/infrastructure/providers/PasswordHasher.ts.hbs +14 -0
- package/templates/nodejs-express/pro/clean/src/infrastructure/providers/TokenGenerator.ts.hbs +25 -0
- package/templates/nodejs-express/pro/clean/tsconfig.json.hbs +27 -0
- package/templates/nodejs-express/pro/hexagonal/.env.example.hbs +19 -0
- package/templates/nodejs-express/pro/hexagonal/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/nodejs-express/pro/hexagonal/Dockerfile.hbs +45 -0
- package/templates/nodejs-express/pro/hexagonal/README.md.hbs +42 -0
- package/templates/nodejs-express/pro/hexagonal/docker-compose.yml.hbs +18 -0
- package/templates/nodejs-express/pro/hexagonal/infra/main.tf.hbs +83 -0
- package/templates/nodejs-express/pro/hexagonal/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/nodejs-express/pro/hexagonal/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/nodejs-express/pro/hexagonal/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/nodejs-express/pro/hexagonal/package.json.hbs +55 -0
- package/templates/nodejs-express/pro/hexagonal/src/adapters/inbound/http/AuthController.ts.hbs +48 -0
- package/templates/nodejs-express/pro/hexagonal/src/adapters/outbound/SecurityAdapters.ts.hbs +31 -0
- package/templates/nodejs-express/pro/hexagonal/src/adapters/outbound/persistence/InMemoryUserAdapter.ts.hbs +38 -0
- package/templates/nodejs-express/pro/hexagonal/src/core/AuthService.ts.hbs +51 -0
- package/templates/nodejs-express/pro/hexagonal/src/core/domain/entities/User.ts.hbs +28 -0
- package/templates/nodejs-express/pro/hexagonal/src/core/ports/inbound/IAuthPort.ts.hbs +11 -0
- package/templates/nodejs-express/pro/hexagonal/src/core/ports/outbound/ISecurityPorts.ts.hbs +15 -0
- package/templates/nodejs-express/pro/hexagonal/src/core/ports/outbound/IUserRepositoryPort.ts.hbs +13 -0
- package/templates/nodejs-express/pro/hexagonal/src/index.ts.hbs +41 -0
- package/templates/nodejs-express/pro/hexagonal/tsconfig.json.hbs +27 -0
- package/templates/nodejs-express/pro/mvc/.env.example.hbs +19 -0
- package/templates/nodejs-express/pro/mvc/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/nodejs-express/pro/mvc/Dockerfile.hbs +45 -0
- package/templates/nodejs-express/pro/mvc/README.md.hbs +85 -0
- package/templates/nodejs-express/pro/mvc/docker-compose.yml.hbs +18 -0
- package/templates/nodejs-express/pro/mvc/infra/main.tf.hbs +83 -0
- package/templates/nodejs-express/pro/mvc/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/nodejs-express/pro/mvc/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/nodejs-express/pro/mvc/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/nodejs-express/pro/mvc/package.json.hbs +55 -0
- package/templates/nodejs-express/pro/mvc/src/app.ts.hbs +34 -0
- package/templates/nodejs-express/pro/mvc/src/config/database.ts.hbs +10 -0
- package/templates/nodejs-express/pro/mvc/src/controllers/auth.controller.ts.hbs +91 -0
- package/templates/nodejs-express/pro/mvc/src/controllers/healthController.ts.hbs +20 -0
- package/templates/nodejs-express/pro/mvc/src/controllers/payments.controller.ts.hbs +72 -0
- package/templates/nodejs-express/pro/mvc/src/index.ts.hbs +12 -0
- package/templates/nodejs-express/pro/mvc/src/middleware/errorHandler.ts.hbs +22 -0
- package/templates/nodejs-express/pro/mvc/src/middlewares/auth.middleware.ts.hbs +31 -0
- package/templates/nodejs-express/pro/mvc/src/models/.gitkeep +0 -0
- package/templates/nodejs-express/pro/mvc/src/routes/index.ts.hbs +14 -0
- package/templates/nodejs-express/pro/mvc/src/services/.gitkeep +0 -0
- package/templates/nodejs-express/pro/mvc/src/services/stripe.service.ts.hbs +102 -0
- package/templates/nodejs-express/pro/mvc/template.json +18 -0
- package/templates/nodejs-express/pro/mvc/tsconfig.json.hbs +27 -0
- package/templates/python-fastapi/pro/clean/.env.example.hbs +17 -0
- package/templates/python-fastapi/pro/clean/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/python-fastapi/pro/clean/Dockerfile.hbs +20 -0
- package/templates/python-fastapi/pro/clean/app/domain/entities/user.py.hbs +23 -0
- package/templates/python-fastapi/pro/clean/app/domain/repositories/user_repository.py.hbs +22 -0
- package/templates/python-fastapi/pro/clean/app/domain/usecases/register_user.py.hbs +30 -0
- package/templates/python-fastapi/pro/clean/app/infrastructure/database/in_memory_repository.py.hbs +26 -0
- package/templates/python-fastapi/pro/clean/app/infrastructure/http/auth_controller.py.hbs +26 -0
- package/templates/python-fastapi/pro/clean/app/infrastructure/security/adapters.py.hbs +23 -0
- package/templates/python-fastapi/pro/clean/app/main.py.hbs +10 -0
- package/templates/python-fastapi/pro/clean/docker-compose.yml.hbs +28 -0
- package/templates/python-fastapi/pro/clean/infra/main.tf.hbs +83 -0
- package/templates/python-fastapi/pro/clean/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/python-fastapi/pro/clean/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/python-fastapi/pro/clean/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/python-fastapi/pro/clean/requirements.txt.hbs +12 -0
- package/templates/python-fastapi/pro/hexagonal/.env.example.hbs +17 -0
- package/templates/python-fastapi/pro/hexagonal/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/python-fastapi/pro/hexagonal/Dockerfile.hbs +20 -0
- package/templates/python-fastapi/pro/hexagonal/app/adapters/inbound/http_adapter.py.hbs +29 -0
- package/templates/python-fastapi/pro/hexagonal/app/core/domain/user.py.hbs +15 -0
- package/templates/python-fastapi/pro/hexagonal/app/core/ports.py.hbs +25 -0
- package/templates/python-fastapi/pro/hexagonal/app/core/service.py.hbs +28 -0
- package/templates/python-fastapi/pro/hexagonal/app/main.py.hbs +22 -0
- package/templates/python-fastapi/pro/hexagonal/docker-compose.yml.hbs +28 -0
- package/templates/python-fastapi/pro/hexagonal/infra/main.tf.hbs +83 -0
- package/templates/python-fastapi/pro/hexagonal/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/python-fastapi/pro/hexagonal/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/python-fastapi/pro/hexagonal/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/python-fastapi/pro/hexagonal/requirements.txt.hbs +12 -0
- package/templates/python-fastapi/pro/mvc/.env.example.hbs +17 -0
- package/templates/python-fastapi/pro/mvc/.github/workflows/ci-cd.yml.hbs +88 -0
- package/templates/python-fastapi/pro/mvc/Dockerfile.hbs +20 -0
- package/templates/python-fastapi/pro/mvc/README.md.hbs +41 -0
- package/templates/python-fastapi/pro/mvc/app/controllers/auth.py.hbs +46 -0
- package/templates/python-fastapi/pro/mvc/app/controllers/health.py.hbs +7 -0
- package/templates/python-fastapi/pro/mvc/app/controllers/items.py.hbs +21 -0
- package/templates/python-fastapi/pro/mvc/app/controllers/payments.py.hbs +32 -0
- package/templates/python-fastapi/pro/mvc/app/main.py.hbs +20 -0
- package/templates/python-fastapi/pro/mvc/app/middleware/security.py.hbs +39 -0
- package/templates/python-fastapi/pro/mvc/app/models/item.py.hbs +11 -0
- package/templates/python-fastapi/pro/mvc/app/schemas/item.py.hbs +16 -0
- package/templates/python-fastapi/pro/mvc/app/services/item_service.py.hbs +24 -0
- package/templates/python-fastapi/pro/mvc/docker-compose.yml.hbs +28 -0
- package/templates/python-fastapi/pro/mvc/infra/main.tf.hbs +83 -0
- package/templates/python-fastapi/pro/mvc/infra/modules/ecs/main.tf.hbs +54 -0
- package/templates/python-fastapi/pro/mvc/infra/modules/rds/main.tf.hbs +88 -0
- package/templates/python-fastapi/pro/mvc/infra/modules/vpc/main.tf.hbs +107 -0
- package/templates/python-fastapi/pro/mvc/requirements.txt.hbs +12 -0
- package/dist/cli/commands/login.d.ts +0 -6
- package/dist/cli/commands/login.d.ts.map +0 -1
- package/dist/cli/commands/login.js +0 -42
- package/dist/cli/commands/login.js.map +0 -1
- package/dist/cli/commands/logout.d.ts +0 -2
- package/dist/cli/commands/logout.d.ts.map +0 -1
- package/dist/cli/commands/logout.js +0 -22
- package/dist/cli/commands/logout.js.map +0 -1
- package/dist/cli/commands/register.d.ts +0 -2
- package/dist/cli/commands/register.d.ts.map +0 -1
- package/dist/cli/commands/register.js +0 -90
- package/dist/cli/commands/register.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -2
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -46
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/upgrade.d.ts +0 -2
- package/dist/cli/commands/upgrade.d.ts.map +0 -1
- package/dist/cli/commands/upgrade.js +0 -62
- package/dist/cli/commands/upgrade.js.map +0 -1
- package/dist/core/auth/license-validator.d.ts +0 -33
- package/dist/core/auth/license-validator.d.ts.map +0 -1
- package/dist/core/auth/license-validator.js +0 -81
- package/dist/core/auth/license-validator.js.map +0 -1
- package/dist/core/templates/downloader.d.ts +0 -32
- package/dist/core/templates/downloader.d.ts.map +0 -1
- package/dist/core/templates/downloader.js +0 -95
- package/dist/core/templates/downloader.js.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Vinicius Trevisan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
Build production-ready applications in minutes. Kybernus generates robust, scalable backend projects with industry best practices built-in.
|
|
6
6
|
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
## Installation
|
|
@@ -19,22 +21,21 @@ npm install -g kybernus
|
|
|
19
21
|
```bash
|
|
20
22
|
# Create your first project
|
|
21
23
|
kybernus init
|
|
22
|
-
|
|
23
|
-
# Or start with a free trial (15 days, full Pro access)
|
|
24
|
-
kybernus register
|
|
25
24
|
```
|
|
26
25
|
|
|
27
26
|
---
|
|
28
27
|
|
|
29
28
|
## Supported Stacks
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
|
34
|
-
|
|
35
|
-
| **
|
|
36
|
-
| **
|
|
37
|
-
| **
|
|
30
|
+
All stacks and architectures are **100% FREE** and Open Source.
|
|
31
|
+
|
|
32
|
+
| Stack | Supported Architectures |
|
|
33
|
+
|:------|:-----------------------:|
|
|
34
|
+
| **Node.js + Express** | MVC, Clean, Hexagonal |
|
|
35
|
+
| **Next.js** | MVC |
|
|
36
|
+
| **Java Spring Boot** | MVC, Clean, Hexagonal |
|
|
37
|
+
| **NestJS** | MVC, Clean, Hexagonal |
|
|
38
|
+
| **Python FastAPI** | MVC, Clean, Hexagonal |
|
|
38
39
|
|
|
39
40
|
---
|
|
40
41
|
|
|
@@ -42,11 +43,6 @@ kybernus register
|
|
|
42
43
|
|
|
43
44
|
```bash
|
|
44
45
|
kybernus init # Generate a new project
|
|
45
|
-
kybernus register # Start a free trial (3 projects)
|
|
46
|
-
kybernus login # Login with your license key
|
|
47
|
-
kybernus status # Check license and usage
|
|
48
|
-
kybernus upgrade # Upgrade to Pro ($49 lifetime)
|
|
49
|
-
kybernus logout # Sign out
|
|
50
46
|
```
|
|
51
47
|
|
|
52
48
|
---
|
|
@@ -61,7 +57,7 @@ $ kybernus init
|
|
|
61
57
|
◆ Project name: my-api
|
|
62
58
|
◆ Stack: Node.js + Express
|
|
63
59
|
◆ Architecture: Clean Architecture
|
|
64
|
-
◆
|
|
60
|
+
◆ Generate AI Documentation: Yes
|
|
65
61
|
│
|
|
66
62
|
└ ✅ Project created successfully!
|
|
67
63
|
```
|
|
@@ -70,14 +66,7 @@ $ kybernus init
|
|
|
70
66
|
|
|
71
67
|
## What's Included
|
|
72
68
|
|
|
73
|
-
###
|
|
74
|
-
|
|
75
|
-
### Architect ($9)
|
|
76
|
-
- Basic project scaffolding (MVC)
|
|
77
|
-
- Node.js, Next.js, Java Spring Boot
|
|
78
|
-
- README with setup instructions
|
|
79
|
-
|
|
80
|
-
### Pro Tier ($49 lifetime)
|
|
69
|
+
### 100% Free & Open Source
|
|
81
70
|
- **All stacks** including NestJS and FastAPI
|
|
82
71
|
- **Clean & Hexagonal Architecture** patterns
|
|
83
72
|
- **Docker & docker-compose** configurations
|
|
@@ -88,6 +77,18 @@ $ kybernus init
|
|
|
88
77
|
|
|
89
78
|
---
|
|
90
79
|
|
|
80
|
+
## Contributing
|
|
81
|
+
|
|
82
|
+
We welcome contributions! Please feel free to open an issue or submit a Pull Request.
|
|
83
|
+
|
|
84
|
+
1. Fork the Project
|
|
85
|
+
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
|
|
86
|
+
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
|
|
87
|
+
4. Push to the Branch (`git push origin feature/AmazingFeature`)
|
|
88
|
+
5. Open a Pull Request
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
91
92
|
## Links
|
|
92
93
|
|
|
93
94
|
- 🌐 **Website**: [kybernus.vercel.app](https://kybernus.vercel.app)
|
|
@@ -97,7 +98,7 @@ $ kybernus init
|
|
|
97
98
|
|
|
98
99
|
## License
|
|
99
100
|
|
|
100
|
-
|
|
101
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
101
102
|
|
|
102
103
|
---
|
|
103
104
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,gBAAgB,SAuBvB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { ConfigManager } from '../../core/config/config-manager.js';
|
|
3
|
+
import * as clack from '@clack/prompts';
|
|
4
|
+
import color from 'picocolors';
|
|
5
|
+
export const analyticsCommand = new Command('analytics')
|
|
6
|
+
.description('Manage anonymous usage reporting settings')
|
|
7
|
+
.option('--enable', 'Enable anonymous usage reporting')
|
|
8
|
+
.option('--disable', 'Disable anonymous usage reporting')
|
|
9
|
+
.option('--status', 'Show current reporting status')
|
|
10
|
+
.action(async (options) => {
|
|
11
|
+
const config = new ConfigManager();
|
|
12
|
+
if (options.enable) {
|
|
13
|
+
config.setAnalyticsEnabled(true);
|
|
14
|
+
clack.log.success(color.green('✔ Anonymous usage reporting enabled. Thank you for helping us improve!'));
|
|
15
|
+
}
|
|
16
|
+
else if (options.disable) {
|
|
17
|
+
config.setAnalyticsEnabled(false);
|
|
18
|
+
clack.log.warn(color.yellow('✔ Anonymous usage reporting disabled.'));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const status = config.isAnalyticsEnabled();
|
|
22
|
+
if (status) {
|
|
23
|
+
clack.log.info(`Analytics: ${color.green('ENABLED')}`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
clack.log.info(`Analytics: ${color.red('DISABLED')}`);
|
|
27
|
+
}
|
|
28
|
+
clack.log.message('Use --enable or --disable to change this setting.');
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/cli/commands/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;KACnD,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;KACtD,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;KACxD,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACtB,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IAEnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC,CAAC;IAC7G,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACT,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBA4BrD"}
|
|
@@ -1,63 +1,19 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
|
+
import color from 'picocolors';
|
|
2
3
|
import { runWizard } from '../prompts/wizard.js';
|
|
3
4
|
import { ProjectGenerator } from '../../core/generator/project.js';
|
|
4
|
-
import { ConfigManager } from '../../core/config/config-manager.js';
|
|
5
|
-
import { LicenseValidator } from '../../core/auth/license-validator.js';
|
|
6
5
|
import { AnalyticsClient } from '../services/AnalyticsClient.js';
|
|
7
6
|
export async function initCommand(options) {
|
|
8
|
-
const configManager = new ConfigManager();
|
|
9
|
-
const validator = new LicenseValidator();
|
|
10
|
-
// Determine license tier
|
|
11
|
-
let licenseTier = 'free';
|
|
12
|
-
let licenseKey = options.license;
|
|
13
|
-
// If no license provided via flag, check stored config
|
|
14
|
-
if (!licenseKey) {
|
|
15
|
-
licenseKey = configManager.getLicenseKey();
|
|
16
|
-
}
|
|
17
|
-
// Validate license if present
|
|
18
|
-
if (licenseKey) {
|
|
19
|
-
const result = await validator.validate(licenseKey);
|
|
20
|
-
if (result.valid && result.tier === 'PRO') {
|
|
21
|
-
const expiration = configManager.getLicenseExpiration();
|
|
22
|
-
// Check if license is still active
|
|
23
|
-
if (validator.isLicenseActive(expiration)) {
|
|
24
|
-
licenseTier = 'pro';
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
clack.log.warn('Your Pro license has expired. Switching to Free mode.');
|
|
28
|
-
configManager.clearLicense();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
if (licenseTier === 'free') {
|
|
33
|
-
clack.note('🆓 Free Mode Active\n\nYou are using Kybernus Free. To access:\n- Advanced Architectures (Clean, Hexagonal)\n- Additional Stacks (Python FastAPI, NestJS)\n- Complete DevOps (Docker, CI/CD, Terraform)\n\nTo unlock Pro features, run: kybernus upgrade', 'ℹ️ Information');
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
clack.note('🌟 Pro Mode Active\n\nYou have access to all features!', '✨ Pro');
|
|
37
|
-
}
|
|
38
7
|
// Run interactive wizard (or use options if non-interactive)
|
|
39
|
-
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const creditCheck = await validator.consumeCredit(licenseKey);
|
|
49
|
-
spinner.stop('Quota verified');
|
|
50
|
-
if (!creditCheck.authorized) {
|
|
51
|
-
clack.log.error(creditCheck.message || 'Project creation blocked by license limit.');
|
|
52
|
-
if (creditCheck.message?.includes('Trial limit')) {
|
|
53
|
-
clack.note('🔓 Unlock unlimited projects with Kybernus Pro lifetime.\nRun: kybernus upgrade', 'Limit Reached');
|
|
54
|
-
}
|
|
55
|
-
return; // Stop generation
|
|
56
|
-
}
|
|
57
|
-
if (creditCheck.remaining !== undefined && creditCheck.remaining >= 0) {
|
|
58
|
-
clack.log.info(`Trial Credits: ${creditCheck.usage}/${creditCheck.limit} used. (${creditCheck.remaining} remaining)`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
8
|
+
// Implicitly pass 'pro' tier or handle inside wizard to defaults
|
|
9
|
+
// Privacy Notice
|
|
10
|
+
console.log('');
|
|
11
|
+
console.log(color.dim('📊 Anonymous usage data is collected to improve Kybernus.'));
|
|
12
|
+
console.log(color.dim(' No personal information is tracked. Opt-out anytime:'));
|
|
13
|
+
console.log(color.dim(' kybernus analytics --disable'));
|
|
14
|
+
console.log(color.dim(' Learn more: https://getkybernus.com/privacy'));
|
|
15
|
+
console.log('');
|
|
16
|
+
const config = await runWizard(options);
|
|
61
17
|
// Generate project
|
|
62
18
|
const generator = new ProjectGenerator();
|
|
63
19
|
await generator.generate(config, process.cwd());
|
|
@@ -67,7 +23,7 @@ export async function initCommand(options) {
|
|
|
67
23
|
name: config.projectName,
|
|
68
24
|
stack: config.stack,
|
|
69
25
|
architecture: config.architecture,
|
|
70
|
-
tier:
|
|
26
|
+
tier: 'opensource',
|
|
71
27
|
command: 'init'
|
|
72
28
|
});
|
|
73
29
|
clack.outro('🎉 Project created successfully! Happy coding!');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAWjE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IAClD,6DAA6D;IAC7D,iEAAiE;IACjE,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IAExC,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACzC,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEhD,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC,WAAW;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,MAAM;KAClB,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProjectConfig
|
|
1
|
+
import { ProjectConfig } from '../../models/config.js';
|
|
2
2
|
export interface ConfigOptions {
|
|
3
3
|
name?: string;
|
|
4
4
|
stack?: string;
|
|
@@ -12,5 +12,5 @@ export interface ConfigOptions {
|
|
|
12
12
|
cicd?: boolean;
|
|
13
13
|
terraform?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export declare function runWizard(
|
|
15
|
+
export declare function runWizard(options?: ConfigOptions): Promise<ProjectConfig>;
|
|
16
16
|
//# sourceMappingURL=wizard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/cli/prompts/wizard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/cli/prompts/wizard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAkC,MAAM,wBAAwB,CAAC;AAGvF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4KnF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
|
-
export async function runWizard(
|
|
2
|
+
export async function runWizard(options = {}) {
|
|
3
3
|
// If non-interactive mode, validate required options
|
|
4
4
|
if (options.nonInteractive) {
|
|
5
5
|
if (!options.name || !options.stack) {
|
|
6
6
|
throw new Error('Non-interactive mode requires --name and --stack. Architecture defaults to mvc if not specified.');
|
|
7
7
|
}
|
|
8
|
-
// Default DevOps flags
|
|
8
|
+
// Default DevOps flags
|
|
9
9
|
const devops = {
|
|
10
10
|
docker: options.docker || false,
|
|
11
11
|
cicd: options.cicd || false,
|
|
@@ -20,7 +20,6 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
20
20
|
useAI: options.ai || false,
|
|
21
21
|
geminiKey: options.geminiKey,
|
|
22
22
|
devops,
|
|
23
|
-
licenseTier
|
|
24
23
|
};
|
|
25
24
|
}
|
|
26
25
|
clack.intro('🚀 Welcome to Kybernus');
|
|
@@ -45,12 +44,8 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
45
44
|
{ value: 'nextjs', label: 'Next.js (React + TypeScript)' },
|
|
46
45
|
{ value: 'java-spring', label: 'Java Spring Boot' },
|
|
47
46
|
{ value: 'nodejs-express', label: 'Node.js + Express' },
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{ value: 'python-fastapi', label: '🌟 Python FastAPI (Pro)' },
|
|
51
|
-
{ value: 'nestjs', label: '🌟 NestJS (Pro)' },
|
|
52
|
-
]
|
|
53
|
-
: []),
|
|
47
|
+
{ value: 'python-fastapi', label: 'Python FastAPI' },
|
|
48
|
+
{ value: 'nestjs', label: 'NestJS' },
|
|
54
49
|
],
|
|
55
50
|
}),
|
|
56
51
|
buildTool: ({ results }) => {
|
|
@@ -83,30 +78,26 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
83
78
|
architecture: ({ results }) => {
|
|
84
79
|
// Next.js has different architecture options (default vs mvc)
|
|
85
80
|
if (results.stack === 'nextjs') {
|
|
86
|
-
const nextjsOptions = [{ value: 'default', label: 'Default Structure (Free)' }];
|
|
87
|
-
// MVC option only in Pro
|
|
88
|
-
if (licenseTier === 'pro') {
|
|
89
|
-
nextjsOptions.push({ value: 'mvc', label: '🌟 MVC Structure (Pro)' });
|
|
90
|
-
}
|
|
91
81
|
return clack.select({
|
|
92
82
|
message: 'Template:',
|
|
93
83
|
initialValue: options.architecture || 'default',
|
|
94
|
-
options:
|
|
84
|
+
options: [
|
|
85
|
+
{ value: 'default', label: 'Default Structure' },
|
|
86
|
+
{ value: 'mvc', label: 'MVC Structure' },
|
|
87
|
+
{ value: 'clean', label: 'Clean Architecture' },
|
|
88
|
+
{ value: 'hexagonal', label: 'Hexagonal Architecture' }
|
|
89
|
+
],
|
|
95
90
|
});
|
|
96
91
|
}
|
|
97
92
|
// Backend stacks support MVC/Clean/Hexagonal
|
|
98
|
-
const backendStacks = ['java-spring', 'nodejs-express', 'python-fastapi', 'nestjs'];
|
|
99
|
-
if (!backendStacks.includes(results.stack))
|
|
100
|
-
return;
|
|
101
|
-
const uiOptions = [{ value: 'mvc', label: 'MVC (Model-View-Controller)' }];
|
|
102
|
-
// Advanced architectures only in Pro
|
|
103
|
-
if (licenseTier === 'pro') {
|
|
104
|
-
uiOptions.push({ value: 'clean', label: '🌟 Clean Architecture (Pro)' }, { value: 'hexagonal', label: '🌟 Hexagonal Architecture (Pro)' });
|
|
105
|
-
}
|
|
106
93
|
return clack.select({
|
|
107
94
|
message: 'Architecture:',
|
|
108
95
|
initialValue: options.architecture,
|
|
109
|
-
options:
|
|
96
|
+
options: [
|
|
97
|
+
{ value: 'mvc', label: 'MVC (Model-View-Controller)' },
|
|
98
|
+
{ value: 'clean', label: 'Clean Architecture' },
|
|
99
|
+
{ value: 'hexagonal', label: 'Hexagonal Architecture' }
|
|
100
|
+
],
|
|
110
101
|
});
|
|
111
102
|
},
|
|
112
103
|
useAI: () => clack.confirm({
|
|
@@ -128,8 +119,6 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
128
119
|
});
|
|
129
120
|
},
|
|
130
121
|
devops: async ({ results }) => {
|
|
131
|
-
if (licenseTier !== 'pro')
|
|
132
|
-
return [];
|
|
133
122
|
// If devops flags already set, assume override mode
|
|
134
123
|
if (options.docker || options.cicd || options.terraform) {
|
|
135
124
|
return;
|
|
@@ -164,7 +153,6 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
164
153
|
cicd: options.cicd || answers.devops?.includes('ci-cd') || false,
|
|
165
154
|
terraform: options.terraform || answers.devops?.includes('terraform') || false,
|
|
166
155
|
},
|
|
167
|
-
licenseTier,
|
|
168
156
|
};
|
|
169
157
|
}
|
|
170
158
|
//# sourceMappingURL=wizard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/cli/prompts/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAkBxC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/cli/prompts/wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
export declare class AnalyticsClient {
|
|
2
|
+
private client;
|
|
2
3
|
private configManager;
|
|
3
4
|
constructor();
|
|
4
|
-
track(event: string,
|
|
5
|
-
stack?: string;
|
|
6
|
-
architecture?: string;
|
|
7
|
-
command?: string;
|
|
8
|
-
[key: string]: any;
|
|
9
|
-
}): Promise<void>;
|
|
5
|
+
track(event: string, properties?: Record<string, any>): Promise<void>;
|
|
10
6
|
}
|
|
11
7
|
//# sourceMappingURL=AnalyticsClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsClient.d.ts","sourceRoot":"","sources":["../../../src/cli/services/AnalyticsClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AnalyticsClient.d.ts","sourceRoot":"","sources":["../../../src/cli/services/AnalyticsClient.ts"],"names":[],"mappings":"AAMA,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,aAAa,CAAgB;;IAU/B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwBlF"}
|
|
@@ -1,31 +1,35 @@
|
|
|
1
|
+
import { PostHog } from 'posthog-node';
|
|
1
2
|
import { ConfigManager } from '../../core/config/config-manager.js';
|
|
2
|
-
const
|
|
3
|
+
const POSTHOG_API_KEY = 'phc_YourPublicPostHogKeyHere'; // TODO: Replace with env or build param
|
|
4
|
+
const POSTHOG_HOST = 'https://us.i.posthog.com';
|
|
3
5
|
export class AnalyticsClient {
|
|
6
|
+
client;
|
|
4
7
|
configManager;
|
|
5
8
|
constructor() {
|
|
6
9
|
this.configManager = new ConfigManager();
|
|
10
|
+
this.client = new PostHog(process.env.POSTHOG_API_KEY || 'phc_test_key_placeholder', // Hardcoded or env
|
|
11
|
+
{ host: POSTHOG_HOST });
|
|
7
12
|
}
|
|
8
|
-
async track(event,
|
|
13
|
+
async track(event, properties = {}) {
|
|
14
|
+
if (!this.configManager.isAnalyticsEnabled()) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const distinctId = this.configManager.getMachineId();
|
|
9
18
|
try {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
architecture,
|
|
22
|
-
command,
|
|
23
|
-
metadata: { ...rest, machineId } // Colocando machineId no metadata
|
|
24
|
-
})
|
|
25
|
-
}).catch(() => { });
|
|
19
|
+
this.client.capture({
|
|
20
|
+
distinctId,
|
|
21
|
+
event,
|
|
22
|
+
properties: {
|
|
23
|
+
...properties,
|
|
24
|
+
$os: process.platform,
|
|
25
|
+
cli_version: '1.3.0', // Should fetch from package.json
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
// Flush properly in short-lived CLI commands
|
|
29
|
+
await this.client.shutdown();
|
|
26
30
|
}
|
|
27
31
|
catch (error) {
|
|
28
|
-
// Silently fail
|
|
32
|
+
// Silently fail to not interrupt user flow
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsClient.js","sourceRoot":"","sources":["../../../src/cli/services/AnalyticsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,MAAM,
|
|
1
|
+
{"version":3,"file":"AnalyticsClient.js","sourceRoot":"","sources":["../../../src/cli/services/AnalyticsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,MAAM,eAAe,GAAG,8BAA8B,CAAC,CAAC,wCAAwC;AAChG,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD,MAAM,OAAO,eAAe;IAChB,MAAM,CAAU;IAChB,aAAa,CAAgB;IAErC;QACI,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CACrB,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,0BAA0B,EAAE,mBAAmB;QAC9E,EAAE,IAAI,EAAE,YAAY,EAAE,CACzB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,aAAkC,EAAE;QAC3D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAErD,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChB,UAAU;gBACV,KAAK;gBACL,UAAU,EAAE;oBACR,GAAG,UAAU;oBACb,GAAG,EAAE,OAAO,CAAC,QAAQ;oBACrB,WAAW,EAAE,OAAO,EAAE,iCAAiC;iBAC1D;aACJ,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,2CAA2C;QAC/C,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation-prompts.d.ts","sourceRoot":"","sources":["../../../../src/core/ai/prompts/documentation-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAgB,MAAM,2BAA2B,CAAC;AAE/E;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"documentation-prompts.d.ts","sourceRoot":"","sources":["../../../../src/core/ai/prompts/documentation-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAgB,MAAM,2BAA2B,CAAC;AAE/E;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA4D/D;AA0CD;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACtD,MAAM,CA4DR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,MAAM,CAmBR"}
|
|
@@ -2,21 +2,16 @@
|
|
|
2
2
|
* Build prompt for generating README.md
|
|
3
3
|
*/
|
|
4
4
|
export function buildREADMEPrompt(config) {
|
|
5
|
-
const tier =
|
|
5
|
+
const tier = 'OPEN SOURCE';
|
|
6
6
|
const architecture = config.architecture || 'MVC';
|
|
7
|
-
const
|
|
7
|
+
const features = `
|
|
8
|
+
- ✅ **Production Architecture** - ${architecture} pattern for scalability
|
|
8
9
|
- ✅ **Authentication** - JWT-based authentication with bcrypt password hashing
|
|
9
|
-
- ✅ **Stripe Integration** - Complete payment processing with webhooks
|
|
10
10
|
- ✅ **DevOps Ready** - Docker, Docker Compose, GitHub Actions CI/CD
|
|
11
11
|
- ✅ **Infrastructure** - Terraform templates for AWS deployment
|
|
12
|
-
- ✅ **Production Architecture** - ${architecture} pattern for scalability
|
|
13
12
|
- ✅ **Security** - Authentication middlewares, CORS, environment validation
|
|
14
|
-
`;
|
|
15
|
-
const freeFeatures = `
|
|
16
|
-
- ✅ **Clean Structure** - Professional ${architecture} architecture
|
|
17
13
|
- ✅ **Health Endpoint** - API health check ready
|
|
18
14
|
- ✅ **CRUD Example** - Basic items CRUD implementation
|
|
19
|
-
- ✅ **Docker Setup** - Containerization with Docker Compose
|
|
20
15
|
- ✅ **Error Handling** - Global exception handling
|
|
21
16
|
`;
|
|
22
17
|
return `
|
|
@@ -30,8 +25,8 @@ You are a professional technical writer creating a comprehensive README.md for a
|
|
|
30
25
|
${config.buildTool ? `- **Build Tool**: ${config.buildTool}` : ''}
|
|
31
26
|
${config.packageName ? `- **Package**: ${config.packageName}` : ''}
|
|
32
27
|
|
|
33
|
-
**Features
|
|
34
|
-
${
|
|
28
|
+
**Features:**
|
|
29
|
+
${features}
|
|
35
30
|
|
|
36
31
|
**Tech Stack Details:**
|
|
37
32
|
${getStackDetails(config.stack)}
|
|
@@ -47,7 +42,7 @@ ${getStackDetails(config.stack)}
|
|
|
47
42
|
- Installation commands
|
|
48
43
|
- Environment variables setup
|
|
49
44
|
- Running locally commands
|
|
50
|
-
7.
|
|
45
|
+
7. Document API endpoints with examples
|
|
51
46
|
8. Show project structure tree
|
|
52
47
|
9. Include development tips
|
|
53
48
|
10. Add deployment instructions
|
|
@@ -70,35 +65,33 @@ function getStackDetails(stack) {
|
|
|
70
65
|
'nextjs': `
|
|
71
66
|
- **Frontend**: Next.js 14+ with App Router
|
|
72
67
|
- **Styling**: Tailwind CSS
|
|
73
|
-
- **Database**: Prisma ORM
|
|
74
|
-
- **Auth**: NextAuth.js
|
|
68
|
+
- **Database**: Prisma ORM
|
|
69
|
+
- **Auth**: NextAuth.js
|
|
75
70
|
- **API**: Next.js API Routes
|
|
76
71
|
`,
|
|
77
72
|
'python-fastapi': `
|
|
78
73
|
- **Framework**: FastAPI
|
|
79
74
|
- **Validation**: Pydantic
|
|
80
|
-
- **Auth**: JWT with python-jose
|
|
81
|
-
- **Payments**: Stripe SDK (Pro)
|
|
75
|
+
- **Auth**: JWT with python-jose
|
|
82
76
|
- **Testing**: pytest
|
|
83
77
|
`,
|
|
84
78
|
'nodejs-express': `
|
|
85
79
|
- **Runtime**: Node.js 18+
|
|
86
80
|
- **Framework**: Express.js
|
|
87
81
|
- **Language**: TypeScript
|
|
88
|
-
- **Auth**: JWT with bcryptjs
|
|
89
|
-
- **Payments**: Stripe SDK (Pro)
|
|
82
|
+
- **Auth**: JWT with bcryptjs
|
|
90
83
|
`,
|
|
91
84
|
'java-spring': `
|
|
92
85
|
- **Framework**: Spring Boot 3.x
|
|
93
86
|
- **Language**: Java 17+
|
|
94
|
-
- **Security**: Spring Security
|
|
95
|
-
- **Data**: Spring Data JPA
|
|
87
|
+
- **Security**: Spring Security
|
|
88
|
+
- **Data**: Spring Data JPA
|
|
96
89
|
- **Testing**: JUnit 5
|
|
97
90
|
`,
|
|
98
91
|
'nestjs': `
|
|
99
92
|
- **Framework**: NestJS
|
|
100
93
|
- **Language**: TypeScript
|
|
101
|
-
- **Auth**: Passport + JWT
|
|
94
|
+
- **Auth**: Passport + JWT
|
|
102
95
|
- **Validation**: class-validator
|
|
103
96
|
- **Testing**: Jest
|
|
104
97
|
`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation-prompts.js","sourceRoot":"","sources":["../../../../src/core/ai/prompts/documentation-prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAqB;IACnD,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"documentation-prompts.js","sourceRoot":"","sources":["../../../../src/core/ai/prompts/documentation-prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAqB;IACnD,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC;IAElD,MAAM,QAAQ,GAAG;oCACe,YAAY;;;;;;;;CAQ/C,CAAC;IAEE,OAAO;;;;cAIG,MAAM,CAAC,WAAW;eACjB,MAAM,CAAC,KAAK;sBACL,YAAY;cACpB,IAAI;EAChB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;EAC/D,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;;;EAGhE,QAAQ;;;EAGR,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;iBAOd,YAAY;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAS,eAAe,CAAC,KAAY;IACjC,MAAM,OAAO,GAA0B;QACnC,QAAQ,EAAE;;;;;;CAMjB;QACO,gBAAgB,EAAE;;;;;CAKzB;QACO,gBAAgB,EAAE;;;;;CAKzB;QACO,aAAa,EAAE;;;;;;CAMtB;QACO,QAAQ,EAAE;;;;;;CAMjB;KACI,CAAC;IAEF,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAC9B,KAAY,EACZ,WAAqD;IAErD,OAAO;+CACoC,KAAK;;;;EAIlD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;iBACX,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI;;EAE/B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;;CAEjE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDZ,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACrC,OAAe,EACf,QAAgB,EAChB,QAAgB;IAEhB,OAAO;2CACgC,QAAQ,eAAe,QAAQ;;;QAGlE,QAAQ;EACd,OAAO;;;;;;;SAOA,QAAQ;;;;;CAKhB,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
|