Read the EDK overview first. An organization workspace must contain the files created by
elementum pull org --data-only before you pull other entities.Start from the Deployed Definition
Use a stable namespace, name, or handle supported by the pull command rather than copying platform IDs into authored source. First confirm that your profile points to the intended organization:pull app reconstructs the App, its fields, and supported app-owned entities. pull element, pull table, and pull task reconstruct their supported children and references. Each command regenerates the applicable catalogs and automatically adopts existing resources into deployment state.
Use plain elementum pull org when you also want editable organization resources such as categories and groups in organization.ts. The --data-only form refreshes lookup bags in org.ts without managing those resources.
elementum pull automation <automation-id> is a targeted recovery command for one app-owned Automation. Normal App pulls remain the primary way to reconstruct a complete App.
Automatic adoption
Normal pulls automatically connect the exported resources to the workspace’s deployment state. This process verifies all of the following before it succeeds:- The expected resources are imported.
- The adoption would create, update, or destroy nothing.
- A follow-up plan is clean.
--no-adopt only when you intentionally need source without binding it to this workspace.
Pull commands write one JSON summary to standard output. Review its diagnostics and skipped items. If the summary reports a part of the solution that the EDK cannot reconstruct, do not assume that part is managed by the generated source.
Understand the Workspace
An organization workspace has this core structure:organization.tscontains editable organization resources pulled by plainpull org.apps/,elements/,tables/, andtasks/contain editable source.org.tscontains organization reference tokens, such as CloudLinks and connectors. Refresh it withpull org --data-only; do not edit it.generated/catalog.tsis a generated barrel over authored entities. Its@catalogalias provides typed cross-entity references. Do not edit it..tf/in/contains temporary pull input. Pull commands own it..tf/out/contains generated deployment configuration.elementum buildowns it.- Deployment state binds authored labels to deployed objects. Do not hand-edit it.
.tf/ or .terraform/. A workspace without backend.tf uses the root terraform.tfstate compatibility mode. Shared workspaces and CI should use a committed, non-secret backend.tf with verified state locking; backend credentials belong in the backend’s environment or workload identity, not in source.
Author Typed Source
Import builders from public EDK package subpaths and cross-entity references from@catalog:
- Organization resources live in
organization.ts; Tables and standalone Tasks live at the organization root. - Apps own Agents, platform agentic Skills, Approval Processes, Visual Flows, and app-owned Automations.
- Elements and Tables can own Search Tables; Apps cannot.
- Apps and Elements can own File Readers.
- The App or Element directory and root filename supply its source ref.
- An app-owned file’s stem supplies that entity’s ref.
- A field’s key in
fieldsis its stable authored identity;nameis its display label.
Preserve unrelated pulled fields, layouts, list views, and child entities. Build diagnostics may identify options that cannot be represented safely. Resolve or report those diagnostics; do not silence them with casts, guessed tokens, or generated-file edits.
Scaffold New Source
Create new authoring files without contacting the platform:new app and new element register their catalog references immediately. Use elementum new agent or elementum new skill for other app-owned authoring files.
Run elementum generate after hand edits that change the catalog surface, such as adding an Automation output or copying an authoring file:
generated/catalog.ts.
The
new automation and pull automation commands support app-owned Automations only; element-owned Automation authoring is not yet supported. Some Automation trigger and action kinds are reported but skipped during pull, and dynamic picklist filtering and sorting are not supported on the build/pull path.Validate in Order
Run each layer separately from the organization workspace:tscchecks the authored TypeScript and typed references.planbuilds the current source, then compares the complete workspace with the state and target environment.
plan does not replace the standalone TypeScript check. It also does not deploy an individual file when you pass a nested path; the path locates the organization root, and the complete workspace is planned.
Run elementum build separately only when you want to generate and inspect .tf/out/ without contacting the platform.
Review every create, update, replacement, and removal before running elementum apply. Stop if the plan contains an unexplained replacement, removal, or recreation of an object that already exists.
Work with the Authoring Agent
When you delegate EDK work to a coding agent, provide:- The business outcome and affected personas.
- The profile, organization workspace, and App or Element namespace.
- The source that must remain unchanged.
- Required dependencies, available models, and expected automation publication behavior.
- A requirement to pull before editing and preserve existing identities.
- A requirement to run
tscandplanbefore applying. - A clear approval boundary for
apply.