> ## Documentation Index
> Fetch the complete documentation index at: https://docs.webdock.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Local development

> Work with the current Webdock monorepo and isolated test environments.

Use Node.js 24 and the repository's workspace lockfile. The API workspace pins Bun for its runtime and scripts.

## Repository map

| Workspace | Responsibility |
| - | - |
| `apps/web` | Public website and its CMS |
| `apps/admin` | Console browser application |
| `apps/auth` | Central account and sign-in UI |
| `apps/api` | Bun API, protocol handlers, services and worker |
| `apps/hosting-agent` | Managed workload execution |
| `packages/api-client` | Server-side frontend transport to the API |
| `docs` | Public Mintlify pages and excluded repository records |

Console and Auth are HTTP frontends. Business and identity services now live in `apps/api`; older historical documents may refer to their former location in the frontends.

## Install

```bash theme={null}
git clone https://github.com/spitzli/webdock.git
cd webdock
npm ci
```

Configure only the local environment variables required by the workspace you run. Follow its checked-in examples and scripts. Do not copy production database URLs or provider credentials into a test environment.

## Start a workspace

Run the relevant command in its own terminal after preparing its local configuration:

```bash theme={null}
npm run dev:admin
npm run dev:auth
npm run dev -w @webdock/api
```

Console uses port 3120 and the Auth UI uses port 3125. Running the frontend alone does not provision a backend or establish account access.

## Verify changes

The API fixture creates labeled disposable local PostgreSQL infrastructure and ignored test environment files. It requires Docker. Use the root workspace scripts:

```bash theme={null}
npm run test:setup -w @webdock/api
npm run test:setup:rls -w @webdock/api
npm test -w @webdock/api
npm run test:rls -w @webdock/api
npm run check -w @webdock/api
```

Run the relevant frontend or shared-package checks for your change. Use `npm run test:teardown -w @webdock/api` to remove the owned fixture after testing. Follow the fixture output for its actual local target; never point test setup at production.

Read repository `AGENTS.md` files before contributing. For Next.js changes, consult the documentation shipped with the installed version.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.