Skip to content

Autonomous-Robotics-Carleton/2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

103 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸš— ARC β€” Autonomous Robotics Carleton


ARC INSTA BANNER


Welcome to the monorepo for ARC (Autonomous Robotics Carleton)!
This project houses our public-facing website and documentation hub β€” everything related to building, configuring, and showcasing our autonomous car as we prepare for competitions.

We’re keeping this project fully open source, so current and future members β€” and the wider robotics community β€” can learn, contribute, and grow with us.


πŸ“– What’s Inside

This repository contains two apps:

🌐 apps/web β€” Public Website

The ARC marketing and showcase site built with Next.js 15, Tailwind CSS v4, and GSAP animations.

  • 🏎 Home page β€” interactive hero, sponsors, and team highlights
  • πŸ“ Blueprint page β€” animated exploded-view car visualization
  • πŸ‘₯ Projects & team pages β€” showcasing members and ongoing work

πŸ“š apps/docs β€” Documentation Hub

The technical docs site built with Fumadocs + Next.js.

  • βœ… Setup guides β€” step-by-step instructions for getting the ARC car up and running.
  • πŸ›  Configuration docs β€” details on software, hardware, and environment settings.
  • πŸ“š Knowledge base β€” collected learnings and resources as the project evolves.
  • 🏎 Race preparation logs β€” documenting our progress on the road to competition.

πŸš€ Getting Started

  1. Clone this repository:
    git clone https://github.com/Autonomous-Robotics-Carleton/2026.git
    cd 2026

This is an Nx monorepo. Documentation source code lives in apps/docs/.


πŸ”§ Local Development (for Contributors)

Contributors do NOT need Docker. Docker is used only in production via CI/CD.


πŸ“Œ Prerequisites

  • Node.js 20+
  • Git
corepack enable        # activates pnpm (version pinned in package.json)
pnpm install           # installs all workspace dependencies

▢️ Run the Dev Servers

npx nx dev docs        # Docs site β†’ http://localhost:3000
npx nx dev web         # Public website β†’ http://localhost:3001

πŸ§ͺ Lint + Build

# Docs
npx nx build docs
npx nx lint docs

# Website
npx nx build web
npx nx lint web

2️⃣ Make Your Changes

Docs (apps/docs)

Content lives in:

apps/docs/content/

UI + logic:

apps/docs/app/
apps/docs/lib/

Website (apps/web)

Pages live in:

apps/web/app/

Components + UI:

apps/web/components/
apps/web/lib/

3️⃣ Test Locally

pnpm install
npx nx dev docs

πŸ§ͺ CI/CD Pipeline

This repository uses GitHub Actions + GitHub Container Registry (GHCR).

πŸ”Ή For every Pull Request:

  • Installs dependencies
  • Lints the docs
  • Builds the site
  • Tests Docker build

πŸ”Ή For every merge to main:

  • Builds the production Docker image

  • Pushes it to GHCR:

    • ghcr.io/autonomous-robotics-carleton/2026:latest
    • ghcr.io/autonomous-robotics-carleton/2026:<commit-sha>
  • ARC infrastructure auto-deploys the new version to arcarleton.ca via Watchtower

Contributors never touch Docker.


πŸ— Project Structure

2026/                             # Nx monorepo root
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ docs/                 # Fumadocs / Next.js docs app
β”‚   β”‚   β”œβ”€β”€ app/              # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ content/          # MDX documentation pages
β”‚   β”‚   β”œβ”€β”€ public/           # Static assets
β”‚   β”‚   β”œβ”€β”€ lib/              # Utility functions
β”‚   β”‚   β”œβ”€β”€ components/       # React components
β”‚   β”‚   β”œβ”€β”€ next.config.mjs
β”‚   β”‚   └── package.json
β”‚   └── web/                  # Next.js public website
β”‚       β”œβ”€β”€ app/              # Next.js App Router (pages)
β”‚       β”œβ”€β”€ components/       # UI + layout components
β”‚       β”œβ”€β”€ lib/              # Animation utilities
β”‚       β”œβ”€β”€ hooks/            # Custom React hooks
β”‚       β”œβ”€β”€ public/           # Static assets (images, video)
β”‚       β”œβ”€β”€ next.config.mjs
β”‚       └── package.json
β”œβ”€β”€ nx.json                   # Nx workspace config
β”œβ”€β”€ pnpm-workspace.yaml       # pnpm workspace config
β”œβ”€β”€ .github/workflows/        # CI & Docker build pipelines
└── README.md

βž• Adding a New App or Library

This repo uses Nx + pnpm workspaces. All apps live in apps/, shared code in libs/.

Add a new app

  1. Create the app directory with its own package.json:
mkdir -p apps/myapp
  1. Add a package.json inside it:
{
  "name": "arc-myapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  }
}
  1. Add a project.json to register it with Nx:
{
  "name": "myapp",
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
  "projectType": "application",
  "targets": {
    "dev": { "command": "next dev", "options": { "cwd": "apps/myapp" } },
    "build": { "command": "next build", "options": { "cwd": "apps/myapp" }, "outputs": ["{projectRoot}/.next"] },
    "start": { "command": "next start", "options": { "cwd": "apps/myapp" }, "dependsOn": ["build"] }
  }
}
  1. Install dependencies and run:
pnpm install
npx nx dev myapp

Add a shared library

  1. Create the lib:
mkdir -p libs/config
  1. Add a libs/config/package.json:
{
  "name": "@arc/config",
  "version": "0.0.0",
  "private": true,
  "main": "index.ts"
}
  1. Use it from any app by adding to that app's package.json:
{
  "dependencies": {
    "@arc/config": "workspace:*"
  }
}
  1. Run pnpm install and import as usual:
import { something } from '@arc/config';

Useful Nx commands

Command What it does
npx nx dev <app> Run dev server for an app
npx nx build <app> Build an app
npx nx lint <app> Lint an app
npx nx show projects List all registered projects
npx nx graph Open interactive dependency graph
npx nx run-many -t build Build all projects

πŸ“˜ License

This project is licensed under the MIT License.


πŸŽ‰ Thanks for Contributing!

Whether you're fixing typos, writing docs, or creating new tutorials β€” your work helps drive ARC forward.

If you have questions, open an issue or reach out to the ARC Team!

About

monorepo for arc

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors