Skip to content

How to Develop?

Adam Saudagar edited this page Jan 29, 2023 · 8 revisions

To develop features or fixes for fishy you can fork and . In order to test your code locally you can:

Setup Guide

  • 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

Option 2:

Run pip install -r requirements.txt to install dependencies

and then run python fishy/__main__.py --test-server to run the bot

OR

Option 3:

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

What to work on?

  • 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

How to push code?

  • 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

Resources

Apart from studying the code itself, below are some resources you can use to learn about how fishyeso works