domo-code-engine
SKILL.md
Rule: Domo App Platform Code Engine (Toolkit-First)
This rule is toolkit-first. Use CodeEngineClient for function execution from apps.
Legacy endpoint-first guidance has been archived to
archive/legacy-rules/domo-code-engine.md.
Canonical Client
yarn add @domoinc/toolkit
import { CodeEngineClient } from '@domoinc/toolkit';
const response = await CodeEngineClient.execute(
'calculateTax',
{ amount: 1000, state: 'CA' }
);
const result = response.body.output;
Manifest Requirements
Code Engine functions still require packageMapping in manifest.json.
{
"packageMapping": [
{
"alias": "calculateTax",
"parameters": [
{ "alias": "amount", "type": "number", "nullable": false, "isList": false, "children": null },
{ "alias": "state", "type": "string", "nullable": false, "isList": false, "children": null }
],
"output": { "alias": "result", "type": "object", "children": null }
}
]
}
Error Handling Pattern
async function executeFunction(alias: string, payload: Record<string, unknown>) {
try {
const response = await CodeEngineClient.execute(alias, payload);
return response.body;
} catch (error) {
console.error(`CodeEngineClient.execute failed for ${alias}`, error);
throw error;
}
}
Canonical Rules References
- Toolkit patterns:
.cursor/rules/04-toolkit.mdc - Manifest mapping details:
.cursor/rules/06-manifest.mdc - Operational gotchas:
.cursor/rules/09-gotchas.mdc
Checklist
- Function alias defined in
packageMapping - Calls use
CodeEngineClient.execute()(not rawdomo.postby default) - Output parsing uses
response.body - Errors handled and surfaced to UI or logs
Weekly Installs
2
Repository
stahura/domo-ai…be-rulesGitHub Stars
10
First Seen
5 days ago
Security Audits
Installed on
windsurf2
amp2
cline2
opencode2
cursor2
kimi-cli2