Hanflow is an independent, love-driven open-source project — community contributors are very welcome. Besides using the contribute-pr AI skill on the next page, you can also contribute the traditional way.
Fork xpc1024/hanflow on GitHub to your account, then clone locally:
git clone https://github.com/<your-username>/hanflow
cd hanflow
git remote add upstream https://github.com/xpc1024/hanflow.git
Branch off the latest main, named with conventional-commits style:
git fetch upstream main
git checkout -b feat-your-feature upstream/main
Hanflow has an architectural charter (CHARTER.md in the hanflow-evolve repo) defining
invariants that must not be broken:
HanflowError)async def by default)We recommend reading CHARTER.md §2 Design invariants before coding, to ensure your change
doesn't break the architectural contract.
uv run pytest # unit tests
uv run ruff check . # lint
uv run mypy hanflow # type checks
Make sure your change introduces no new lint / type / test failures.
Use conventional-commits format (feat: / fix: / docs: / refactor: etc.):
git add .
git commit -m "feat: <summary of your change>"
git push origin feat-your-feature
Open a PR on GitHub against xpc1024/hanflow's main branch, describing:
If the manual flow feels tedious, try our AI-assisted skill contribute-pr — it automates the full topic-selection → design → TDD implementation → testing → PR workflow, and runs architectural guard checks before submitting.
See the next page: Contribute via PR Skill (contribute-pr)