Skip to content
Documentation

Repository structure

backend owns Laravel/Filament and its infrastructure. app/web owns Nuxt browser routes and adapters. app/mobile owns NativeScript views, navigation, and native adapters. Both consume @firehall/client-core from app/shared through workspace dependencies. app/fixtures is selected only by explicit preview adapters.

ui owns browser presentation built on Reka and Font Awesome Free. It cannot fetch data or import app stores. ui/native renders native views without Reka, Nuxt, or DOM imports. ui/tokens contains generated data with no UI runtime. Filament uses its own Blade/Livewire layer and generated tokens, not Vue components.

docs is an independent static Nuxt build. bin is the command implementation shared by contributors and CI. .firehall is ignored scratch space, not published product documentation.

Use workspace:*, never relative imports into another package’s source tree. bin/check-boundaries enforces key restrictions and audits the live browser bundle for fixture/native/server leaks. pnpm’s hoisted linker is intentional: NativeScript’s CLI and build plugins require a compatible physical dependency layout. There remains one root pnpm lockfile. Soketi’s isolated npm lockfile is outside the workspace.

Non-emergency communication only. Not for dispatch or emergency response.