UNPKG

modernirc

Version:

IRC library for creating modern IRC bots

101 lines (69 loc) 3.52 kB
# Contribute to the ModernIRC project ## Testing In order to test the project, we recommend you to run a local IRC server. For example, you can go for [Ergo Server](https://github.com/ergochat/ergo/blob/master/distrib/docker/README.md) with Docker. Then you can clone this repository, and run the example. ```shell git clone https://codeberg.org/ChakSoft/modernirc.git cd modernirc/example node example.js ``` The bot will try to connect on localhost:6667, don't hesitate to adjust the settings according to your own. The example bot will log in the console every message it receives, but also enables the `hello` module that reacts to any join, and on mentionning its nickname. > If you create a utility function, please add unit tests in the `tests` folder. ## Environment Setup You must have a functional Node 22+ environment. Nothing more :) ## How to submit changes In order to submit changes, you need to use your account on Codeberg, then fork the repository. Once you've submitted the pull request, we will take a look at the changes you've made within a couple working days. It may take longer if the changes are big or if there are bank holidays. If the PR is refused, we'll try our best to explain why and what must be changed to make it acceptable. If the PR is accepted, we'll integrate it in our workflow to ensure everything is OK and merge it in the main project. Another point, we'll look very closely on PR which adds dependencies. We're quite happy with a no-dependency project, and we want it to stay that way. If the PR is really adding something interesting which cannot be easily solved without a dependency, it may be accepted but no promises... > Finally, please note that any PR made with the help of Generative AI will **ALWAYS** > be refused. If you want to contribute, please respect people that actually knows > how to do code properly and did some learning and research about it. ## How to report a bug To report a bug, please ensure that you're connected with your Codeberg account and go to https://codeberg.org/ChakSoft/modernirc/issues. Create a new ticket and explain what happened and in which environment : - OS on which your example can be reproduced - Node version you're using - Development environment (native, docker, vagrant, vm, etc.) - IRC server you're connecting your example to Then you have to describe with precision what happened. First, describe what you did, and then what is the result you've expected, and finally the result you've received. We'll try our best to answer quickly. Once the ticket is open, we'll change the labels on it to ensure it's routed correctly. Each time a ticket status is changed, we'll try our best to explain why. ## Commits In your commits, please use the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) guidelines, just to ensure the commits are readable and easily understandable. The `npm run commit` script will guide you through the process of creating conventional commits. ```shell # Do your changes # Then add your changes git add . # Then commit, and rock & roll ! npm run commit # Push on your branch and submit your pull request when you're ready ``` ## Style guide / Coding convention The whole project is formatted with ESLint. Before submitting the pull request, please ensure you fix every lint issue. ## Thank You ! Thank you for making open-source better and for contributing ! And remember, **the important thing in creativity is the journey, not the destination.**