Development Setup
Prerequisites
Section titled “Prerequisites”- uv, which installs a supported Python (3.10 or newer) when none is available
- just
- Git; on Windows, Git for Windows also provides the
shthatjustuses - pnpm and the Node.js version in
docs/.node-version, for the documentation site - KiCad, run at least once, to try KiLM against a real configuration
Set up a checkout
Section titled “Set up a checkout”-
Clone the repository, or your fork:
Terminal window git clone https://github.com/barisgit/KiLM.gitcd KiLM -
Install the locked dependencies and the git hooks:
Terminal window just setupSetup is safe to rerun, including in a new git worktree.
-
Run everything CI runs:
Terminal window just check
Run the CLI from the checkout with uv run kilm --help.
Commands
Section titled “Commands”| Command | Purpose |
|---|---|
just |
List the commands. |
just check |
Formatting check, lint (ruff), type check (ty), and tests, including the 600-line module limit. Never modifies files. |
just test [args] |
Fast test run; arguments go to pytest, for example just test -k sync. |
just cov |
Tests with coverage and the minimum threshold. |
just fix |
Format the code and apply safe lint fixes. |
just docs |
Build this documentation site. |
just docs-dev |
Serve this documentation site with live reload. |
The git hook formats, lints, and type-checks staged Python files on commit. The
tools run at the versions locked in uv.lock, the same as in CI.
Standards
Section titled “Standards”The ruff rules and type-checker configuration live in pyproject.toml; fix the
code rather than weakening a rule. Every suppression names its rule and gives a
reason. AGENTS.md
describes the project layout, coding standards, and release process.
Ready to contribute? See the Contributing Guide.