Thank you for your interest in contributing to Cept! This guide will help you get started.
# Clone the repository
git clone https://github.com/nsheaps/cept.git
cd cept
# Install tools (Node.js, Bun, etc.)
mise install
# Install dependencies
bun install
# Start development server
bun run devbun run dev # Dev mode (all packages)
bun run dev:web # Dev mode (web only)
bun run build # Production build
bun run test # All tests
bun run lint # ESLint + Prettier
bun run typecheck # TypeScript check
bun run validate # Full quality gate (lint + typecheck + test)cept/
├── packages/
│ ├── core/ # Business logic, storage backends, CRDT
│ ├── ui/ # React components and hooks
│ ├── web/ # Vite SPA + PWA
│ ├── desktop/ # Electrobun (macOS) + Electron
│ ├── mobile/ # Capacitor iOS + Android
│ └── signaling-server/ # WebSocket signaling
├── docs/ # Documentation site
├── e2e/ # Playwright E2E tests
└── features/ # BDD feature files
These rules are enforced in code review and CI:
@cept/uiand@cept/coremust never import platform-specific modules- All persistence goes through the
StorageBackendinterface - Git-specific UI is gated by
backend.capabilitieschecks - The app must boot to a fully functional state with
BrowserFsBackendalone - TypeScript strict mode everywhere — no
any, no@ts-ignore
- TypeScript strict mode
- ESLint + Prettier for formatting
- Prefer functional patterns where appropriate
- Write tests for all new code
- Every new function/class gets unit tests
- Every new UI component gets component tests
- Run
bun run validatebefore submitting
Write clear, concise commit messages that explain why the change was made:
Add offline queue replay with batched execution
The offline queue now replays queued operations in configurable
batches with delays between batches to avoid overwhelming the
server on reconnect.
- Use GitHub Issues
- Include steps to reproduce for bugs
- Include expected vs actual behavior
- Include browser/OS version if relevant
By contributing, you agree that your contributions will be licensed under the MIT License.