Node package manager (NPM) initializes projects and manages front-end packages. Bower manages client-side packages like jQuery. Grunt and Gulp automate workflows. Yo generates application scaffolding. Angular uses MVC architecture with views, models, and controllers. Data binding syncs models and views. Directives extend HTML. Modules contain components and support dependency injection. Routes define application states. Filters format data. Controllers manipulate scope data. Values, services, and factories support dependency injection of reusable code. Testing uses Karma, Jasmine, and generated test skeletons.