Skip to content

generate

Exports your tracking plan to various output formats.

Terminal window
opentp generate <target> [options]
TargetDescriptionOutput
jsonJSON exportopentp.events.json
yamlYAML exportopentp.events.yaml
templateCustom templateConfigured output
OptionDescription
--root <path>Project root directory
--output <path>Output file path
--external-generators <path>Load custom generators
Terminal window
opentp generate json

Creates opentp.events.json with all events.

Terminal window
opentp generate yaml

Creates opentp.events.yaml with all events.

Terminal window
opentp generate json --output ./dist/events.json
Terminal window
opentp generate my-format --external-generators ./my-generators
{
"version": "2025-06",
"generated": "2025-01-10T12:00:00Z",
"events": [
{
"key": "auth::login_click",
"taxonomy": {
"area": "auth",
"event": "login_click",
"action": "User clicks the login button"
},
"payload": {
"platforms": {
"all": {
"active": "1.0.0",
"schema": {
"event_name": { "value": "login_click" }
}
}
}
}
}
]
}
version: 2025-06
generated: 2025-01-10T12:00:00Z
events:
- key: auth::login_click
taxonomy:
area: auth
event: login_click
action: User clicks the login button
payload:
platforms:
all:
active: 1.0.0
schema:
event_name:
value: login_click

Create custom generators for any output format:

my-generators/typescript/index.js
module.exports = {
name: 'typescript',
generate: async (events, config) => {
// Generate TypeScript SDK
return {
files: [
{ path: 'events.ts', content: '...' }
]
};
}
};

See Custom Generators for details.