Files
2026-02-08 11:20:43 -10:00

41 lines
1.7 KiB
Markdown
Vendored

# How to contribute
Contributions are welcome!
* Please file bug reports and feature requests to https://github.com/metosin/malli/issues
* For small changes, such as bug fixes or documentation changes, feel free to send a pull request
* If you want to make a big change or implement a big new feature, please open an issue to discuss it first
If you have questions about contributing or about malli in general, join the [#malli](https://clojurians.slack.com/messages/malli/) channel in [Clojurians Slack](http://clojurians.net/).
## Environment setup
1. Clone this git repository
2. Have [Clojure installed](https://clojure.org/guides/getting_started)
## Performance
* Code should be performant for the selected code paths. These include: `m/-validator`, `m/-explainer` and `-transformer`
* See `perf/malli` for existing perf tests
## Making changes
* Fork the repository on Github
* Create a topic branch from where you want to base your work (usually the master branch)
* Check the formatting rules from existing code (no trailing whitespace, mostly default indentation)
* Ensure any new code is well-tested, and if possible, any issue fixed is covered by one or more new tests
* Verify that all tests pass using `./bin/kaocha` and `./bin/node`
* Push your code to your fork of the repository
* Make a Pull Request
## Commit messages
1. Separate subject from body with a blank line
2. Limit the subject line to 50 characters
3. Capitalize the subject line
4. Do not end the subject line with a period
5. Use the imperative mood in the subject line
- "Add x", "Fix y", "Support z", "Remove x"
6. Wrap the body at 72 characters
7. Use the body to explain what and why vs. how