Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contributing

Getting Started

  1. Fork the repository
  2. Clone your fork
  3. Create a feature branch
  4. Make your changes
  5. Run tests
  6. Submit a pull request

Development Setup

git clone https://github.com/yourusername/fungi.git
cd fungi
cargo build
cargo test --workspace

Code Style

# Format code
cargo fmt

# Check formatting
cargo fmt --check

# Run lints
cargo clippy --workspace -- -D warnings

Testing

# Run all tests
cargo test --workspace

# Run specific crate tests
cargo test -p fungi-state

# Run with output
cargo test --workspace -- --nocapture

Documentation

# Generate docs
cargo doc --workspace --open

# Build mdbook
mdbook build

# Serve mdbook locally
mdbook serve

Commit Messages

Format: <type>: <description>

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • test: Tests
  • refactor: Code refactoring
  • chore: Maintenance tasks

Example: feat: add Kafka source implementation

Pull Requests

  1. Keep PRs focused on a single feature/fix
  2. Add tests for new functionality
  3. Update documentation
  4. Ensure all tests pass
  5. Follow existing code style

Architecture

See Architecture for system design.

License

By contributing, you agree that your contributions will be licensed under the Apache License 2.0.