Skip to Content
Development

Development

Contributing to Agent Harbor and setting up the development environment.

Prerequisites

  • Nix  with flake support enabled
  • Git

Clone and Setup

git clone https://github.com/blocksense-network/agent-harbor.git cd agent-harbor direnv allow # or: nix develop

Repository Structure

agent-harbor/ ├── apps/ # Applications │ └── docs.agent-harbor.com/ # Documentation site ├── crates/ # Rust crates │ ├── ah-cli/ # CLI implementation │ ├── ah-tui/ # TUI implementation │ ├── ah-core/ # Core logic │ ├── ah-agents/ # Agent implementations │ └── ... ├── specs/ # Specifications │ └── Public/ # Public specs └── tests/ # Test suites

Common Commands

Build

# Check for compilation errors just check # Build ah binary (debug) cargo build --bin ah # Build ah binary (release) cargo build --release --bin ah

Test

# Run all Rust tests just test-rust # Run a single test just test-rust-single test_name

Lint

# Lint Rust code just lint-rust # Run pre-commit checks pre-commit run

Run TUI in Dev Mode

just manual-test-tui

Documentation Site

Run Locally

yarn workspace @agent-harbor/docs.agent-harbor.com dev

Open http://localhost:3000 

Build

yarn workspace @agent-harbor/docs.agent-harbor.com build

Add a Page

  1. Create app/<section>/<page>/page.mdx
  2. Update app/<section>/_meta.ts if needed
  3. Use MDX components as needed

Code Style

  • Rust: Follow rustfmt.toml and clippy lints
  • TypeScript: ESLint + Prettier
  • Documentation: Clear headings, code examples, concise text

Pull Request Process

  1. Create a feature branch
  2. Make your changes
  3. Run tests: just test-rust
  4. Run linter: just lint-rust
  5. Run pre-commit: pre-commit run
  6. Submit PR

Specifications

Detailed specifications are in specs/Public/:

SpecDescription
CLI.mdCLI command reference
TUI-PRD.mdTUI product requirements
Configuration.mdConfiguration system
Docs-Site-PRD.mdDocumentation site requirements