Thank you for your interest in contributing! kicad2print turns KiCad PCB designs into 3D-printable substrates, and every improvement — bug fix, new feature, or documentation clarification — helps makers build real boards faster.
| Type | Where |
|---|---|
| Bug reports | GitHub Issues — use the Bug report template |
| Feature requests | GitHub Issues — use the Feature request template |
| Code changes | Fork → branch → pull request (see below) |
| Documentation | Same PR flow — docs live in docs/ and inline in README.md |
| Example boards | Add a self-contained folder under examples/ |
Prerequisites: Rust stable (≥ 1.78) via rustup.
git clone https://github.com/N0t4R0b0t/kicad2print.git
cd kicad2print
cargo build
cargo testRun against a real board:
cargo run -- examples/ps2-serial-mouse-adapter/ps2-serial-mouse-adapter.kicad_pcb-
Fork the repository and create a branch off
master:git checkout -b feat/my-improvement
-
Make your changes. Keep commits focused and use Conventional Commits prefixes:
feat:,fix:,docs:,refactor:,test:,chore:. -
Test your changes:
cargo test cargo clippy -- -D warnings cargo fmt --check -
Open a pull request against
master. Fill in the PR template — especially the "How to test" section so reviewers can verify the change quickly.
- Run
cargo fmtbefore committing. - No new
clippywarnings — fix them or add a justified#[allow(...)]with a comment. - Keep public items documented with
///doc comments.
- Create
examples/<board-name>/with the.kicad_pcbfile and a briefREADME.md. - Run kicad2print against it and commit the generated STL/HTML output.
- Reference it in the top-level
README.mdexamples table.
By submitting a contribution you agree that your work will be released under the project's AGPL-3.0 licence.