Contributing to Portal

We welcome contributions to Portal! This guide will help you get started.

Ways to Contribute

  • Report bugs - Open an issue on GitHub
  • Suggest features - Share your ideas
  • Improve documentation - Fix typos, add examples
  • Submit code - Fix bugs or implement features
  • Answer questions - Help others in discussions

Development Setup

  1. Fork the repository
git clone https://github.com/YOUR_USERNAME/portal.git
cd portal
  1. Set up development environment
# Using Nix (recommended)
nix develop

# Or manually with Cargo
cargo build
  1. Run tests
cargo test
  1. Make your changes

  2. Run linting

cargo fmt
cargo clippy
  1. Submit a pull request

Code Style

  • Follow Rust conventions
  • Use cargo fmt before committing
  • Fix cargo clippy warnings
  • Write tests for new features

Documentation

When adding features:

  • Update relevant documentation
  • Add code examples
  • Update the changelog

Questions?

  • Open a GitHub issue
  • Join community discussions
  • Read the existing documentation

Thank you for contributing to Portal!