--- seo: title: Forge Framework Documentation description: Documentation for the Forge Arma 3 framework, covering architecture, persistence, extension APIs, gameplay modules, and client UIs. --- ::u-page-hero #title Forge Framework Documentation #description Forge is a persistent Arma 3 framework that combines SQF addons, a Rust `arma-rs` extension, SurrealDB persistence, shared domain crates, and browser-backed player interfaces. Use these docs to understand the runtime architecture, extension API surface, server gameplay modules, and client addon integration patterns. #links :::u-button --- color: primary size: xl to: /getting-started trailing-icon: i-lucide-arrow-right --- Start here ::: :::u-button --- color: neutral icon: simple-icons-github size: xl to: https://github.com/InnovativeDevSolutions/forge variant: outline --- View source ::: :: ::u-page-section #title What Forge Covers #features :::u-page-feature --- icon: i-lucide-boxes --- #title Domain [Modules]{.text-primary} #description Actor, bank, CAD, garage, locker, organization, phone, store, task, and owned-storage workflows share a consistent service and extension model. ::: :::u-page-feature --- icon: i-lucide-server --- #title Rust [Extension]{.text-primary} #description The server extension keeps command parsing thin, routes domain requests into services, and persists durable state through SurrealDB. ::: :::u-page-feature --- icon: i-lucide-database-zap --- #title Durable [Persistence]{.text-primary} #description Repository traits stay storage-agnostic while concrete adapters in the extension handle schema and database mapping. ::: :::u-page-feature --- icon: i-lucide-monitor-smartphone --- #title Browser [UIs]{.text-primary} #description Client addons host web-based interfaces inside Arma displays and synchronize state through namespaced browser bridge events. ::: :::u-page-feature --- icon: i-lucide-arrow-left-right --- #title Transport [Layer]{.text-primary} #description Large payloads move through chunked request and response transport while smaller commands still use direct `callExtension` paths. ::: :::u-page-feature --- icon: i-lucide-wrench --- #title Development [Workflow]{.text-primary} #description The docs cover module boundaries, local validation checks, and where new domain logic belongs across Rust, SQF, and web UI layers. ::: :: ::u-page-section #title Documentation Areas #features :::u-page-feature --- icon: i-lucide-rocket to: /getting-started --- #title [Getting Started]{.text-primary} #description Framework overview, architecture, module reference, and development rules. ::: :::u-page-feature --- icon: i-lucide-server-cog to: /server-extension --- #title Server [Extension]{.text-primary} #description Extension architecture, command surface, and SQF usage examples. ::: :::u-page-feature --- icon: i-lucide-layers-3 to: /server-modules --- #title Server [Modules]{.text-primary} #description Gameplay-domain usage guides for persistence, hot state, and command flows. ::: :::u-page-feature --- icon: i-lucide-monitor-smartphone to: /client-addons --- #title Client [Addons]{.text-primary} #description Browser bridge, client UX entry points, and addon-specific event contracts. ::: ::