Skip to content

Commit cf3d405

Browse files
roaldarbolclaude
andcommitted
Add AI use policy page; recommend KiCad for board design
- Add an AI use policy (adapted from napari's, itself from Zulip's), tailored to BeeHive contributions (boards, recipes, MicroPython, docs). Nest Contributing into a section (Overview + AI use policy) and link it from the Contributing page. - "Build your own board": recommend KiCad (FOSS, and what BeeHive's boards use — open the existing .kicad_pcb files as references) plus FreeCAD for mechanical parts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 83f66c6 commit cf3d405

4 files changed

Lines changed: 85 additions & 1 deletion

File tree

docs/ai-use-policy.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
title: AI use policy
3+
description: How to use AI tools when contributing to BeeHive — you are accountable for what you submit.
4+
---
5+
6+
# AI use policy
7+
8+
BeeHive welcomes contributions made with the help of AI tools — but **you are
9+
responsible for everything you submit**. This page sets out how to use them well.
10+
11+
## The core principle
12+
13+
We are humans who enjoy working with other humans. Use whatever tools help you,
14+
but you are ultimately accountable for the boards, code, and documentation you
15+
contribute. If you would not be comfortable explaining a change and standing
16+
behind it, it is not ready to submit.
17+
18+
## Please don't
19+
20+
- Let an AI agent open pull requests on your behalf.
21+
- Submit a board design, recipe, code, or docs change you have not personally
22+
understood and tested.
23+
- Let a chatbot carry on a conversation (an issue thread, a PR review) for you.
24+
25+
Pull requests that appear to ignore these guidelines may be closed without
26+
review — checking un-vetted machine output costs maintainers more time than it
27+
saves.
28+
29+
## Using AI to build and code
30+
31+
- **Get familiar with what you are changing first.** Understanding the board,
32+
the [design rules](introduction/design-rules.md), or the code you are touching
33+
lets you write better prompts *and* judge whether the output is right.
34+
- **Don't trust an assistant's claims about how BeeHive works.** LLMs are often
35+
confidently wrong, even about things the docs answer directly. Check against
36+
the design rules, the board's schematics, or a real device.
37+
- **Test on hardware.** A recipe or snippet that looks plausible is not a
38+
contribution until it actually runs on the boards it claims to.
39+
- **Keep pull requests small and focused,** even if a tool generated everything
40+
in one go. One board, one recipe, or one fix per PR is far easier to review.
41+
- **Edit AI-written comments and prose.** Prefer clarity and brevity over
42+
exhaustive, generic text; delete comments that just restate the code.
43+
44+
## Using AI to communicate
45+
46+
- **Say why, not what.** A PR description that merely restates the diff adds
47+
nothing — explain your reasoning and what you tested.
48+
- **Fill in the templates yourself.** Issue and PR templates exist to save
49+
everyone time; complete them rather than having a tool do it.
50+
- **Verify anything you post.** Don't paste unchecked AI output into an issue or
51+
a pull request.
52+
- **Link, don't quote.** Pointing to the primary source — a datasheet, the docs,
53+
a repo file — beats quoting an LLM. If you must quote one, put it in a
54+
`>` blockquote so it is clearly machine output, not your own words.
55+
- **Clarity over polish.** A clear, slightly imperfect message beats a
56+
perfectly-worded one that hides the point.
57+
58+
## Attribution
59+
60+
This policy is adapted from the
61+
[napari AI use policy](https://napari.org/dev/developers/contributing/ai.html),
62+
which was itself adapted from Zulip's AI usage guidelines.

docs/contributing.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ description: How to contribute boards, recipes, and fixes to BeeHive.
88
BeeHive is open source and community-driven. Contributions aren't confined to
99
one institution — anyone can add a board, share a recipe, or improve the docs.
1010

11+
!!! note "Using AI tools?"
12+
That's fine — but you're accountable for what you submit. Please read the
13+
[AI use policy](ai-use-policy.md) first.
14+
1115
## Ways to contribute
1216

1317
- 🧩 **A new board (ingredient).** Design a daughter board that follows the

docs/techniques/build-your-own-board.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,21 @@ Every BeeHive board is either a **mainboard** (carries a microcontroller) or a *
99

1010
The workflow is simple: pick a function, design to the rules, then submit via the repo.
1111

12+
## What to design it in
13+
14+
Use **[KiCad](https://www.kicad.org/)** — a free, open-source, cross-platform
15+
EDA suite for schematic capture and PCB layout. It's the standard FOSS tool for
16+
this, and it's what BeeHive's own boards are drawn in, so you can open any
17+
existing board's `.kicad_pcb` from the [ingredients catalogue](../ingredients/index.md)
18+
(each board links its KiCad files) as a starting point or reference. KiCad also
19+
exports the gerbers and bill of materials the fab houses and
20+
[Kitspace](https://kitspace.org/) need.
21+
22+
!!! tip "Mechanical parts"
23+
If your board needs a 3D-printed frame, mount or enclosure, design those in
24+
**[FreeCAD](https://www.freecad.org/)** (open-source parametric CAD). KiCad
25+
can hand off the board outline and 3D model to it.
26+
1227
## 1. Pick a function
1328

1429
A daughter board does **one thing** — drive an actuator or read a sensor. If you find yourself putting two unrelated functions on one board, that's two boards. Keeping boards single-function is what lets them mix and match across recipes.

zensical.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ nav = [
6363
{ "Glossary" = "courses/intro-to-electronics/glossary.md" },
6464
] },
6565
] },
66-
{ "Contributing" = "contributing.md" },
66+
{ "Contributing" = [
67+
{ "Overview" = "contributing.md" },
68+
{ "AI use policy" = "ai-use-policy.md" },
69+
] },
6770
]
6871

6972
[project.theme]

0 commit comments

Comments
 (0)