terminal

Code for C1Games Terminal

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
# 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](https://forum.c1games.com/). 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.