feat: publish the Mini App contract with an example package and CI checks - #11
Merged
Merged
Conversation
added 13 commits
September 22, 2026 22:21
… runtime, and routes
…e entry conventions
Assisted-by: codex reason:community-contract-validator
This reverts commit f9ab13e. Three of its changes go beyond the reviewed contract: mcpEndpoints becomes required, *.mcp.json descriptors are parsed for a cross-check, and .js entries run node --check. It also edited two community plugin READMEs only to silence warnings. The path-containment and start-export improvements return in a separate pull request.
MyPrototypeWhat
force-pushed
the
feat/agent-first-contract
branch
from
September 23, 2026 09:29
0a42e30 to
3755895
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Contributors — most of them working with AI coding agents — had no way to learn the Mini App package contract without access to the desktop app. This branch puts the contract in the repository and gates pull requests on it.
AGENTS.md: the entry point coding agents load automatically — steps, hard rules, review policy, navigation.docs/package-contract.md,docs/runtime.md,docs/security.md: layout, the three manifests, portable paths and limits, the Node runtime contract, and the security rules. Each states the MiniMax Code version it was verified against.examples/hello-miniapp/: the smallest valid package, copyable as a starting point. Its README doubles as the template for the two headings the check looks for.npm run check: a zero-dependency validator (scripts/validate.mjs) plus its tests (node --test, 55 cases). It checks manifest field sets, patterns, enums and limits; portable paths and package size;node_modules; the Node entry'sstartexport and stdout use; README headings (warning only); and, repository-wide, plugin-ID uniqueness and root README links. Plugin capabilities (Skills, MCP servers, hooks, host bindings, MCP endpoints, Connector access) are validated for shape only; MiniMax Code validates their contents at install time..github/workflows/ci.yml: runsnpm run checkon every pull request and push tomain.CONTRIBUTING*.md/README*.md: point at the example, the docs, and the check. The MiniApps tables and the two existing community packages are untouched.Commits
f9ab13eand3755895cancel each other out (an experiment with stricter checks and its revert); a squash merge hides them.Validation
npm ci && npm run checkon the branch head:examples/hello-miniappOK;plugins/amszuidas/mcode-token-usage-boardandplugins/yanhy2000/mcode-usage-monitor0 errors (two README-heading warnings each, by design);repositoryOK; 55/55 tests; CI green.openrouter-model-manager, a package that runs on a real host) validated separately: 0 errors, 1 warning.start(context)→GET /dashboard200 →dispose()frees the port; nothing written to stdout.Not covered
Verified againstmarkers and header comments in the host repository are the sync mechanism.