comma webapps

This mono-repository contains the web applications and packages for the web UIs of comma.ai

screenshot

Contributing

Just pick something and work on it. Take liberties or don’t. There are three basic acceptance criterias:

  1. It works as good or better
  2. We use TypeScript when possible
  3. Packages should be isomorphic and conform to shared eslint/tsconfig

Status

Package New Package Started Functional Has Testing
cabana apps/cabana
connect apps/connect
@commaai/comma-api packages/api
@commai/my-comma-auth packages/auth
can-message packages/can
@commaai/pandajs packages/panda
@commaai/log_reader packages/rlog

New Packages

Package Description PoC Has Testing
packages/config Shared, inheritable eslint, jest, etc
packages/design Shared UI components built with @chakra-ui/react
packages/tsconfig Shared, inheritable tsconfig configs

Running Locally

To run all of the apps, run:

npm install
npm run build # TODO: we shouldn't have to do this
npm run dev

The monorepo relies heavily on workspaces. To add a 3rd party package to a particular app (cabana, for example) run:

npm install @awesome/package -w cabana

To add an internal package (panda for example) to another package, add the following line to the package.json:

{
  "panda": "*"
}

The "*" character is a shorthand that turborepo uses to say “this is an internal package”. After adding a new internal package, be sure to run npm install to create the symlinks.

GitHub

View Github