Skip to content

Latest commit

 

History

History
108 lines (76 loc) · 2.12 KB

File metadata and controls

108 lines (76 loc) · 2.12 KB

Contributing to repo-wiki

Thank you for your interest in contributing to repo-wiki!

Getting Started

Prerequisites

  • Python 3.11+
  • uv package manager

Development Setup

# Clone the repository
git clone https://github.com/bingooyong/repo-wiki-agent.git
cd repo-wiki-agent

# Create virtual environment
uv venv .venv && source .venv/bin/activate

# Install in development mode
pip install -e "."
pip install -e ".[dev]"

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov=repo_wiki --cov-report=term-missing

# Run specific test file
pytest tests/test_cli.py -v

Code Style

We use Ruff for linting and formatting Python source. Markdown files are excluded (extend-exclude = ["*.md"]) so illustrative code fences in docs/ are not rewritten by ruff format.

# Check code style
ruff check .

# Format Python source
ruff format .

Commit Messages

We follow Conventional Commits:

<type>(<scope>): <description>

Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Code style changes (formatting, semicolons, etc)
- refactor: Code refactoring
- test: Adding or updating tests
- chore: Maintenance tasks

Examples:
feat(cli): add new generate command
fix(verifier): resolve strict verify false positive
docs(readme): update installation instructions

Pull Request Process

  1. Fork the repository and create a branch from main:

    git checkout -b feature/your-feature-name
  2. Write tests for any new functionality

  3. Ensure tests pass:

    pytest
    ruff check .
  4. Update documentation if needed

  5. Push to your fork and open a Pull Request

  6. Fill in the PR template with:

    • Description of changes
    • Related issue (if applicable)
    • Testing performed

Reporting Issues

License

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