Skip to content

Codebase

Learn about the codebase here.

We’d recommend looking at all of our issues and picking some you’d like to work on. The ones with good first issue and help wanted tags are good for getting started.

Feel free to ask questions on the Discord if you have problems with anything.

Codebase

Stack

  • Codebase
    • Node.js 22
    • Turborepo
    • pnpm
    • Prettier, ESLint, CSpell
  • Desktop app
    • Electron, Fabric.js, Vitest, React
  • Websites
    • Astro, React
  • Design system
    • React, Tailwind, Radix

Installing

  1. Download & install Node.js 22 (LTS) (also make sure to have pnpm)
  2. Clone/fork the repo (https://github.com/OpenMarch/OpenMarch)
  3. Install dependencies: pnpm install

Monorepo

Structure

This is the structure of our monorepo.

.
├── apps/
│ ├── desktop - The main desktop app
│ └── website - Our website
├── packages/
│ └── ui - Our design system & playground
└── package.json

Tasks

Tasks are our main commands in the codebase.

Terminal window
# Install packages
pnpm install
# Prepare electron app
pnpm desktop app:prepare
# Run electron & vite
pnpm desktop dev
# Run the website's astro dev server
pnpm site dev
# Run the design system playground
pnpm ui dev
# Fix
pnpm fix
# or individually:
pnpm format
pnpm lint
pnpm spellcheck
# can also run tasks in specific packages
pnpm desktop lint