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

# Local development

> Run Pulse from source for local development and contribution work.

# Local development

You can run Pulse from the two source repos in this workspace: `okto-pulse-core` for the engine and `okto-pulse` for the installable community package.

## Prerequisites

Use Python 3.12 locally. The package metadata allows Python 3.11+, but CI and Docker use 3.12.

## Install from source

Run this from the workspace root:

```bash theme={null}
pip install -e ./okto-pulse-core -e ./okto-pulse
pip install pytest pytest-asyncio psutil httpx ruff pyright build
```

```text theme={null}
Successfully installed okto-pulse okto-pulse-core
```

## Initialize and serve

```bash theme={null}
okto-pulse init --agents
okto-pulse serve --accept-terms
```

```text theme={null}
API/UI: http://127.0.0.1:8100
MCP:    http://127.0.0.1:8101/mcp
```

## Running tests

For core work:

```bash theme={null}
cd okto-pulse-core
pytest -m "not e2e" -q
```

For community CLI/runtime work:

```bash theme={null}
cd okto-pulse
pytest -q
```

## File locations

| Data                   | Default path                                 |
| ---------------------- | -------------------------------------------- |
| SQLite DB              | `~/.okto-pulse/data/pulse.db`                |
| Uploads                | `~/.okto-pulse/uploads/{board_id}/`          |
| Board graph            | `~/.okto-pulse/boards/{board_id}/graph.lbug` |
| Global discovery graph | `~/.okto-pulse/global/discovery.lbug`        |

## Related pages

* [Install](/install)
* [Contributing](/contributing)
* [Storage paths](/configuration/storage-paths)
