Skip to content

Start here

Edit the app definition as JSON

Use Code view for precise configuration while preserving the shared working document.

Code is a JSON view of the same app definition edited by Canvas. It is useful for reviewing exact ids, complex structured values, initial app state, theme tokens, advanced action inputs, published outputs, and configuration not represented by a visual control.

Edit

  1. Open the builder and choose Code.
  2. Find the relevant app, components, dataSources, or other supported definition field.
  3. Make a focused edit using valid JSON.
  4. Read the editor diagnostics and correct schema or binding problems.
  5. Switch to Canvas or Preview to inspect the result.
  6. Choose Save when the intended changes are valid.

Component-type completion uses the catalog. Binding completion offers paths from the current definition. Use these suggestions as a guide, while checking the exact component reference for valid properties and published state.

Syntax and schema

Valid JSON is required: quote property names, use correct array/object delimiters, and remove trailing commas. Parsing succeeds before schema validation, so a syntactically valid document can still be rejected for an unsupported field, invalid enum, id collision, missing source, or invalid container structure.

Unparseable or rejected text stays in the code draft and does not replace the last valid working definition. Save and the Canvas switch first flush pending typing; if it is invalid, the operation stops with the reason instead of silently dropping the visible text.

Undo, Redo, and other builder changes can update the shared document and therefore the code editor. Code is not a separate branch to merge later.

Definition versus package

The builder edits an app definition, not the entire portable package. A package can also carry workflow recipes, connection requirements, prompts, table schemas, and private component manifests. Do not paste an entire .strive.html file or package object into the definition editor.

Likewise, runtime {{ }} bindings differ from provisioning-time package references. Hosted app ids should refer to the actual resources the app is permitted to use; copying another account's id does not confer access.

See Bindings, Outputs, and Portable import.