Skip to content

Development environment setup

Christian Echevarria edited this page Sep 4, 2020 · 4 revisions

Hello prospective carrot! πŸ‘‹

Thanks for considering collaborating with us in making Carrot the best JavaScript library for AI in the world 🌍

To help you get started we've curated a list of guides and steps to follow. Please take some time to read them and feel free to reach out with any questions you might have: [email protected]

1. Opening the terminal

πŸ’‘ Why it's useful

To access open source code, edit code, run it, and do almost anything related to development you'll be using the terminal.

πŸ“Œ More info

Terminals, also known as command lines or consoles, allow us to send simple text commands to our computer to do things like navigate through a directory (folder) or copy a file, and form the basis for more complex automation and programming skills.

Mac

πŸ“œ How to use terminal on mac

Windows

πŸ“œ How do I open terminal in windows?

Ubuntu Linux

πŸ“œ How do I open a terminal?

* πŸŽ“ Learn more *
- πŸŽ₯ Beginner's Guide to the Bash Terminal -> OS: Linux -

2. Generating SSH Keys

πŸ’‘ Why it's useful

SSH Keys are a good way to connect to things through your terminal

πŸ“Œ More info

SSH Keys are like passwords, don't share them!

Mac & Linux

πŸ“œ Generate an SSH key

3. Adding your SSH Keys to GitHub

πŸ’‘ Why it's useful

TBD

πŸ“Œ More info

TBD

πŸ“œ Adding a new SSH key to your GitHub account


πŸ€” Having trouble? Make sure to choose your operating system

Adding SSH keys to Github

4. Installing Git

πŸ’‘ Why it's useful

Git helps you save your code changes and makes sure you can go back to a previous version if things go wrong

πŸ“Œ More info

Git is a version control system. Version control systems are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database. source (adapted)

Ubuntu Linux

πŸ” Use "Installing Git with Default Packages"

πŸ“œ Install Git on Ubuntu 18.04

* πŸŽ“ Learn more *
- ▢️ How-to Git: Interactive Git Tutorials -

5. Configuring Git

πŸ’‘ Why it's useful

TBD

πŸ“Œ More info

TBD

πŸ” Use "Setting your git username for every repository"

πŸ“œ Setting your git username

πŸ“œ Setting your git email

To check that it worked copy this into your terminal

Linux

cat ~/.gitconfig

Windows

get-content TBD

6. Add a custom git configuration

πŸ’‘ Why it's useful

TBD

πŸ“Œ More info

TBD

We'll be editing the .gitconfig file directly to save some typing

  1. Copy this into your terminal

    git config --edit --global

  2. Copy this on a newline immediately after your last [user] setting

    [push]
        default = simple
    [core]
        autocrlf = input
    [alias]
        s = status -s
        lg = log --oneline --decorate --graph
        g = grep --break --heading --line-number
    [pull]
        rebase = true
    

Extra

πŸ“œ Extended config settings

7. Forking & cloning πŸ₯• Carrot from Github

πŸ’‘ Why it's useful

TBD

πŸ“Œ More info

TBD

  1. Read this: πŸ“œ How-to: fork a repo

  2. When cloning use your fork URL: [email protected]:YOUR-USERNAME/carrot.git

8. Setting πŸ₯• Carrot as the upstream git repository

πŸ’‘ Why it's useful

This keeps your local copy of the carrot code synced with the latest changes accepted into the official repository. Without syncing your copy with upstream, changes that you make can conflict with other people's work which means you'll have to manually merge all of their changes and figure out which of yours to keep.

πŸ“Œ More info

If this was successful you should see upstream when you run git remote -v

  1. Go into the new folder carrot using cd carrot/

  2. Set πŸ₯• Carrot as your upstream by copying this into your terminal

    git remote add upstream [email protected]:liquidcarrot/carrot.git

  3. Copy this into your terminal

    git remote -v

  4. Make sure that you see upstream in the list of remotes

9. Installing Node.js + NPM

πŸ’‘ Why it's useful

TBD

πŸ“Œ More info

Node.js is the backend version of JavaScript which is traditionally a language used for web-browser animations and other visual functionality on the "frontend". Today, Node.js is used for just about everything including front-end development itself. NPM is the package manager for Node.js which means you can use it import tools to make your development easier.

Ubuntu Linux

πŸ” Use "Install Node.js from the NodeSource repository"

πŸ“œ How to install nodejs on Ubuntu 18.04

MacOS

πŸ” Click "macOS Installer, which has the apple logo"

πŸ”— Node.js Official Download page

10. Installing Visual Studio Code IDE

πŸ’‘ Why it's useful

TBD

πŸ“Œ More info

An Integrated Development Environment (IDE) is a program that facilitates software development by various software-related tasks to be done in a single application. Most include debugging support, version control, syntax highlighting, code browsing features, and even an integrated terminal to run commands. source (adapted)

Ubuntu Linux

πŸ“œ How to install visual studio code on Ubuntu 18.04

MacOS

πŸ” Click "Mac, which has the apple logo"

πŸ”— VSCode Official Download page

* πŸŽ“ Learn more *
- πŸŽ₯ Quick intro to VSCode IDE -> OS: Linux -

Clone this wiki locally