Skip to content
EN FR

Project structure and loading

Documentation status: reference — see Maturity and evidence.

A logiCells application is assembled from coordinated declarative artifacts. A file existing on disk is not enough: it must be reachable through the application, package and manifest loading chain.

Main artifact families

Artifact Responsibility
.application.yaml / .application.xml Runtime assembly: packages, services, storage, resources and execution options.
.package.yaml / .package.xml Loadable module and its items, services and package resources.
ClassItems.manifest.yaml / .xml Explicit allow-list of loadable classes in a model folder.
*.model.yaml / .xml Concepts, facets, fields, relations, collections, actions, events and view attachments.
*.form.yaml / .form View/page projection, data cache, DataSources, cursors, page model and components.
*.service.yaml / .xml Publication contract for routes, endpoints, actions or virtual pages.

A useful public project shape is:

project/
  configurations/
    BaseConsole.Memory.application.yaml
    BaseConsole.Persistent.application.yaml
  packages/
    TaskManagement.package.yaml
  meta/
    TaskManagement/
      ClassItems.manifest.yaml
      Task.model.yaml
      Project.model.yaml
      TaskBelongsToProject.model.yaml
  views/
    TaskEdit.form.yaml
    TaskList.form.yaml
  services/
    TaskManagement.service.yaml
  tests/

Loading chain

Treat this sequence as the first debugging invariant:

application configuration
  -> enabled package
  -> schema/model path
  -> ClassItems manifest
  -> model declaration
  -> metadata compilation
  -> conceptual memory initialization

If a class cannot be resolved, diagnose this chain before investigating business code, views or actions.

XML and YAML

XML and YAML are two representations of the same declarative contract. Do not migrate notation as part of a first debugging exercise. Preserve the validated source-of-truth convention of an existing project; for a new project, choose one canonical representation and keep equivalent examples paired where useful.

First-success strategy

Start with the smallest executable path: load a package, expose one class through a manifest, compile one entity model, attach a persistence projection if needed, bind one view, create/edit/save one object, then add collections, actions, events and services incrementally.