Contributing to NgRx DevTool
June 30, 2026 ยท View on GitHub
Thank you for your interest in contributing! This guide will help you get started.
Getting Started
Prerequisites
- Node.js 18.x or 20.x
- npm
- Angular CLI
Development Setup
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/<your-username>/ngrx-devtool.git cd ngrx-devtool - Install dependencies:
npm install
Development Workflow
Running the Demo App
ng serve ngrx-devtool-demo
Building the Library
npm run build
Testing Locally with an Angular App
To test your changes in a real Angular project, use npm link:
# Build the library
npm run build
# Link it globally
cd dist/ngrx-devtool
npm link
# In your Angular project directory
npm link @amadeus-it-group/ngrx-devtool
Then start the DevTool server:
# From the ngrx-devtool directory
node dist/index.js
Note: If you get module resolution errors after linking, add
"preserveSymlinks": truein bothtsconfig.json(compilerOptions) andangular.json(buildoptions) of your Angular project. After runningnpm install, you may need to re-runnpm link @amadeus-it-group/ngrx-devtool.
Running Tests
npm test # Run tests once
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage report
Linting
npm run lint # Check for lint errors
npm run lint:fix # Auto-fix lint errors
Submitting Changes
Branch Naming
Use descriptive branch names:
feat/description- for new featuresfix/description- for bug fixesdocs/description- for documentation changesrefactor/description- for code refactoringtest/description- for adding or updating tests
Commit Messages
This project uses Conventional Commits. Commit messages are validated by commitlint.
Format: type(scope): description
Examples:
feat(core): add selector tracking support
fix(effects): correct lifecycle event ordering
docs(readme): update installation instructions
test(store): add unit tests for meta reducer
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore
Pull Request Process
- Create a feature branch from
master - Make your changes
- Ensure all tests pass:
npm test - Ensure linting passes:
npm run lint - Push your branch and open a pull request against
master - CI will automatically run lint and tests. Both must pass before merging
Code Quality Requirements
- All new code must include unit tests
- Existing tests must continue to pass
- Code must pass linting without errors
- Keep pull requests focused: one feature or fix per PR
Project Structure
| Directory | Description |
|---|---|
projects/ngrx-devtool/ | Core library package |
projects/ngrx-devtool-ui/ | Standalone visualization UI |
projects/ngrx-devtool-demo/ | Example implementation |
docs/ | Docusaurus documentation site |
Reporting Issues
- Use the bug report template for bugs
- Use the feature request template for new ideas
Code of Conduct
This project follows the Contributor Covenant Code of Conduct. Please be respectful and constructive in all interactions.
Questions?
If you have questions about contributing, open an issue and we'll be happy to help.