> ## 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.

# Contributing

> How to set up a development environment, run checks, and submit Pulse changes.

# Contributing

You can contribute to Pulse by working from the two source repos, running focused checks, and submitting a PR with evidence for the change.

## CLA requirement

By submitting a pull request, you agree to the Contributor License Agreement in `CLA.md`. No separate signature is required.

## Dev environment setup

```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 development dependencies.
```

## Running tests

Core fast path:

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

Community package path:

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

## Code style

Run the same tools CI checks for package quality:

```bash theme={null}
ruff check src/
pyright src/
python -m build
```

## PR conventions

Use a focused branch, describe the behavior change, include tests or explain the verification gap, and avoid mixing unrelated cleanup with the feature or fix.

## Security issues

Do not open a public issue with exploit details. Follow `SECURITY.md` responsible disclosure guidance.

## Related pages

* [Local development](/operations/local)
* [CLI reference](/reference/cli)
* [Upgrade](/operations/upgrade)
