(Non)-standard enforcing DX
A toolkit for enforcing your own conventions, configured from a single
atypical.toml.
atypical-commit— commit message linting, as thecommit-lintbinary and a parser library.atypical-config— discovery and loading ofatypical.toml; each tool owns its own section.
Unconfigured, commit-lint enforces nothing: without an
atypical.toml (or without a [commit] section in it), every
message passes. Declaring [commit] opts into the header shape,
and every field left unset is unrestricted: any keyword, any
modifiers on either side of free-form (...)/[...] enclosures,
any single-symbol separator. Presets tighten it.
Ready-made [commit] sections live in presets/:
Copy one next to your project (or vendor this repository) and point
the top-level extends key of atypical.toml at it; anything you
set locally overrides the preset key by key:
extends = "conventional.toml"
[commit]
keywords = ["feat", "fix", "docs"]extends also takes an array of paths, applied one by one in order,
with the extending file last.
See CONTRIBUTING.md for the development setup and workflow. This project follows the Contributor Covenant code of conduct.
This project is licensed under either of:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.