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.
Discord Go to #developers for support!
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
- Download & install Node.js 22 (LTS) (also make sure to have
pnpm
) - Clone/fork the repo (https://github.com/OpenMarch/OpenMarch)
- 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.
# Install packagespnpm install
# Prepare electron apppnpm desktop app:prepare# Run electron & vitepnpm desktop dev
# Run the website's astro dev serverpnpm site dev
# Run the design system playgroundpnpm ui dev
# Fixpnpm fix# or individually:pnpm formatpnpm lintpnpm spellcheck
# can also run tasks in specific packagespnpm desktop lint