Terminal/community
2021-06-01 10:50:27 -05:00
..
README.md Initial commit 2021-06-01 10:50:27 -05:00

Community Contributions

If there's a language you'd like to use in Terminal, and we don't support it, you can work with us to add support to our platform! This directory hosts all community-contributed algo languages.

Notice

We maintain support of the starter algos in this directory to the extent that they should compile and run on our servers. Additionally, we review this code to a certain extent. However, since these algos' code was not originally written by Correlation One engineers, and especially since they may be written in a language with which we are not familiar, we cannot completely vouch that this code is entirely correct or free of bugs.

Contribution Guidelines

Step 1: Contact us

Before you open a PR or become too invested in some particular code, we encourage you to reach out to us on the forums. Make a post, or send a message to C1 Phoenix. This will allow us to address initial concerns and constraints, and prevent everyone from redundantly programming multiple starter algos for the same language.

Step 2: Open a PR

Once you have some code written -- whether it's finished, or you'd just like to check in -- you can open a PR which adds your starter algo in a subdirectory of this community directory. For example, in community/haskell-algo. You can help this stage progress smoother and faster by including explanations of noteworthy aspects of your code, such as design decisions, the compilation process, and packages necessary for your algo to run on Ubuntu 18.

Step 3: Respond to our feedback

Before we are ready to merge your algo into the master branch, we will likely have questions or feedback on your PR which we will want to discuss, in order to ensure that the algo functions and integrates smoothly into our platform.

Step 4: Supporting compilation and merging into master

Once your algo is reviewed, stabilized, and usable to all types of Terminal users, we will add support for our servers to compile and/or bundle your language. Eventually, we will merge into the master branch, and announce the new community language on the forums. We may need to continue communication with you through this phase, but it will be mostly an internal process.