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
carbon.json
Section titled “carbon.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.
src-carbon
Section titled “src-carbon”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.
src-shared
Section titled “src-shared”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.
.carbon/platforms
Section titled “.carbon/platforms”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 and obj
Section titled “out and obj”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.
