Skip to content

Latest commit

 

History

History
85 lines (62 loc) · 2.22 KB

File metadata and controls

85 lines (62 loc) · 2.22 KB

Contributing to Atomic Blueprint (ab)

Thank you for your interest in contributing to ab! This document provides guidelines and instructions for contributing.

Quick Links

How to Contribute

Reporting Bugs

  1. Check if the bug has already been reported in Issues
  2. If not, create a new issue with:
    • Clear title and description
    • Steps to reproduce
    • Expected vs actual behavior
    • Environment details (Python version, OS, etc.)
    • Minimal code example if applicable

Suggesting Features

  1. Check existing Issues and Discussions
  2. Open a new issue or discussion with:
    • Clear description of the feature
    • Use case and motivation
    • Proposed implementation (if you have ideas)

Pull Requests

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass (uv run pytest tests/)
  6. Run linting (uv run ruff check . and uv run black .)
  7. Update documentation if needed
  8. Commit with clear messages
  9. Push to your fork
  10. Open a Pull Request

Development Setup

See docs/guides/CONTRIBUTING.md for detailed setup instructions.

Quick start:

git clone https://github.com/hexcreator/ab.git
cd ab
uv sync
uv run pytest tests/

Code Style

  • Follow PEP 8
  • Use type hints
  • Format with Black (line length 100)
  • Lint with Ruff
  • Type check with mypy

Testing

  • Write tests for new features
  • Ensure all tests pass before submitting PR
  • Aim for good test coverage
  • Use fixtures from tests/conftest.py

Documentation

  • Update relevant docs in docs/
  • Add examples for new features
  • Update API reference if changing interfaces
  • Keep README.md up to date

Questions?

Thank you for contributing! 🎉