# Hacking on deb-bootc-image-builder This document provides information for developers who want to contribute to deb-bootc-image-builder. ## Development Environment ### Prerequisites - Go 1.21 or later - Python 3.8+ (for testing) - Docker or Podman - Make ### Building ```bash # Build the binary make build-binary # Build the container make build-container # Run tests make test ``` ### Testing ```bash # Run all tests make test # Run specific test categories pytest test/unit/ pytest test/integration/ pytest test/performance/ # Run with FMF fmf run --all ``` ## Project Structure This project follows the standard osbuild repository structure: - **`bib/`** - Main Go application - **`test/`** - Test files and utilities - **`scripts/`** - Utility scripts organized by function - **`docs/`** - Project documentation - **`.fmf/`** - FMF testing framework ## Code Style ### Go Code - Follow Go standard formatting (`go fmt`) - Use `golangci-lint` for linting - Follow Go naming conventions - Include proper error handling ### Python Code - Follow PEP 8 style guidelines - Use type hints where appropriate - Include docstrings for functions and classes ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests for new functionality 5. Ensure all tests pass 6. Submit a pull request ## Getting Help - **GitHub Issues**: For bug reports and feature requests - **GitHub Discussions**: For questions and general discussion - **Matrix**: Join #image-builder on fedoraproject.org ## License This project is licensed under the Apache License, Version 2.0.