Guidance for Claude Code working in this repository.
portable-python is a CLI and Python library that compiles portable (statically-linked, relocatable) CPython binaries from source — see docs/overview.md for the full picture.
The authoritative, self-contained documentation is the OKF knowledge bundle under docs/ — start at docs/index.md. Don't duplicate it in this file — link to it. When you change behavior, update the matching docs/ entry and add a line to docs/log.md.
| Looking for… | Go to |
|---|---|
| What it does, guiding principles, end-to-end build flow | docs/overview.md |
| Core classes & how they collaborate | docs/architecture/ |
| Concepts: portability, static linking, telltale detection, folder masking, ppp-marker, build layout | docs/concepts/ |
| CLI commands & options | docs/cli/ |
| External modules (the statically-linked C libraries) | docs/modules/ |
Configuration (portable-python.yml) |
docs/configuration/ |
| Dev setup, tests, code style, debugging, Docker, CI/CD, and common tasks | docs/guides/ |
- Check runez before reimplementing file / system / CLI / logging / version helpers — see
docs/guides/local-development.md. - The docs use the OKF format; keep the bundle conformant (
scripts/check_okf.py docs) when you edit it. - As changes land, keep a top section in
docs/changelog.mdfor the upcoming release —## Unreleased, or the next version directly once it's known. Maintain it as PRs come in; it's double-checked at release. Don't fuss over marking released-vs-unreleased (small audience,git tagsays what's out).