Skip to content
AI Building

Build an Atrium app with AI

One minimised file with everything an AI tool needs: how to work, the hard rules, the full app contract and the design system. Upload it to any LLM, then describe your app.

ATRIUM-AI-BUILD.mdMarkdown
  1. Upload the file to ChatGPT, Claude, Cursor or any AI tool (or paste its contents).
  2. Describe the app you want in plain English.
  3. Let the AI ask you for the API key when it needs one.
View the file
Auto

Build with AI

Prompts to copy

View .md

Copy a prompt with the button in its top-right corner, then replace anything in [square brackets]. Each one assumes your AI has already read the ADK (step 2 of Build your first app, or the Get the ADK page).

Prompt
Read the COHO Atrium ADK in full:
https://docs.coho.life/atrium-developer/llms-full.txt
For any screens, use the Atrium design system:
https://docs.coho.life/atrium-design/llms-full.txt
Then help me build an Atrium app that [describe it]. Start from the hello-go sample
(https://github.com/CompanyForLife/atrium-app-samples/tree/main/samples/hello-go), which already has the Dockerfile COHO Hosting needs.
Explain your plan in plain English before writing code.
Prompt
Make my app react to the [tenancy.started / tenancy.ended] event (section 3.4 of the spec).
When it happens, [what the app should do]. Reply to COHO quickly and do the slow work
in the background, and ignore duplicate deliveries using the delivery ID.
Prompt
Make my app run on a schedule (triggers.schedules in the manifest, schedule.<key> in
section 3.4 of the spec), [how often], and each time [what it should do].
It's a private app, so keep to at most 4 schedules, none more often than hourly.
Prompt
Add a small settings form managers can fill in from the COHO Store (light config,
section 5.3 of the spec) with these settings: [list them]. Keep it to simple fields.
Prompt
Add a panel inside COHO (quick view, section 6 of the spec) that shows [what it shows].
Follow the rules exactly: verify the signed launch URL, set frame-ancestors to COHO's
origins (never *), and never put the API key or signing secret in a URL.
Prompt
My app needs to [read or change something in COHO]. Find the right COHO Public API v1.1
endpoints (https://api.coho.life/scalar), add only the capabilities it needs to the
manifest, and explain what each one allows.
Prompt
Make my app write clear logs to the COHO Store (section 5.2 of the spec): info when things
work, warning or error when they don't, in plain English a manager would understand.
Prompt
Using the COHO MCP tools, list my organisation's Atrium apps and tell me the state of
[app name], in plain English.
Prompt
Update my hosted app [app name] with the latest changes: package a new zip and use the
COHO MCP tools to update the hosted app. Show me the preview and wait for my yes.
Prompt
Review my Atrium app against the spec as a strict security reviewer. Check: signature
verification (raw body, constant-time compare, timestamp window, the section 3.1.1 test
vectors), setup verified with the bootstrap secret before storing anything, no secrets
in URLs or logs, frame-ancestors not *, org data deleted on disconnect. List anything
that fails and fix it.

Expose an operation through COHO (Public API + MCP)

Section titled “Expose an operation through COHO (Public API + MCP)”
Add a manifest operations[] entry named list that GETs /operations/list,
description suitable for an AI, effect read. Implement the signed handler
the same way as config. Explain how a manager calls it via MCP
list_app_operations / call_app_operation and via
GET /v1.1/public/apps/{myShortName}/list with apps.operations.