{"id":34633036,"url":"https://github.com/vinisalves/nest-combo","last_synced_at":"2026-03-16T06:37:18.879Z","repository":{"id":284625318,"uuid":"955545782","full_name":"vinisalves/nest-combo","owner":"vinisalves","description":"nest-combo is a CLI tool designed to supercharge your NestJS development workflow. Define your entire project structure in a project.yml file, create a new project and open automagically it on vscode, generate modules, controllers, services, and more with a single command.","archived":false,"fork":false,"pushed_at":"2025-04-08T15:45:09.000Z","size":54061,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-21T17:50:49.995Z","etag":null,"topics":["javascript","nestjs","nestjs-cli","nestjs-postgres","nestjs-prisma","nestjs-typeorm","typescript"],"latest_commit_sha":null,"homepage":"https://vinisalves.github.io/nest-combo/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinisalves.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-26T20:07:52.000Z","updated_at":"2025-04-14T14:49:43.000Z","dependencies_parsed_at":"2025-03-26T21:24:09.172Z","dependency_job_id":null,"html_url":"https://github.com/vinisalves/nest-combo","commit_stats":null,"previous_names":["vinisalves/nest-combo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vinisalves/nest-combo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinisalves%2Fnest-combo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinisalves%2Fnest-combo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinisalves%2Fnest-combo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinisalves%2Fnest-combo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinisalves","download_url":"https://codeload.github.com/vinisalves/nest-combo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinisalves%2Fnest-combo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28004049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nestjs","nestjs-cli","nestjs-postgres","nestjs-prisma","nestjs-typeorm","typescript"],"created_at":"2025-12-24T16:54:37.296Z","updated_at":"2025-12-24T16:54:37.383Z","avatar_url":"https://github.com/vinisalves.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NestJS Combo CLI\n\n![npm](https://img.shields.io/npm/v/nest-combo) ![npm](https://img.shields.io/npm/dt/nest-combo) [![CI](https://github.com/vinisalves/nest-combo/actions/workflows/ci.yml/badge.svg)](https://github.com/vinisalves/nest-combo/actions/workflows/ci.yml)\n\nA CLI tool to generate NestJS Projects, modules, controllers, services, and other components in a single line command.\n\n---\n\n## Table of Contents\n\n- [Motivation](#motivation)\n- [How it works](#how-it-works)\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Options](#options)\n- [Examples](#examples)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Motivation\n\nThe motivation is [here](https://medium.com/javascript-in-plain-english/speed-up-your-nestjs-development-workflow-with-nest-combo-cli-e5dcc2da46e6).\n\n---\n\n## How It Works\n\n### How Nest-Combo Works with NestJS CLI\n\nIf you have the **NestJS CLI** installed globally, **nest-combo** will automatically detect and use it to execute commands. This ensures compatibility with your existing global setup.\n\nIf the NestJS CLI is not installed globally, don't worry! **nest-combo** comes bundled with its own local version of the NestJS CLI. It will seamlessly fall back to this cached version to ensure smooth operation without requiring any additional setup from you.\n\n---\n\n## Features\n\n- Load a full project from a YAML file.\n- Create a new project and automatically open VsCode\n- Generate NestJS modules, controllers, services, gateways, middleware, and interceptors with a single-line command.\n- Support for optional flags like `--no-spec` and `--dry-run`.\n- Colorful and user-friendly output using `chalk`.\n- Easy-to-use command-line interface.\n\n---\n\n## Installation\n\nInstall the package globally using npm:\n\n```bash\nnpm install -g nest-combo\n```\n\nVerify the installation by checking the version:\n\n```bash\nnest-combo --version\n```\n\n---\n\n## Usage\n\nRun the CLI tool with the desired module name and options:\n\n```bash\nnest-combo \u003c\u003cproject|module\u003e-name\u003e [options]\n```\n\n### Example Commands\n\n#### Create a project\n\n```bash\nnest-combo my-amazing-project -new # \"VSCode will open by default once it's done. If you don't want it just add -no-vscode\"\n```\n\n#### Create a Module, Controller, Service, Intercepetor, Gateway and Middleware in a Single Line Command\n\n```bash\nnest-combo users -m -c -s -itc -g -mw # if you don't want spcec files, just add -ns or --no-spec\n```\n\n#### Create a Full Project from a YAML File\n\n```bash\nnest-combo -f project.yml\n```\n\n---\n\n## Options\n\n| Flag                  | Description                                                    |\n| --------------------- | -------------------------------------------------------------- |\n| `-m, --module`        | Generate a module                                              |\n| `-c, --controller`    | Generate a controller                                          |\n| `-s, --service`       | Generate a service                                             |\n| `-g, --gateway`       | Generate a gateway                                             |\n| `-mw, --middleware`   | Generate middleware                                            |\n| `-itc, --interceptor` | Generate an interceptor                                        |\n| `-ns, --no-spec`      | Do not generate `.spec.ts` test files                          |\n| `-dr, --dry-run`      | Report actions that would be taken without writing out results |\n| `-f, --file`          | Create a project from a YAML file                              |\n| -l, --library         | Create NestJs Library                                          |\n| -a, --api             | Create Module, Controller and Service in a single shot         |\n\n---\n\n### YAML Example for Loading a Full Project from Scratch\n\n```yaml\n# YML example for loading a full project from scratch\nnest-combo:\n  project-name: my-new-project\n  open-vscode: true # Open VSCode when the process is finished\n  package-manager: npm # npm | yarn | pnpm\n  dependencies:\n    - '@nestjs/config'\n    - '@nestjs/bull'\n    - 'class-transformer'\n    - 'class-validator'\n    - 'nestjs-twilio'\n  modules:\n    - name: core\n      resources:\n        - module\n      modules:\n        - name: user\n          resources:\n            - module\n            - controller\n            - service\n          options:\n            - --no-spec\n          modules:\n            - name: subUsers\n              resources:\n                - module\n                - controller\n                - service\n              options:\n                - --no-spec\n        - name: auth\n          resources:\n            - module\n            - controller\n            - service\n            - interceptor\n    - name: product\n      resources:\n        - module\n        - controller\n        - service\n    - name: payment\n      resources:\n        - module\n        - controller\n        - service\n```\n\n---\n\n## Contributing\n\nWe welcome contributions! Here’s how you can help:\n\n1. **Fork the repository** and clone it locally.\n2. Create a new branch for your feature or bug fix:\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n3. Make your changes and ensure everything works as expected.\n4. Commit your changes with a clear message:\n   ```bash\n   git commit -m \"Add feature: description of your changes\"\n   ```\n5. Push your branch to GitHub:\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n6. Open a pull request on GitHub.\n\n### Development Setup\n\n1. Install dependencies:\n   ```bash\n   npm install\n   ```\n2. Test your changes locally:\n   ```bash\n   npm link\n   nest-combo users -m -c -s\n   ```\n\n---\n\n## License\n\nThis project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.\n\n---\n\n## Acknowledgments\n\n- Built with ❤️ using [NestJS](https://nestjs.com/) and [Chalk](https://github.com/chalk/chalk).\n- Inspired by the need for a faster and more efficient way to scaffold NestJS projects.\n\n---\n\nFeel free to customize this `README.md` further to match your project's specific details or add additional sections (e.g., FAQs, roadmap). Let me know if you need any modifications! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinisalves%2Fnest-combo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinisalves%2Fnest-combo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinisalves%2Fnest-combo/lists"}