0
mirror of https://github.com/incutec-hw/OpenFC-Lite.git synced 2026-08-12 14:39:16 +00:00
Files
incutec-OpenFC-Lite/CONTRIBUTING.md
2026-08-11 17:21:04 +02:00

71 lines
2.3 KiB
Markdown

# Contributing
## Talk to us first
Before you open an issue, start a project, or write any code or CAD, bring the
idea to the Discord server and tag the developers:
https://discord.gg/v3sWmTcx3R
Say what you want to change and why. Someone may already be working on it, the
board may be held by another contributor, or the change may clash with a
production run that is already committed. A short conversation there saves a
pull request that cannot be merged.
## Before you edit a board
KiCad files cannot be merged. If two people edit the same `.kicad_pcb`, one of
them loses the work.
1. Open an issue describing the change and wait for the maintainer to agree.
2. Claim the file: `git lfs lock <path>.kicad_pcb`
3. `git lfs locks` shows who holds what. If a file is held, talk to that person
in the issue instead of starting anyway.
4. After the pull request is merged: `git lfs unlock <path>.kicad_pcb`
A pull request touching a file locked by someone else gets closed, not merged.
## Setup
```
git clone --recursive https://github.com/OpenDrone-hw/OpenFC-Lite.git
```
KiCad 10. The `--recursive` flag pulls `libs/KiCad-Library`, which the project
library tables reference for shared parts. Edit in KiCad; never text-edit
`.kicad_sch` or `.kicad_pcb`.
## Before opening a pull request
- ERC and DRC clean on every board you touched:
```
kicad-cli sch erc --exit-code-violations hardware/OpenFC.kicad_sch
kicad-cli pcb drc --exit-code-violations hardware/OpenFC.kicad_pcb
```
- Post before and after board renders in the pull request. A text diff of a
PCB is not reviewable.
- Say what you tested on real hardware, or say that you tested nothing.
## Parts
Add new symbols, footprints and 3D models to this repo's local libraries.
That is the working default.
[OpenDrone-hw/KiCad-Library](https://github.com/OpenDrone-hw/KiCad-Library) is a
mirror of parts we already use or stock. Check it first: if the part is there,
we have used it before, which saves sourcing work. Promoting a part into it is
a separate deliberate step, not a requirement for contributing here.
Prefer LCSC basic parts.
## Licensing
Hardware contributions are licensed CERN-OHL-S-2.0, the same as the project.
Sign off your commits with `git commit -s` to certify you wrote the work.
## Questions
Open a GitHub issue.