You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: give contributors five concrete, wanted starting points
Replaces a bare link to the good-first-issue label with a table of real work — a new verify check, the two longest remaining files, the thinnest coverage area, a seventh rubric dimension, an FQDN-aware egress policy — each with what 'done' looks like and none needing a Figma account.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+14-4Lines changed: 14 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,10 +5,20 @@ it extracts Figma designs as compact specs for coding agents, then verifies what
5
5
the agent built. Contributions of every size are welcome, from typo fixes to new
6
6
verify checks.
7
7
8
-
New here? Look for issues labelled
9
-
[`good first issue`](https://github.com/tathagat22/plumb-mcp/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
10
-
— they're scoped to be self-contained, and most can be done **without a Figma
11
-
account** thanks to the bundled offline fixtures.
8
+
New here? Every one of these is self-contained, has a clear "done" test, and
9
+
needs **no Figma account** — the bundled fixtures and `npm run demo` cover it.
10
+
They are also genuinely wanted, not busywork:
11
+
12
+
| Where to start | What "done" looks like |
13
+
|---|---|
14
+
|**Add a verify check.** Pick something Plumb doesn't grade yet — `letter-spacing`, `text-transform`, `object-fit` on images. | A new module in `src/verify/checks/`, wired into the `CHECKS` list in `compare.ts`, plus an entry in `src/demo/faults.ts` proving `npm run demo` catches it and invents nothing. |
15
+
|**Split a long file.**`src/review/rubric.ts` (548) and `src/normalize/normalize.ts` (505) are the longest left; the cap is 600 code lines and falling. | Extraction lands with tests for the extracted piece, and `npm test` is green before and after. |
16
+
|**Raise the coverage floor.**`src/tools/` is the thinnest area — `query.ts` and `screenshot.ts` have no direct specs. | New specs, then a *separate* commit raising the threshold in `vitest.config.ts`. It only ever goes up. |
17
+
|**Teach the rubric something.**`src/review/rubric.ts` grades six dimensions; a seventh (icon-family consistency, say) is a self-contained addition. | A new dimension with its weight, plus specs that break exactly one thing and assert only that dimension reacts. |
18
+
|**Tighten the egress NetworkPolicy.**`deploy/helm/plumb` allows public 443 because plain `NetworkPolicy` can't express hostnames. | A Cilium or Calico variant restricted to the hosts in the README's egress table, validated by `npm run deploy:scan`. |
19
+
20
+
Also labelled on the tracker:
21
+
[`good first issue`](https://github.com/tathagat22/plumb-mcp/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
0 commit comments