Open project format · Version 2.0

Appmost Project Format

The portable structure behind .appmostapp projects. Version 2 stores explicit project versions and describes native interfaces through stable, semantic row types.

116
row types
75
actions
19
value types
MyProject.appmostapp documentVersion: 2
app.json
versions/
└── 1/
    ├── version.json
    ├── localizations.json
    └── pages/
        └── home.json
resources/

Each numbered directory is a complete stored app version. Shared media stays at the package root.

Readable on disk, explicit at runtime.

01

Versioned package

app.json selects the active version and lists every stored version.

02

Semantic rows

Each row declares a canonical type such as "type": "singleLabel".

03

Declared support

Format validity and renderer support are separate. Unsupported required content must fail clearly.

A type describes composition, properties supply content.

Rows share fields for layout, styling, actions, and nested children. Content arrays such as labelModels, imageViewModels, and buttonModels fill the slots described by the row type.

The published renderer targets are iOS with SwiftUI and Android with Compose. The diagrams are explanatory, not pixel-level requirements.

Weekend plan
{
  "id": "weekend-title",
  "type": "singleLabel",
  "labelModels": [
    { "text": "Weekend plan" }
  ],
  "contentPadding": {
    "top": 12, "right": 16,
    "bottom": 12, "left": 16
  }
}

Row types

Search every row name published for document version 2 and compare SwiftUI and Compose support.

Supported Not implemented Loading registry…
Row Category iOS · SwiftUI Android · Compose