Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 2.35 KB

File metadata and controls

65 lines (46 loc) · 2.35 KB

Atypical

(Non)-standard enforcing DX

CI codecov crates.io docs.rs

A toolkit for enforcing your own conventions, configured from a single atypical.toml.

Crates

  • atypical-commit — commit message linting, as the commit-lint binary and a parser library.
  • atypical-config — discovery and loading of atypical.toml; each tool owns its own section.

Presets

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.

Contributing

See CONTRIBUTING.md for the development setup and workflow. This project follows the Contributor Covenant code of conduct.

License

This project is licensed under either of:

at your option.