Contributing to the FB project

OK.

I have been sniffing around and cannot find what I am looking for. Probably a bad search on my part.

I am looking for some documentation about the code stacks used and how to contribute to them.

So far I have heard about the OSS, firmware, FB code base and sequences but not seen anything that shows them lined up and where each piece of the puzzle is stored. I am a noob in this area and I did struggle with Github to navigate.

Is there a diagram that shows the tech stack and then describes how someone can make code changes / suggestions to the code base?

I am new in this language, but I have re-written the ‘Water-all’ sequences, making it module and more robust, including API call retires over a 3-minute period in case the wifi glitches and causes an API failure.

My changes to this area are two fold.

  1. i created a structured approach to the sequences (that seems to work) Coding styles within FB eco system and
  2. Resilient code that helps protect against network glitches
    Improved watering sequence

I am not the worlds best programmer but it does work (as far as I can tell). Same for the structured approach.

How do I contribute to the code base and who is the arbiter? How does that work on this code as an open-source project? Someone must decide

The entry point to learning about and potentially contributing to FarmBot’s software is our developer documentation hub. There you’ll find some high level information and some diagrams about the full stack (web app API, message broker, FarmBot OS, and the Arduino firmware) and details about how one might interact with these systems.

For more detailed information and actually running/developing software on your local machine, you’ll want to look at the individual repositories on the FarmBot GitHub.

FarmBot Inc is the maintainer of all of the code repositories in our GitHub account, which are the required ones for FarmBot to work. Contributions are much appreciated, but should follow typical software industry workflows and standards. There is loads of information online about how to use GitHub and how one can open a pull request, etc.