Skip to content

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.

About

(Non)-standard enforcing DX

Topics

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages