galactic-bot/README.md
2024-10-02 08:25:49 +02:00

2.0 KiB

Galactic Bot

Welcome to the Galactic Bot repository.
I've decided to open this up as I struggle to find motivation and time to work on this, so contributions welcome.

I do require that any contributions conform to the linter rules present and code should strive to be legible and follow generally good programming practises. Pull requests must explain what they change/add and why.

Discussion and questions are to be had in the discord server.

I will hopefully expand on this file and add others to help document this project, as it stands there is very little internal documentation.
Internal/technical documentation will be in the source files adjacent to the code.

Getting started

Requirements

  • Node.js (unsure what the lowest supported version is, but I work with v22.2.0)
  • MongoDB (7.0.6 as of writing this)
  • MariaDB (TBD)
  • RabbitMQ (maybe, TBD)

A Docker compose file is available for convenience for setting up databases for development or personal deployment.

Running

  • Install the dependencies: yarn install
  • Run the bot: yarn start

If you run into an error about yarn missing, run corepack enable.

Developing

The workflow for this is not particularly formal as this has been mostly a solo project as of recent.

  • Make a new branch and name it after the feature/contribution
  • Make sure the code you write complies with the linter rules
  • Make sure your code runs and works as intended.
  • Write descriptive commits. If you're changing/adding a lot of different things, combine them theme/feature wise into separate commits.
  • Open a new pull request to the development branch with a description of the changes.

The deployment flow is as follows: New feature branch -> development (local bots) -> alpha (QA) -> beta (GalacticTest) -> main (GalacticBot)

TODO

  • Unit tests
  • Proper workflows with gitea actions.
    • Linter
    • Build test
    • Unit tests

Contributors

Nolan - https://github.com/noolaan
Major framework contributions to V3 development.