Skip to content

Development Setup

  • uv, which installs a supported Python (3.10 or newer) when none is available
  • just
  • Git; on Windows, Git for Windows also provides the sh that just uses
  • 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
  1. Clone the repository, or your fork:

    Terminal window
    git clone https://github.com/barisgit/KiLM.git
    cd KiLM
  2. Install the locked dependencies and the git hooks:

    Terminal window
    just setup

    Setup is safe to rerun, including in a new git worktree.

  3. Run everything CI runs:

    Terminal window
    just check

Run the CLI from the checkout with uv run kilm --help.

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.

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.