Metadata-Version: 2.5
Name: libspec-conventional-commits
Version: 0.1.0
Summary: Executable libspec specification for Conventional Commits v1.0.0
Author-email: "Derek A. Rhodes" <physci@gmail.com>
License-Expression: GPL-3.0-or-later
Keywords: conventional-commits,git,libspec,semver,specification
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: libspec>=10.5.2
Description-Content-Type: text/markdown

# libspec-conventional-commits

Executable [libspec](https://github.com/libspec/libspec) specification for the [Conventional Commits v1.0.0](https://www.conventionalcommits.org/) specification.

Inherit `Commit` (or `ConvCommit`) into any `libspec.Feature` subclass to endow your features with Conventional Commits specifications, schemas, definitions, and rules.

---

## Installation

```bash
uv add libspec-conventional-commits
```

or

```bash
pip install libspec-conventional-commits
```

---

## Usage

```python
from libspec import Feature
from libspec.conventional_commits import Commit

class MyBaseFeature(Feature, Commit):
    pass

class MyAwesomeFeature(MyBaseFeature):
    pass
```

You can also combine it with other generic specs like `libspec-diataxis`:

```python
from libspec import Feature
from libspec.diataxis import Diataxis
from libspec.conventional_commits import Commit

class MyBaseFeature(Feature, Diataxis, Commit):
    pass

class MyAwesomeFeature(MyBaseFeature):
    def tutorial(self):    return "..."
    def how_to(self):      return "..."
    def reference(self):   return "..."
    def explanation(self): return "..."
```

---

## License

GPL-3.0-or-later
