Contributing
Development Setup
Set up a local development environment for DorkOS
Development Setup
Get DorkOS running locally for development.
Prerequisites
DorkOS requires Node.js 18 or later. Check with
node --version.- Node.js 18+
- pnpm 10+
- A Claude API key from console.anthropic.com
Installation
Clone and install
git clone https://github.com/dork-labs/dorkos.git
cd dorkos
pnpm installStart development servers
pnpm devThis starts both the Express server (port 6242) and the Vite dev server (port 6241). Open http://localhost:6241 in your browser.
Running Individual Apps
bash dotenv -- turbo dev --filter=@dorkos/server bash dotenv -- turbo dev --filter=@dorkos/client Always use pnpm scripts or prefix commands with dotenv -- to ensure .env is loaded. Bare
turbo commands do not pick up environment variables.
Common Commands
Prop
Type
Docker & Smoke Tests
Prop
Type
Running Specific Tests
pnpm vitest run apps/server/src/services/__tests__/transcript-reader.test.tsMonorepo Structure
turbo.json
vitest.workspace.ts
package.json
| Directory | Package | Description |
|---|---|---|
apps/client | @dorkos/client | React 19 SPA (Vite 6, Tailwind 4, shadcn/ui) |
apps/server | @dorkos/server | Express API server |
apps/site | @dorkos/site | Marketing site & docs (Next.js 16, Fumadocs) |
apps/obsidian-plugin | @dorkos/obsidian-plugin | Obsidian sidebar plugin |
apps/e2e | @dorkos/e2e | Playwright browser tests |
packages/cli | dorkos | Publishable npm CLI |
packages/shared | @dorkos/shared | Zod schemas, shared types, Transport interface |
packages/db | @dorkos/db | Drizzle ORM schemas (SQLite) |
packages/relay | @dorkos/relay | Inter-agent messaging |
packages/mesh | @dorkos/mesh | Agent discovery & registry |
packages/typescript-config | @dorkos/typescript-config | Shared tsconfig presets |
packages/eslint-config | @dorkos/eslint-config | Shared ESLint presets (base, react, node, test) |
packages/icons | @dorkos/icons | SVG icon & logo registry |
packages/test-utils | @dorkos/test-utils | Mock factories, test helpers |