Contributing

Contributions reach consumers through a fork and pull request. The full guide — CONTRIBUTING.md — is the authoritative version; this page is the orientation.

Read CONTRIBUTING.md Open an issue

The release contract

Do not edit CHANGELOG.md, and do not bump version in package.json. Both are release outputs, assembled on main. A pull request that edits either is rejected by CI.

The reason is mechanical: a version line is one line and the newest changelog heading is one position, so two pull requests that both touch them always conflict — and the second to merge silently reuses a version the first already claimed. Instead, every pull request adds one new file under .changes/unreleased/:

npm run change

It asks four things — type, bump, title, entry — and writes a dated, slugged file that never collides with another open pull request. Merging your pull request is what releases it.

Bumps track ideas, not artifacts

BumpUse when
majorA consumer must change their integration to keep working.
minorA genuinely new idea — a new tool, a new execution mode, a new backend family.
patchEverything else, including a new role binding under a capability that already shipped.

When in doubt choose patch. The maintainer sees the resolved level on the pull request check and can raise it; an accidental minor is permanent.

Before you open a pull request

npm ci
npm run lint
npm test
npm run test:conformance
npm run generate:check
npm run generate:connector:check

The three invariants

A change that weakens one of these is declined, regardless of what else it does:

Any change touching auth, gates, tenant isolation, or exposure needs a conformance test under test/conformance/.

Editing these docs

This site is plain hand-authored HTML under docs/, deployed to GitHub Pages on push to main. There is no build step — edit the HTML and the CSS directly, and keep the shared nav in sync across pages. Read BRAND.md before touching the logo or the palette: the mark is a family shared with hve-squad, and only its inner variant layer may change.

This repository is public. Never commit a tenant id, subscription id, resource endpoint, object id, or secret — not in code, not in a fixture, not in an example, not in a changelog entry. Use placeholders.

Reporting a vulnerability

Do not open a public issue. Report it privately through GitHub Security Advisories.