Contributing to @ng-zen/cli
April 9, 2025 ยท View on GitHub
Thank you for your interest in contributing! This document outlines the essential steps and requirements for submitting contributions.
For detailed information on project setup, the full branching strategy, specific tool usage (Storybook, Verdaccio), and the reasoning behind our workflows, please refer to the DEVELOPMENT.md file.
Key Requirements for Contributors
- Conventional Commits (Mandatory): All commit messages must adhere to the Conventional Commits specification (https://www.conventionalcommits.org/). This is critical for automated releases. Invalid messages will block commits. See Commit Messages for details on commit types and their impact.
- Target Branch: Pull Requests must target the
developbranch. PRs targetingmasterornextdirectly will generally be closed unless specifically requested for hotfixes. - Automated Checks:
- Code formatting and basic lint fixes are applied automatically on commit via
huskyandnano-staged. - Full CI checks (linting, testing, building) run automatically on Pull Requests via GitHub Actions (
ci.yml). Your PR must pass all CI checks to be eligible for merging.
Contribution Steps
- Fork & Clone: Fork the ng-zen repository and clone your fork locally. (See Prerequisites & Setup if needed).
- Sync
develop: Ensure your localdevelopbranch is up-to-date:git switch develop git pull origin develop - Create Branch: Create your working branch from
develop:# Use format: <type>/<short-description> git switch -c feat/add-hover-effect develop - Develop: Implement your code changes. Remember to add or update relevant unit tests (
*.spec.ts) and documentation/Storybook stories (*.stories.ts, etc.) as necessary. (See Working with Storybook section for more details). - Commit: Commit your work using Conventional Commit messages.
git add . git commit -m "feat(button): add configurable hover effect" - Verify Locally: Before pushing, ensure all local checks pass:
(See Running Tests and Linting for details on these commands).pnpm run lint pnpm run test - Push: Push your branch to your fork:
git push origin feat/add-hover-effect - Create Pull Request: Open a Pull Request on GitHub from your branch to the
kstepien3/ng-zen:developbranch. Provide a clear title and description.
After Your PR is Submitted
- Wait for the automated CI checks to complete. Address any failures.
- Respond to code review comments and feedback from maintainers.
- Once approved and CI passes, a maintainer will merge your PR into
develop. Your changes will then be included in future pre-releases (fromnext) and stable releases (frommaster).
Communication
- Use GitHub Issues for bug reports, feature proposals, or questions before starting significant work.
Thank you for contributing to @ng-zen/cli