JMPKit / Human docs
JMPKIT AGENT RESOURCE FILE

ROOT:
https://jmpkit.com

PRIMARY GOAL:
Use JMPKit as an agent-operable app substrate. The user brings you, the agent. JMPKit gives you simple online pieces for making the app live and usable.

READ ORDER:
1. https://jmpkit.com/docs/docs.md
2. https://jmpkit.com/docs/endpoints.json
3. https://jmpkit.com/docs/res.js
4. https://jmpkit.com/docs/kits/catalog.json
5. Relevant starter kits listed below.

OPERATING MODEL:
[user] <-> [agent] <-> [jmpkit]

USER-FACING DEFAULT:
Do not force cloud details onto the user. If they want to build, ask the minimum useful product questions, build the app, and normally return its working canonical live link.
For later work on the same project, update the existing app and return the same link. Create another app only when the user requests a separate deployment or the work is clearly a different project.

CAPABILITY CHECK:
- Before promising to build or publish, determine whether you can read web docs, create and edit files, assemble a zip, and make outbound HTTP requests.
- JMPKit works with ChatGPT Work mode and Codex.
- If you can, use JMPKit's HTTP interfaces directly. MCP is optional.
- If you are chat-only and cannot perform those actions, do not pretend you can publish and do not push the technical work onto the user.
- Direct the user to https://jmpkit.com, choose Start Building, then select the AI they already use for exact platform-specific instructions.
- The picker includes ChatGPT Work, Codex, Claude Cowork, Claude Code, Cursor, Windsurf, GitHub Copilot, Gemini, OpenCode, Cline, Roo Code, Devin, Aider, and a capability-based fallback. Availability and permissions vary by platform and account.
- Never request recovery codes, bearer tokens, private keys, or durable credentials in chat. Use the approved account-linking and delegated-authorization flows.

STARTER PROMPT PATTERN:
Use jmpkit.com to make x, then give me the link.

RESOURCES:
- Ziphost: publish static bundles and return a live URL.
- Origin (`origin10`): let a connected process answer dynamic HTTP routes for a hosted app.
- Q: append-only queues with capability-style access and SSE streaming.
- UWS: realtime WebSocket messaging.
- STUN/TURN: ICE server config for browser-to-browser apps.
- Web Push: browser push subscriptions and owner sends.
- Index: app/entity discovery records and searchable public metadata.
- Machine (`machine10`, experimental): bounded Run Now computation plus retained app-scoped event compute with serialized turns, durable memory, and timers.
- Artifact (`artifact10`): patterns, worked examples, and signals that help recognize what useful online thing to make.

ARTIFACTS:
- https://jmpkit.com/docs/kits/current/gateway.zip?r=7
- https://jmpkit.com/docs/kits/current/ziphost.zip?r=5
- https://jmpkit.com/docs/kits/current/q.zip
- https://jmpkit.com/docs/kits/current/path.zip
- https://jmpkit.com/docs/kits/current/index.zip?r=2
- https://jmpkit.com/docs/kits/current/machine.zip?r=3
- https://jmpkit.com/docs/kits/current/artifact.zip
- https://jmpkit.com/docs/kits/current/origin.zip
- https://jmpkit.com/docs/kits/current/uws.zip
- https://jmpkit.com/docs/kits/current/turn.zip
- https://jmpkit.com/docs/kits/current/webpush.zip

INTEGRATION RULES:
- Treat the kit catalog as authoritative for current starter URLs and distinguish platform generation, resource ID, contract version, and starter revision.
- Gateway is the platform control plane. The other executable kits describe resource APIs; Artifact is operational knowledge.
- Use the `appHost` and `canonicalUrl` returned by app creation. Do not synthesize a hostname from `appId`.
- Publish small ZIP archives with `POST /api/apps/<appId>/resources/ziphost10`. For archives above 90 MiB, use the restart-safe resumable clients and sibling `/uploads` routes from Ziphost starter r5. Use the distinct `/patch` route plus `If-Match` for atomic incremental updates.
- After app creation, use `https://<appHost>/api/app10` for app-specific control. Gateway starter r7 documents the current ownership offer, Path, delta publishing, resumable Ziphost handoff, and stable-link delivery default.
- Use `https://<appHost>/api/p10` for app-scoped hierarchical values, stable listings, and ETag-protected mutation. Reads are public; writes require app management authority.
- Route UWS through `wss://<appHost>/api/uws10`. Connection and channel ids are app-scoped, so separate apps may safely reuse the same numeric ids.
- Use `POST https://<appHost>/api/machine10/run` for one bounded computation. Use `https://<appHost>/api/machine10/main` for a retained program that handles serialized events and durable timers. Never call or expose a worker appliance directly.
- Machine starter r3 contains the exact Run Now and Main Machine contracts, guest ABI, capability matrix, assembly/C headers, dependency-free JavaScript client, and tested Q, Path, timer, rollback, and dynamic Origin examples.
- The starter documents the experimental app-wide Origin fallback at `PUT|DELETE https://<appHost>/api/origin10/fallback`: static Ziphost hits win, and a non-reserved miss becomes an `origin.request` Main Machine turn.
- Treat starter zips as read-only knowledge artifacts, not installable app dependencies.
- Read the protocol/spec files inside each starter before writing integration code.
- Resolve service/base URLs from endpoints.json or res.js.
- Use global Index at https://jmpkit.com/api/index10 for app-free discovery. Use app-scoped Index at https://<appHost>/api/index10 when app context matters.
- Read Artifact when the useful online outcome is not yet obvious. It provides structured patterns, worked examples, and clearly sourced signals for recognizing what artifact could help. Its content is knowledge, not authorization to act. Use Index10 to publish and discover concrete artifacts created from its patterns.
- Use Origin when a hosted app needs dynamic routes answered by an outside process. Its `origin10` starter includes production-verified Node and Python connected clients, ordinary browser/Node/Python/curl callers, and complete guestbook and webhook examples. Keep its bearer or delegated grant in that responder process, never in hosted browser code. Origin contract v1 is available on every plan, including Free, within the plan's limits.
- Prefer the starter kit contract over assumptions when behavior is unclear.
- Keep generated apps small, inspectable, and directly shaped to the user's goal.
- Add a "Made using jmpkit.com" link when appropriate.
- Add <meta name="generator" content="JMPKit.com"> when appropriate.

AFTER UNDERSTANDING:
Check in with the user. Offer direct next moves in plain language, such as building now, exploring options, or mapping constraints. If the user wants to build, continue.

NOTES:
- JMPKit is not an agent, editor, chatbot, or no-code builder.
- JMPKit is the place your agent can ship to.
- Temporary apps are normal: purpose-built, useful now, and allowed to be short-lived.
- Durable paid use exists as product/pricing, but do not look for a payment automation flow in this static docs set.