KeisukeYamashita / commitlint-rs

🔦 Lint commit messages with conventional commit messages
https://keisukeyamashita.github.io/commitlint-rs
Apache License 2.0
32 stars 8 forks source link

Convert the crate to library #333

Closed Donach closed 2 months ago

Donach commented 3 months ago

Describe the bug

The crate is not usable as library.

Config

The crate should be possible to be used as dependency in new crates that extend the crate with new funcitonality without touching the base code and/or creating forks.

Expected behavior

When using the commitlint-rs, we first wanted to use it as dependency, however all strucs and functions are private. In order to be able to create our own internal tool for validating commit messages, the crate would have to be redesigned to act as a library rather than the final product itself - however it should still be possible to be run with some default parameters to check for commit messages. Since this is not possible at the moment, we had to resort to fork it and create our own version, but this way we lose the ability to easily implement new changes done here.

Additional context

If you would be willing to accept this overhaul and release it as major version upgrade, I would talk to my company and we might even prepare the PR so you would just need to review it and we could work together to bring this into a more refined and generally usable state. Let me know your thoughts on this.

KeisukeYamashita commented 2 months ago

Hello, thank you for your reply and I appreciate your interest in this tool.

This package is intended to function as a CLI tool. We don't plan to make any internal components available to the public. I don't intend to make any internal Rust structures or processes public for use.

Instead, our goal is to provide an API (similar to plugin systems) that is extendable and flexible to accommodate various use cases.

Please let me know if you have any additional suggestions. Thank you!