How to Develop?
To develop features or fixes for fishy you can fork and . In order to test your code locally you can:
- install pycharms
- clone the repository using
git clone https://github.com/fishyboteso/fishyboteso.git
- open cloned folder in pycharms
- edit run configuration
- select
__main__.py
file - add
--text-server
to path argument
More ways to run
after cloning u can also use these methods to run fishy, if you don't prefer using pycharms
Run pip install -r requirements.txt
to install dependencies
and then run python fishy/__main__.py --test-server
to run the bot
OR
Install it with pip. Other versions of fishy may be uninstalled first. Install the local git repository via pip, in your CLI go to the root of the repository directory and execute:
pip install -e .
Fishy is auto-updating, so this installation will be overwritten when the version does not match. To avoid auto-updating always set the version number to the current version on pypi in fishy/__init__.py, but don't include this change in your commits.
Please use verbose commit messages and explain your PRs as objectively as you can.
Executing a development branch is best done using the test-server aka backend by adding the flag --test-server
:
python -m fishy --test-server
- check out issues, you can pickup anything you find interesting
- if you want to work on custom features, you can create a new issue for it
- for starters, you can checkout
good-first-issue
tags
- Fork repository
- add your fork as a remote in ur local repo (
git remote add myfork <fork-git-url>
) - create a new branch (
git branch <new_branch_name>
) - commit and push the changes to your fork in a branch (
git add -A && git commit -m "Your Message" && git push myfork <new_branch_name>
) - don't forget to make small and easy to review commits with good explanation in the message
- create a pull request here to merge in main
- don't forget to mention the issue you are intending to solve in the pr, and explain what the changes are in details
- you can let any of the devs know on discord to review the pr
- after the review and the requested changes are done, the pr will be merged, and the next fishyeso update will contain your change
- TLDR; fork > pr > review > merge
Apart from studying the code itself, below are some resources you can use to learn about how fishyeso works
- Architecture Diagram, explains how different systems and modules connect to each other to combine into a solution (board)
- Process Sequence Flow, shows which processes/threads starts/ends, and communicate with each other