{"id":26086337,"url":"https://github.com/felipebarcelospro/igniter-cli","last_synced_at":"2025-04-12T02:50:43.455Z","repository":{"id":279688669,"uuid":"939640791","full_name":"felipebarcelospro/igniter-cli","owner":"felipebarcelospro","description":"Code generation CLI for Igniter.js projects - the essential tool to boost productivity with Igniter Framework","archived":false,"fork":false,"pushed_at":"2025-04-03T17:13:50.000Z","size":154,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T00:03:55.013Z","etag":null,"topics":["boilerplate","cli","code-generation","feature-first","generator","igniter","igniter-js","next-js","scaffolding","typescript"],"latest_commit_sha":null,"homepage":"","language":"Handlebars","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/felipebarcelospro.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"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}},"created_at":"2025-02-26T21:37:03.000Z","updated_at":"2025-04-03T17:13:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"15a235cf-82e4-46b0-90d9-445546588cf0","html_url":"https://github.com/felipebarcelospro/igniter-cli","commit_stats":null,"previous_names":["felipebarcelospro/igniter-cli"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipebarcelospro%2Figniter-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipebarcelospro%2Figniter-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipebarcelospro%2Figniter-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipebarcelospro%2Figniter-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felipebarcelospro","download_url":"https://codeload.github.com/felipebarcelospro/igniter-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248497821,"owners_count":21113984,"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","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":["boilerplate","cli","code-generation","feature-first","generator","igniter","igniter-js","next-js","scaffolding","typescript"],"created_at":"2025-03-09T06:50:52.026Z","updated_at":"2025-04-12T02:50:43.448Z","avatar_url":"https://github.com/felipebarcelospro.png","language":"Handlebars","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Igniter CLI\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/v/@igniter-js/cli\" alt=\"NPM Version\" /\u003e\n  \u003cimg src=\"https://img.shields.io/npm/dm/@igniter-js/cli\" alt=\"NPM Downloads\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/felipebarcelospro/igniter-js\" alt=\"License\" /\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\nCode generation CLI for Igniter.js projects - the essential tool to boost productivity with [Igniter Framework](https://github.com/felipebarcelospro/igniter-js).\n\n## Why Igniter CLI?\n\n* **Feature-First Architecture**: Generate complete features with best practices and proper structure\n* **Type Safety**: All generated code is fully typed with TypeScript\n* **Best Practices**: Follows modern development patterns and industry standards\n* **Framework Integration**: Seamlessly integrates with Next.js and the Igniter Framework\n* **Developer Experience**: Intuitive commands and helpful error messages\n* **Productivity Boost**: Automates repetitive tasks and enforces consistency\n* **Cross-Platform**: Works seamlessly on Windows, macOS, and Linux\n\n## 📦 Installation\n\n```bash\n# Global installation (recommended)\nnpm install -g @igniter-js/cli\n\n# Or using npx for one-time execution\nnpx @igniter-js/cli\n```\n\n## 🚀 Quick Start\n\n```bash\n# Initialize a new project with Igniter Framework in the current directory\nigniter init\n\n# Initialize a new project in a specific directory\nigniter init -d my-igniter-app\n\n# Generate a new feature\nigniter generate feature -n users\n\n# Generate features from Prisma models\nigniter generate feature\n```\n\n## 🛠️ Available Commands\n\n### `init`\n\nInitializes a new Next.js project with the complete Igniter Framework structure:\n\n```bash\n# Initialize in the current directory\nigniter init\n\n# Initialize in a specific directory (creates the directory if it doesn't exist)\nigniter init -d my-igniter-app\n```\n\nOptions:\n- `-d, --dir \u003cdirectory\u003e`: Directory to initialize the project in\n\nThis command:\n- Creates a Next.js application with TypeScript, Tailwind, and ESLint\n- Sets up the recommended folder structure for Igniter Framework\n- Initializes Prisma ORM\n- Configures testing environment with Vitest\n- Installs and configures Shadcn/UI\n- Creates necessary Igniter Framework files\n- Sets up Docker for development\n\n### `analyze`\n\nAnalyzes the current project:\n\n```bash\nigniter analyze\n```\n\nThis command checks your project's structure and configuration, providing insights and optimization suggestions.\n\n### `generate feature` (alias: `g`)\n\nGenerates a complete feature:\n\n```bash\n# Generate a specific feature\nigniter generate feature -n users\n\n# Generate a feature with specific fields\nigniter generate feature -n products -f name:string price:number\n\n# Generate multiple features from Prisma models\nigniter generate feature\n```\n\nThis command:\n- Creates the feature folder structure\n- Generates base files (controller, procedures, interfaces)\n- Configures the feature based on Prisma model if available\n\n## 🏗️ Generated Project Structure\n\n```\nsrc/\n├── app/                                  # Application routes\n    ├── configs/                          # Global configurations\n    ├── core/\n    │   ├── design-system/                # Shadcn/UI components\n    │   ├── utils/                        # Utility functions\n    │   ├── providers/                    # Contexts and providers\n    │   ├── factories/                    # Base classes\n  ├── igniter.ts                          # Core initialization\n  ├── igniter.client.ts                   # Client implementation\n  ├── igniter.context.ts                  # Context management\n  ├── igniter.router.ts                   # Router configuration\n  ├── features/                           # Application features\n  │   └── [feature]/\n  │       ├── presentation/               # Feature presentation layer\n  │       │   ├── components/             # Feature-specific components\n  │       │   ├── hooks/                  # Custom hooks\n  │       │   ├── contexts/               # Feature contexts\n  │       │   └── utils/                  # Utility functions\n  │       ├── controllers/                # Feature controllers\n  │       │   └── [feature].controller.ts\n  │       ├── procedures/                 # Feature procedures/middleware\n  │       │   └── [feature].procedure.ts\n  │       ├── [feature].interfaces.ts     # Type definitions\n  │       └── index.ts                    # Feature exports\n```\n\n## 🔄 Platform Compatibility\n\nIgniter CLI is designed to work seamlessly across different platforms:\n\n- **Windows**: Full compatibility with Windows command prompt and PowerShell\n- **macOS/Linux**: Native support for Unix-based terminals\n- **Path handling**: Automatic path normalization across different operating systems\n- **Terminal output**: Adaptive terminal styling based on platform capabilities\n\nThe CLI automatically detects your operating system and adjusts its behavior accordingly to ensure a consistent experience.\n\n## 🔧 Advanced Configuration\n\nThe Igniter CLI can be configured through environment variables:\n\n```bash\n# Example of advanced configuration\nIGNITER_TEMPLATE_DIR=/path/to/templates igniter generate feature -n custom\n```\n\n## 📚 Complete Documentation\n\nFor complete Igniter Framework documentation, visit our [official documentation](https://github.com/felipebarcelospro/igniter-js).\n\n## 🤝 Contributing\n\nContributions are welcome! Please read our [contribution guide](CONTRIBUTING.md) to learn how to participate.\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipebarcelospro%2Figniter-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelipebarcelospro%2Figniter-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipebarcelospro%2Figniter-cli/lists"}