Hugoifier
Contributing to Hugoifier
Thank you for your interest in contributing to Hugoifier!
Development Setup
- Fork and clone the repository:
bash
git clone https://github.com/<your-username>/hugoifier.git
cd hugoifier
- Create a virtual environment:
bash
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies:
bash
pip install -r requirements.txt
pip install ruff pytest
- Set up at least one AI provider API key:
bash
export ANTHROPIC_API_KEY="sk-ant-..."
# or
export OPENAI_API_KEY="sk-..."
# or
export GOOGLE_API_KEY="..."
Running Tests
pytest tests/
Tests are written to avoid real AI calls — they mock the call_ai function or test pure functions only. Keep it that way.
Code Style
This project uses Ruff for linting.
# Check for issues
ruff check src/ tests/
# Auto-fix
ruff check --fix src/ tests/
All contributions must pass ruff check with no errors before merging.
Commit Conventions
Use the imperative mood, prefix with a type:
fix(module): description— bug fixesfeat(module): description— new featuresdocs: description— documentation onlytest: description— tests onlychore: description— maintenance, deps, tooling
Keep subject lines under 72 characters.
Pull Request Process
- Branch from
main - Write or update tests for your changes
- Run
pytest tests/andruff check src/ tests/— both must be clean - Open a PR against
mainand fill out the template - A maintainer will review within a few business days
Reporting Bugs and Requesting Features
- Bugs: Bug Report
- Features: Feature Request
- Questions: Discussions
Security
Do not open a public issue for security vulnerabilities. See SECURITY.md.
License
By contributing to Hugoifier, you agree that your contributions will be licensed under the MIT License.