pre-v0 · building in the open soon

Verified standard parts for AI coding agents. The agent writes only the seams.

Agents regenerate the same infrastructure on every project — slightly differently every time, unverified, unmaintained. PartKit packages each capability as a part: vendored code with a machine-readable contract, a conformance suite every adapter must pass, and a continuously re-issued attestation.

$npm i -g partkit
5
parts published
34
contract invariants
67+
conformance tests per run
4
attested adapters

The flip

Contracts erase the developer-experience differences between vendors. Switching email providers is a one-commit policy change — lockfile, selected adapter, one env line. Zero seam changes, because the contract didn’t move.

$ partkit upgrade email.transactional --adapter=postmark ✔ email.transactional 1.0.0 → 1.0.0 · adapter resend → postmark # the entire diff: - "adapter": "resend", + "adapter": "postmark", - EMAIL_ADAPTER=resend + EMAIL_ADAPTER=postmark parts/email.transactional/adapters/selected/ — swapped, hash-pinned

How it works

01 · resolve

The agent asks, the registry plans

Over MCP: resolve_plan(capabilities, lockfile) returns a deterministic install order, env keys, and exactly which seams the app must write. One provider per capability per repo — sprawl is a resolver error.

02 · add

Parts are vendored, not hidden

partkit add copies the part into your repo — you own every line, you can read every line. The lockfile pins the content hash the attestation signs.

03 · verify

The boundary holds

A pre-commit hook and CI guard make interiors read-only in practice; partkit verify checks every attestation offline. Integrity failures fail hard. Staleness only warns — our bad weekend never reddens your CI.

The wall

When an agent pattern-matches a type error into “let me edit the library,” it hits the boundary — and learns, in context, how the system works.

✋ parts/billing.subscription/src/index.ts is a part interior — read-only. Edits void the attestation and will fail CI. Fix: git checkout HEAD -- parts/ , then change YOUR side of the seam. What this part expects from you: parts/billing.subscription/seams.md