Commitlint config for conventional system extensions for scopes and more
commitlint configuration for system and apps with defined scopes, commit types and more. By defining standard components of a system or app and using them as scopes, plus adding a few related to commit types, we ensure consistency across our projects.
These are scopes that should be common in most systems, we call these components:
- auth: Authentication, login, OAuth, etc.
- forms: General user input, forms, etc.
- navigation: Navigation, history and routing.
- networking": Network-related code, connectivity checks, offline persistence, etc.
- notifications: Notification code, in-app notifications, push notifications, etc.
- profile: User profile, friends, followers, etc.
- settings: Settings and preferences.
- system: A general catch-all, for changes that impact many areas of the system.
We define 4 scopes you can use if you're interested in highlighted which platform is affected by the changes:
- core: Shared code.
- native: Mobile platforms.
- desktop: Desktop platforms.
- web: Web platforms.
And finally, we define general scopes that refer to the nature of the change:
- build
- deps
- packaging
- release
But more importantly, we allow you to customize these.
system
refers to the above. You can include your packages in the packages
section, and you can customize your components
, along with descriptions.
Create a .commitlint-patterns.json
at the root of your respository.
See examples/commitlint-pattern.json
.
Extend your config with this one. In commitlint.config.js
:
module.exports = {
extends: ['config-conventional-system']
}
- commitlint
- Ramda
Here's a brief intro about what a developer must do in order to start developing the project further:
git clone https://github.com/blackxored/commitlint-config-conventional-system
cd commitlint-config-conventional-system
yarn
And state what happens step-by-step. If there is any virtual environment, local server or database feeder needed, explain here.
We use SemVer for versioning. In addition, it's automatic via semantic-release, and our commit convention.
For the versions available, see the Releases on this repository.
Here you should write what are all of the configurations a user can enter when using the project.
yarn test
We base our code style on AirBnB's style guide and we check with ESLint and automatically format our code with Prettier.
This project is licensed under the MIT License - see the license file for details.
If you're interested in contributing to this project in any form, please read our Contribution Guidelines.
We've adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
Thanks goes to these people (emoji key):
Adrian Perez 💻 📖 🚇 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!