Hugoifier

hugoifier / .github / CONTRIBUTING.md
1
# Contributing to Hugoifier
2
3
Thank you for your interest in contributing to Hugoifier!
4
5
## Development Setup
6
7
1. **Fork and clone the repository:**
8
9
```bash
10
git clone https://github.com/<your-username>/hugoifier.git
11
cd hugoifier
12
```
13
14
2. **Create a virtual environment:**
15
16
```bash
17
python3 -m venv .venv
18
source .venv/bin/activate # On Windows: .venv\Scripts\activate
19
```
20
21
3. **Install dependencies:**
22
23
```bash
24
pip install -r requirements.txt
25
pip install ruff pytest
26
```
27
28
4. **Set up at least one AI provider API key:**
29
30
```bash
31
export ANTHROPIC_API_KEY="sk-ant-..."
32
# or
33
export OPENAI_API_KEY="sk-..."
34
# or
35
export GOOGLE_API_KEY="..."
36
```
37
38
## Running Tests
39
40
```bash
41
pytest tests/
42
```
43
44
Tests are written to avoid real AI calls — they mock the `call_ai` function or test pure functions only. Keep it that way.
45
46
## Code Style
47
48
This project uses [Ruff](https://docs.astral.sh/ruff/) for linting.
49
50
```bash
51
# Check for issues
52
ruff check src/ tests/
53
54
# Auto-fix
55
ruff check --fix src/ tests/
56
```
57
58
All contributions must pass `ruff check` with no errors before merging.
59
60
## Commit Conventions
61
62
Use the imperative mood, prefix with a type:
63
64
- `fix(module): description` — bug fixes
65
- `feat(module): description` — new features
66
- `docs: description` — documentation only
67
- `test: description` — tests only
68
- `chore: description` — maintenance, deps, tooling
69
70
Keep subject lines under 72 characters.
71
72
## Pull Request Process
73
74
1. Branch from `main`
75
2. Write or update tests for your changes
76
3. Run `pytest tests/` and `ruff check src/ tests/` — both must be clean
77
4. Open a PR against `main` and fill out the template
78
5. A maintainer will review within a few business days
79
80
## Reporting Bugs and Requesting Features
81
82
- **Bugs:** [Bug Report](https://github.com/ConflictHQ/hugoifier/issues/new?template=bug_report.yml)
83
- **Features:** [Feature Request](https://github.com/ConflictHQ/hugoifier/issues/new?template=feature_request.yml)
84
- **Questions:** [Discussions](https://github.com/ConflictHQ/hugoifier/discussions)
85
86
## Security
87
88
Do **not** open a public issue for security vulnerabilities. See [SECURITY.md](SECURITY.md).
89
90
## License
91
92
By contributing to Hugoifier, you agree that your contributions will be licensed under the [MIT License](../LICENSE).
93

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button