mirror of
https://github.com/Katakate/k7.git
synced 2026-09-24 10:46:57 +00:00
39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
# Contributing to K7
|
|
|
|
Thanks for your interest in contributing!
|
|
|
|
We chose a lean and minimal approach to make development on this project as simple as possible:
|
|
- Infra is handled by a single Ansible playbook
|
|
- The CLI and API are implemented respectively with Typer and FastAPI in Python, for simplicity. They both wrap over the same `core` module.
|
|
|
|
## Project Direction
|
|
|
|
Check out the [ROADMAP.md](ROADMAP.md) to see planned features, current priorities, and long-term goals. It's a great starting point if you're looking for areas to contribute!
|
|
|
|
## Repo Layout
|
|
- `src/k7/` CLI, core logic, API server
|
|
- `src/katakate/` Python SDK (published to PyPI as katakate)
|
|
- `src/k7/deploy/` Ansible playbook to install node
|
|
- `utils/` helper scripts
|
|
|
|
## Packaging
|
|
- The root Python packaging (`setup.py` and `MANIFEST.in`) builds the `katakate` SDK for PyPI only.
|
|
- Assets under `src/k7/` (including `src/k7/deploy/*`) are not included in the PyPI package; they are used by the Debian/CLI packaging flow.
|
|
|
|
## Code Style
|
|
- Python: PEP8, explicit types for public APIs, early returns, no inline comments
|
|
- Lint/format with Ruff:
|
|
- Install: `pip install ruff`
|
|
- Check: `ruff check src`
|
|
- Format: `ruff format src`
|
|
|
|
## Building
|
|
- CLI deb helpers live in `src/k7/cli/` scripts
|
|
- Make targets may be available: `make` to list
|
|
|
|
## Releases
|
|
- Bump versions in `src/k7/__init__.py` and `src/katakate/__init__.py`
|
|
- Tag `vX.Y.Z` to build artifacts (CI may publish .deb and wheels)
|
|
|
|
## Reporting Issues
|
|
- Include steps, expected vs actual, logs, and environment (arch/OS/hardware) |