A CLI tool to generate customized Angular 21 projects with all modern tools and best practices.
npm install -g @dominicode/ng-createnpx @dominicode/ng-create- Node.js: >= 20.0.0
- npm: >= 9.0.0 (or yarn/pnpm)
- ✅ Angular 21 project generation (SPA or SSR)
- ✅ Tailwind CSS configuration
- ✅ Test runners: Vitest or Jest
- ✅ Angular Testing Library integration
- ✅ ESLint configuration
- ✅ Husky + lint-staged for Git hooks
- ✅ AI editor configuration (Cursor/VSCode)
Run the CLI and answer the interactive questions:
create-dominicode-ngThe CLI will ask you:
- Project name
- Project type (SPA/SSR)
- Style preprocessor (CSS/SCSS)
- Whether to include Tailwind CSS
- Test runner (Vitest/Jest/None)
- Whether to include Angular Testing Library
- Whether to include ESLint
- Whether to include Husky
- Whether to include AI editor configuration
$ create-dominicode-ng
? Project name: my-awesome-app
? Project type: SPA
? Style preprocessor: SCSS
? Include Tailwind CSS? Yes
? Test runner: Vitest
? Include Angular Testing Library? Yes
? Include ESLint? Yes
? Include Husky? Yes
? Include AI editor configuration? Yes
Creating Angular project...
✓ Project created successfully!ng-create-cli/
├── bin/
│ └── index.js # CLI entry point
├── src/
│ ├── cli.ts # Main logic and prompts
│ ├── types.ts # TypeScript types
│ ├── steps/ # Configuration steps
│ │ ├── create-angular-app.ts
│ │ ├── add-tailwind.ts
│ │ ├── add-vitest.ts
│ │ ├── add-jest.ts
│ │ ├── add-testing-library.ts
│ │ ├── add-eslint.ts
│ │ ├── add-husky.ts
│ │ └── add-ai-editor-config.ts
│ └── utils/ # Utilities
│ ├── run-command.ts
│ ├── modify-json.ts
│ └── package-manager.ts
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── README.md
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode
npm start
# Or create a local link
npm link
create-dominicode-ngnpm run build- Compile TypeScript to JavaScriptnpm run dev- Compile in watch modenpm run test- Run tests with Vitestnpm start- Execute the compiled CLInpm run prepublishOnly- Build before publishing
Run tests with:
npm testContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Write tests for new features
- Follow conventional commits format
- Ensure all tests pass before submitting
Issue: Command not found after installation
- Solution: Make sure npm global bin directory is in your PATH
Issue: Permission errors on macOS/Linux
- Solution: Use
sudo npm install -g @dominicode/ng-createor configure npm to use a different directory
Issue: Angular CLI version conflicts
- Solution: Ensure you have the latest Angular CLI installed globally or use npx
MIT License - see the LICENSE file for details.
Dominicode
- GitHub: @dominicode
- Angular team for the amazing framework
- All contributors and users of this tool