Skip to content

Latest commit

 

History

History
115 lines (75 loc) · 3.01 KB

File metadata and controls

115 lines (75 loc) · 3.01 KB

Development Setup

Prerequisites

  • Python 3.13+ and uv (the project's package manager)
  • An Anthropic API key — get one at console.anthropic.com
  • Git

The recommended approach is to use the provided dev container, which pre-installs all dependencies and tools. Any container-compatible environment works: VS Code Dev Containers, GitHub Codespaces, or the Dev Container CLI.

Option A — Dev Container (recommended)

  1. Clone the repository:

    git clone https://github.com/projectious-work/kaits.git
    cd kaits
  2. Open in VS Code and select Reopen in Container when prompted, or use the Dev Container CLI:

    devcontainer up --workspace-folder .
  3. The container installs all dependencies automatically. Skip to the "Running the App" section.

See Run with Docker for more detail on the dev container setup.

Option B — Local Setup

  1. Clone the repository:

    git clone https://github.com/projectious-work/kaits.git
    cd kaits
  2. Install Python 3.13+ and uv if not already installed:

    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. Install project dependencies:

    uv sync

Running the App

  1. Set your Anthropic API key:

    export ANTHROPIC_API_KEY=sk-ant-...

    Add this to your shell profile (~/.zshrc, ~/.bashrc) or a .env file to persist it across sessions.

  2. Initialise Reflex (first run only) and start the development server:

    uv run reflex init
    uv run reflex run

    The app is available at http://localhost:3000. The backend runs at http://localhost:8000.

Running the Documentation Site

poe docs-serve

The documentation site is available at http://localhost:8800 (or the port shown in the terminal). It hot-reloads when you edit any file under docs/.

Linting and Formatting

poe check

This runs uv lock --locked, ruff check, and ruff format --check in sequence. Fix auto-fixable issues with:

uv run ruff check --fix
uv run ruff format .

All PRs must pass poe check before merging.

Tests

poe test

For E2E browser tests:

poe test-ui

To run everything:

poe test-all

Notes

  • Container rebuilds — If you install system packages inside a running dev container (e.g. apt-get install some-tool), add them to .devcontainer/Dockerfile before the next rebuild. Ephemeral installs are lost when the container is rebuilt. The rule: if you install it, make it persistent in the Dockerfile.
  • Agent definitions — Agents are loaded from the agents/ directory at startup. Adding or modifying a YAML file requires restarting reflex run to take effect.
  • Conversation history — Histories are held in server-side session memory and are cleared on every server restart. There is no persistent storage for conversations in the current release.