LogoArc Docs

Installation

npm install still running… please hold.

Windows users: Install WSL first

If you're on Windows, you'll need to install Windows Subsystem for Linux (WSL) before proceeding. See the WSL installation section below.

Windows Subsystem for Linux (WSL)

MacOS users can skip this section

MacOS is UNIX-based, so you can jump straight to installing package managers.

Install Windows Subsystem for Linux (WSL).

Enable essential Windows features to enable WSL.

Win+R to open Run dialog, then:

Run
optionalfeatures # opens 'Windows Features' Dialog

Turn on the following features if not already enabled.

Image

Restart your machine for these changes to take effect.

After restart, launch 'Microsoft Store', and search 'Linux'.

Image

Choose a distro to install. We recommend Ubuntu (non-LTS).

Create your UNIX account.

Keep your password short and simple for now. You'll need to type it often to install packages.

Don't forget your UNIX username & password

You'll be locked out and will have to re-install WSL.

Enter new UNIX username: user
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)


Documentation:  https://help.ubuntu.com/
Management:     https://landscape.canonical.com/
Support:        https://ubuntu.com/pro

System information as of Tue Dec 17 15:29:19 EST 2024

System load:  0.16                Processes:             49
Usage of /:   0.1% of 1006.85GB   Users logged in:       0
Memory usage: 5%                  IPv4 address for eth0: 172.19.92.39
Swap usage:   0%


This message is shown once a day. To disable it please create the
/home/user/.hushlogin file.
user@MSI:~$

Ctrl+ , to open settings, and set the default profile to Ubuntu.

Image

Close the terminal and re-open it with: Win+X, I

You should see: Image

Update the system:

Terminal
sudo apt update && sudo apt upgrade -y

Struggling with linux commands? Check out our Linux Cheats for a quick reference.

Install Package Managers

Clean existing system files. You can always re-install these later.

Terminal
sudo rm -rf "$(which npm node pnpm)" "$(where npm node pnpm)"

Pnpm

Terminal
curl -fsSL https://get.pnpm.io/install.sh | sh -

Why we use pnpm

We use pnpm instead of npm because it is faster, more efficient with disk space, and enforces stricter dependency management.
Unlike npm or yarn, pnpm uses a content-addressable store and hard links, which means packages are downloaded once and reused across all projects — saving both time and storage.
It also prevents phantom dependencies by ensuring that only explicitly listed packages are accessible, leading to more reliable builds.

👉 Want to dive deeper? Check out the official pnpm documentation.

Re-open the terminal once installation is complete.

Set Node.js version.

Terminal
pnpm env use --global 22.17.1  # latest LTS at time of writing

Use the latest Node.js LTS

We recommend using the latest LTS version of Node.js.
Check nodejs.org for the latest version before installing.

Configure GitHub CLI

Create a GitHub account if you don't already have one.

Terminal
  # Install GitHub CLI (gh) on Ubuntu/Debian
  sudo apt update
  sudo apt install gh -y
Terminal
# Install GitHub CLI (gh) on MacOS
brew install gh
Terminal
  # Login with your GitHub account.
  gh auth login

Image

Navigate to the github link shown and paste in the code as usual.

Image

Provide the following answers if prompted.

? Authenticate Git with your GitHub credentials? [Use arrows] to move, type to filter]
> Yes

# Your one-time code will be different.
! First copy your one-time code: 95i2-DAE6
Press Enter to open github.com in your browser...

Return to the terminal when you see the Congratulations, you're all set! screen. Image

You should see the following:

✔ Authentication complete.
- gh config set -h github.com git_protocol https
✔ Configured git protocol
✔ Logged in as yourgithubusername

Fork and Clone Repository.

Terminal
# Fork and clone the ARC docs repo to your GitHub account, then open it
gh repo fork Autonomous-Robotics-Carleton/arc-docs --clone
cd arc-docs
pnpm dev # start the dev server

Open VSCode (Or your preferred editor):

Shell
# Allow all hosts and trust the authors when you see a popup
# And install all recommended extensions
code .

Get Involved

Looking to contribute? If you've already read the Overview then head on over to the Contribution Guidelines.

Connect With Us

Connect on our channels and with the cuHacking team to ask questions, get help and keep up to date with the latest events.