{"id":32557146,"url":"https://github.com/proangular/pro-ject","last_synced_at":"2025-12-30T07:33:33.316Z","repository":{"id":320801036,"uuid":"1082873113","full_name":"ProAngular/pro-ject","owner":"ProAngular","description":"Generate a Google Angular 20+ project with best-practice defaults in less than a minute! A lightweight Node CLI that guides `ng new` and scaffolds an Angular 20+ workspace with opinionated structure and best-practice defaults.","archived":false,"fork":false,"pushed_at":"2025-10-25T23:47:10.000Z","size":206,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-26T01:10:22.043Z","etag":null,"topics":["angular","angular-cli","angular-material","angular2","formatting","linting","project","project-generator","project-management-tool","project-template","step-by-step","wizard"],"latest_commit_sha":null,"homepage":"https://www.proangular.com","language":"TypeScript","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/ProAngular.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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},"funding":{"github":["CodyTolene"]}},"created_at":"2025-10-24T22:53:28.000Z","updated_at":"2025-10-25T23:51:50.000Z","dependencies_parsed_at":"2025-10-26T01:10:27.304Z","dependency_job_id":"1ed4e066-1497-4cb8-bfea-770daa1f4311","html_url":"https://github.com/ProAngular/pro-ject","commit_stats":null,"previous_names":["proangular/pro-ject"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ProAngular/pro-ject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProAngular%2Fpro-ject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProAngular%2Fpro-ject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProAngular%2Fpro-ject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProAngular%2Fpro-ject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProAngular","download_url":"https://codeload.github.com/ProAngular/pro-ject/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProAngular%2Fpro-ject/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281527379,"owners_count":26516845,"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-10-28T02:00:06.022Z","response_time":60,"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":["angular","angular-cli","angular-material","angular2","formatting","linting","project","project-generator","project-management-tool","project-template","step-by-step","wizard"],"created_at":"2025-10-28T23:00:36.958Z","updated_at":"2025-12-30T07:33:33.306Z","avatar_url":"https://github.com/ProAngular.png","language":"TypeScript","funding_links":["https://github.com/sponsors/CodyTolene","https://www.buymeacoffee.com/codytolene"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.ProAngular.com\" target=\"_blank\"\u003e\n    \u003cimg \n      alt=\"pro-ject Logo\"\n      height=\"200\"\n      src=\"https://raw.githubusercontent.com/ProAngular/pro-ject/refs/heads/main/.github/images/logo.png\" \n      width=\"200\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ch1 align=\"center\"\u003e\n    @proangular/pro-ject\n  \u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.ProAngular.com\" target=\"_blank\"\u003e\n      ProAngular\n    \u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n    \u003ca href=\"https://github.com/ProAngular/pro-ject\" target=\"_blank\"\u003e\n      GitHub Repo\n    \u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n    \u003ca href=\"https://www.npmjs.com/@proangular/pro-ject\" target=\"_blank\"\u003e\n      NPM Package\n    \u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    Generate a Google Angular 20-21+ project with best-practice defaults in less than a minute!\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    A lightweight Node CLI that guides `ng new` and scaffolds an Angular 20-21+ \n    workspace with opinionated structure and best-practice defaults.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/@proangular/pro-ject\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://badge.fury.io/js/@proangular%2Fpro-ject.svg\" \u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://bundlephobia.com/result?p=ProAngular/pro-ject\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/bundlephobia/minzip/@proangular/pro-ject.svg\" \u003e\n  \u003c/a\u003e\n  \u003ca href=\"/LICENSE\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/l/express.svg?maxAge=2592000\" \u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!--\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ProAngular/pro-ject/actions/workflows/on-merge-main-deploy-gpr.yml\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://github.com/ProAngular/pro-ject/actions/workflows/on-merge-main-deploy-gpr.yml/badge.svg\" \u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ProAngular/pro-ject/actions/workflows/on-merge-main-deploy-npmjs.yml\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://github.com/ProAngular/pro-ject/actions/workflows/on-merge-main-deploy-npmjs.yml/badge.svg\" \u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n--\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ccode\u003enpx -y @proangular/pro-ject@latest\u003c/code\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg \n    src=\"https://raw.githubusercontent.com/ProAngular/pro-ject/refs/heads/main/.github/images/screenshots/screenshot.png\"\n  /\u003e\n\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n## 📇 Index \u003ca name=\"index\"\u003e\u003c/a\u003e\n\n- [📄 Description](#description)\n- [🚀 Quick Start](#quick-start)\n- [🏷️ Install Specific Version](#specific-versioning)\n- [🔨 Development \u0026 Contribution](#development--contribution)\n  - [📋 Prerequisites](#prerequisites)\n  - [🧪 Update and Test](#update-and-test)\n  - [📁 Project Layout](#project-layout)\n- [⚖️ Licensing](#licensing)\n- [🏁 Wrapping Up](#wrapping-up)\n\n## 📄 Description \u003ca name=\"description\"\u003e\u003c/a\u003e\n\nKickstart your next Angular project in seconds, not hours.\n\n**@proangular/pro-ject** is a friendly, interactive Node CLI that streamlines\n`ng new` and gives your Angular 20-21+ workspace a modern, best-practices\nfoundation. With just one command, you'll get guided prompts for naming,\nstructure, and sensible defaults. No more guessing what's standard or spending\ntime configuring tools. After setup, opt into extras like runtime type\nchecking, date handling, UI libraries, code formatting, and more, all ready\nwith minimal fuss.\n\n**Why you'll love it:**\n\n- Clean, opinionated project scaffolding\n- Minimal, clear prompts to get started fast\n- TypeScript-first, Angular 20-21+ ready\n- Optional integration of Material, CDK, Prettier, ESLint, Husky, and more\n- Pick add-ons for forms, tables, snippets, and project structure—just toggle\n  on what you need\n- Fully validates your project name and setup\n- Ensures a working development server out of the box\n- Professional defaults that save you time, but still let you extend and\n  customize\n\nPerfect for new apps, rapid prototypes, or just skipping the boring setup\nsteps—leaving you to focus on real features.\n\n\u003cp align=\"right\"\u003e[ \u003ca href=\"#index\"\u003e🔍 Index\u003c/a\u003e ]\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n## 🚀 Quick Start \u003ca name=\"quick-start\"\u003e\u003c/a\u003e\n\nFirst, install [Node.js][node-js] v20+. Then, run the following command:\n\n```bash\nnpx -y @proangular/pro-ject@latest\n```\n\nor\n\n```bash\nnpm exec -y @proangular/pro-ject@latest\n```\n\n\u003e ![Info][img-info] You can replace `@latest` with a specific version number if desired.\n\nFollow the prompts to scaffold your new Angular project with best-practice defaults. Once complete, **navigate to your new project directory** and start the development server:\n\n```bash\nnpm run start\n```\n\nThen open your browser to `http://localhost:4200` to see your new Angular application in action!\n\n\u003cp align=\"right\"\u003e[ \u003ca href=\"#index\"\u003e🔍 Index\u003c/a\u003e ]\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n## 🏷️ Install Specific Version \u003ca name=\"specific-versioning\"\u003e\u003c/a\u003e\n\nIf you want to run a specific release of `@proangular/pro-ject`, replace `@latest` with the version you want.\n\n| Angular Version | Command                           |\n| :-------------- | :-------------------------------- |\n| 20              | `npx -y @proangular/pro-ject@^20` |\n| 21              | `npx -y @proangular/pro-ject@^21` |\n\n\u003cp align=\"right\"\u003e[ \u003ca href=\"#index\"\u003e🔍 Index\u003c/a\u003e ]\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n## 🔨 Development \u0026 Contribution \u003ca name=\"development--contribution\"\u003e\u003c/a\u003e\n\n### 📋 Prerequisites \u003ca name=\"prerequisites\"\u003e\u003c/a\u003e\n\n1. Install [Node.js][node-js].\n\n1. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n\u003cp align=\"right\"\u003e[ \u003ca href=\"#index\"\u003e🔍 Index\u003c/a\u003e ]\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n### 🧪 Update and Test \u003ca name=\"update-and-test\"\u003e\u003c/a\u003e\n\n1. Update source code in `src`.\n\n2. Run `npm run build` to compile the TypeScript files in `src` to `dist`.\n\n3. Run `node dist/index.js` to execute the compiled code.\n\n4. Add your changes to git and create a pull request.\n\n\u003cp align=\"right\"\u003e[ \u003ca href=\"#index\"\u003e🔍 Index\u003c/a\u003e ]\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n### 📁 Project Layout \u003ca name=\"project-layout\"\u003e\u003c/a\u003e\n\n    .\n    ├─ .github/                      # GitHub workflows, actions, and related automation files.\n    ├─ .scripts/                     # Scripts run by node for various automation tasks.\n    ├─ .vscode/                      # VS Code workspace settings for the project.\n    ├─ dist/                         # Non-committed, compiled project files from source code in `src/`.\n    ├─ node_modules/                 # Non-committed, installed dependencies needed to run \u0026 develop the project.\n    ├─ src/                          # Source code of the project.\n    │  ├─ constants/                 # Project constants such as version mappings.\n    │  ├─ steps/                     # The wizard steps for project generation.\n    │  ├─ templates/                 # File templates used during project scaffolding.\n    │  ├─ utils/                     # Utility functions and types.\n    │  └─ index.ts                   # The main entry point of the project.\n    ├─ .gitignore                    # Specifies files and directories to be ignored by Git.\n    ├─ .prettierignore               # Specifies files and directories to be ignored by Prettier.\n    ├─ LICENSE                       # The MIT license for this project.\n    ├─ package-lock.json             # Auto-generated file that locks the versions of dependencies.\n    ├─ package.json                  # Project metadata and dependencies.\n    ├─ README.md                     # This file.\n    └─ tsconfig.json                 # TypeScript configuration file.\n\n\u003cp align=\"right\"\u003e[ \u003ca href=\"#index\"\u003e🔍 Index\u003c/a\u003e ]\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n## ⚖️ Licensing \u003ca name=\"licensing\"\u003e\u003c/a\u003e\n\nThis project is licensed under the **MIT** License. See the\n[LICENSE](LICENSE.md) file for the pertaining license text.\n\n`SPDX-License-Identifier: MIT`\n\n\u003cp align=\"right\"\u003e[ \u003ca href=\"#index\"\u003e🔍 Index\u003c/a\u003e ]\u003c/p\u003e\n\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\u003c!----------------------------------------------------------------------------\u003e\n\n## 🏁 Wrapping Up \u003ca name=\"wrapping-up\"\u003e\u003c/a\u003e\n\nThank you to the entire Angular team and community for such a great framework to\nbuild upon. If you have any questions, please let me know by opening an issue\n[here][new-issue].\n\n| Type                                                                                                                                            | Info                                                           |\n| :---------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- |\n| \u003cimg width=\"48\" src=\"https://raw.githubusercontent.com/ProAngular/pro-ject/refs/heads/main/.github/images/ng-icons/email.svg\" /\u003e                | webmaster@codytolene.com                                       |\n| \u003cimg width=\"48\" src=\"https://raw.githubusercontent.com/ProAngular/pro-ject/refs/heads/main/.github/images/simple-icons/github.svg\" /\u003e           | https://github.com/sponsors/CodyTolene                         |\n| \u003cimg width=\"48\" src=\"https://raw.githubusercontent.com/ProAngular/pro-ject/refs/heads/main/.github/images/simple-icons/buymeacoffee.svg\" /\u003e     | https://www.buymeacoffee.com/codytolene                        |\n| \u003cimg width=\"48\" src=\"https://raw.githubusercontent.com/ProAngular/pro-ject/refs/heads/main/.github/images/simple-icons/bitcoin-btc-logo.svg\" /\u003e | bc1qfx3lvspkj0q077u3gnrnxqkqwyvcku2nml86wmudy7yf2u8edmqq0a5vnt |\n\nFin. Happy programming friend!\n\nCody Tolene\n\n\u003c!-- LINKS --\u003e\n\n[img-info]: https://raw.githubusercontent.com/ProAngular/pro-ject/refs/heads/main/.github/images/ng-icons/info.svg\n[new-issue]: https://github.com/ProAngular/pro-ject/issues\n[node-js]: https://nodejs.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproangular%2Fpro-ject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproangular%2Fpro-ject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproangular%2Fpro-ject/lists"}