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 your version 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 installConfigure environment
Copy the example environment file and add your API key:
cp .env.example .envEdit .env and set ANTHROPIC_API_KEY=your-key-here.
Start development servers
pnpm devThis starts both the Express server (port 4242) and the Vite dev server (port 3000). Open http://localhost:3000 in your browser.
Running Individual Apps
dotenv -- turbo dev --filter=@dorkos/serverdotenv -- turbo dev --filter=@dorkos/clientAlways use pnpm scripts or prefix commands with dotenv -- to ensure .env is loaded. Running bare turbo will not pick up environment variables.
Common Commands
Prop
Type
Running Specific Tests
pnpm vitest run apps/server/src/services/__tests__/transcript-reader.test.tsMonorepo Structure
DorkOS is a Turborepo monorepo with four apps and four shared packages:
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/web | @dorkos/web | Marketing site & docs (Next.js 16, Fumadocs) |
apps/obsidian-plugin | @dorkos/obsidian-plugin | Obsidian sidebar plugin |
packages/cli | dorkos | Publishable npm CLI |
packages/shared | @dorkos/shared | Zod schemas, shared types |
packages/typescript-config | @dorkos/typescript-config | Shared tsconfig presets |
packages/test-utils | @dorkos/test-utils | Mock factories, test helpers |