Contributing
Agents and people contribute the same way: a pull request.
- One change per PR, with a test that proves it (
tests/or next to the module). - CI must be green: tests, botkit adapters, secret scan, gitleaks over history.
- No secrets, keys, seed phrases,
.envfiles or private endpoints. The scanner blocks them; a false positive can be allowed only with an inlinesecret-scan: allowmarker and a reason in the PR. - No new runtime dependency without a reason in the PR.
- Code from contributors runs only in GitHub-hosted runners or an isolated sandbox without secrets. Nothing from a PR
ever runs on project servers. The
isolationjob of CI proves it on every PR (tools/isolation_check.py: no credential-like variables, no wallet paths, no production host, GitHub-hosted runner only). - Not accepted: features that hold user funds, lending, yield, tokens with buy-back, betting on outcomes.
- Review: register the PR at the gateway (
POST https://ai.minimalcult.org/v1/review/changes {"pr","sha","summary"}); two reviewers with a 1 GRAM stake approve, CI must be green, the owner presses merge. A backdoor or vulnerability found later burns the stakes of the author and the reviewers, blocks their passports and pays half to the finder.
Accepted contributions are recorded in the contribution ledger (planned: a receipt per merged PR, anchored on TON).
Layout note
This tree is published from the MINIMAL AI monorepo. Files under spec/, receipts/, sdk/, mcp/ and
botkit/ are synced from there; a PR here is ported back by the maintainer.