Skip to content

Project structure

  • Directorymy-app/
    • Directory.carbon/
      • Directoryplatforms/
        • DirectoryIOS/
        • DirectoryAndroid/
    • carbon.json
    • carbon.schema.json
    • Directorysrc-carbon/
      • Directorycapabilities/
        • main.json
      • Directoryicons/
        • icon.png
      • Program.cs
      • my-carbon-app.csproj
    • Directorysrc-shared/
      • AppCommands.cs
      • AppLogic.csproj
    • Directoryui/
      • Directorysrc/
        • App.vue
        • carbon.d.ts
        • package.json

The application manifest describes identity, windows, the frontend build, security, plugins, device permissions, packaging, signing, and updater settings. Keep the $schema entry for editor validation.

The desktop entry project. It loads the manifest, creates CarbonApp, selects the desktop host, and registers commands and plugins. Capabilities and the 1024 x 1024 source icon live beside it.

Application commands and services shared by desktop and mobile hosts. Generated Android and iOS projects reference this assembly, so backend behavior does not need to be copied per platform.

A normal Vite frontend. @dotcarbon/api supplies bridge functions and plugin packages add typed wrappers. ui/src/carbon.d.ts is generated from C# commands and should not be edited manually.

Native Android, iOS, and desktop platform metadata generated by carbon platform add. Managed files are hash-tracked; carbon platform sync regenerates untouched files and preserves local edits unless you explicitly pass --force.

out/ contains user-facing binaries, installers, mobile packages, signatures, and manifests. obj/dotcarbon/ contains generated build inputs such as embedded-resource props and effective merged configuration. Both directories are build output.