Skip to content

Development Setup

Set up your development environment for contributing to bindcar.

Prerequisites

  • Rust 1.89.0 or later
  • Git
  • Docker (optional, for testing)
  • mdBook (for documentation)

Clone Repository

git clone https://github.com/firestoned/bindcar.git
cd bindcar

Build

# Debug build
cargo build

# Release build
cargo build --release

See Building from Source for detailed build instructions.

Run

# Create test zone directory
mkdir -p .tmp/zones

# Run with debug logging
RUST_LOG=debug BIND_ZONE_DIR=.tmp/zones cargo run

Test

# Run all tests
cargo test

# Run specific test
cargo test test_name

# Run with output
cargo test -- --nocapture

See Running Tests for detailed testing information.

Code Quality

Format

cargo fmt

Lint

cargo clippy -- -D warnings

Check

# Run all checks
make check

Documentation

Build Documentation

# Build all documentation
make docs

# Build and serve locally
make docs-serve

API Documentation

# Build rustdoc
cargo doc --open

Development Workflow

  1. Create feature branch
  2. Make changes
  3. Run tests: cargo test
  4. Format code: cargo fmt
  5. Run clippy: cargo clippy
  6. Commit changes
  7. Push and create PR

Next Steps