Note: This page can be viewed at either next.catcolab.org/dev or github.com/ToposInstitute/CatColab/contribute
Grouping | Package | Language | Instructions | Documentation |
---|---|---|---|---|
Core | catlog |
Rust | — | /dev/rust/catlog |
Frontend | frontend |
TypeScript | — | /dev/frontend/ |
catlog-wasm |
Rust | — | /dev/rust/catlog_wasm | |
Backend | backend |
Rust | README | /dev/rust/catcolab_backend |
automerge-doc-server |
TypeScript | README | — |
CatColab is written in a mix of Rust and TypeScript. To start developing, install Rust (say, by using rustup) and install pnpm, or use the dev container.
To maintain a clean and consistent codebase, we follow strict conventions on code formatting and style. To format and lint the frontend code, run these commands from the top-level directory:
pnpm --filter ./packages/frontend run format
pnpm --filter ./packages/frontend run lint
To format and lint the Rust code, run these commands from the top-level directory:
cargo fmt
cargo clippy
Try to remember to run these commands before making a PR. (If you forget, the CI will remind you.)