--- type: doc name: development-workflow description: Day-to-day engineering processes, branching, and contribution guidelines category: workflow generated: 2026-04-29 status: active scaffoldVersion: "2.0.0" --- # Development Workflow ## Day-to-Day Process This Angular repository requires developers to implement features within their respective feature modules (e.g., `Sales`, `Partners`, `CRM`). Developers should ensure that all new services, components, and state management changes are properly typed using the `src/app/models` directory. ## Branching & Releases We follow a standard Git workflow: - `main` / `master`: The stable production branch. - `develop`: The primary integration branch. - Feature branches: Created from `develop` using a standard naming convention like `feat/feature-name` or `bugfix/issue-description`. Commits should follow Conventional Commits (e.g., `feat(sales): add discount module`). ## Local Development - Install dependencies: `npm install` - Run local development server: `npm start` or `npm run dev` (uses Angular CLI `ng serve`) - Run tests: `npm test` - Build for production: `npm run build` ## Code Review Expectations - Ensure Angular best practices are followed (e.g., Unsubscribing from Observables, using `OnPush` change detection where applicable). - Avoid mutating state directly in components; use the Store actions. - Keep components small and focused, extracting complex business logic into Services. - All new features should include proper TypeScript models. ## Onboarding Tasks New developers should begin by reading the `Project Overview` and familiarizing themselves with the `Sales` module, as it is the core of the application. ## Cross-References - [Testing Strategy](./testing-strategy.md) - [Tooling](./tooling.md)