Skip to content

Examples

ForgeOS examples show how a generated app is structured and which capabilities each template demonstrates.

Minimal web app

Create it:

npm create forgeos-app@alpha notes-app -- --template minimal-web
cd notes-app
npm run dev

Initial source tree:

notes-app/
  AGENTS.md
  forge.config.ts
  package.json
  src/
    actions/
      logNoteCreated.ts
    commands/
      createNote.ts
    forge/
      schema.ts
    policies.ts
    queries/
      listNotes.ts
      liveNotes.ts
  web/
    index.html
    package.json
    src/
      App.tsx
      lib/forge.ts
      main.tsx
      styles.css

Capabilities:

Capability Where to look
Command src/commands/createNote.ts
Query src/queries/listNotes.ts
LiveQuery src/queries/liveNotes.ts
Action src/actions/logNoteCreated.ts
Schema src/forge/schema.ts
Policy src/policies.ts
React bridge web/src/lib/forge.ts
UI web/src/App.tsx

After generation:

src/forge/_generated/
  agentContract.json
  appMap.md
  frontendGraph.json
  capabilityMap.json
  runtimeRules.md
  operationPlaybooks.md

Use this template to learn the full local loop without extra integrations.

Nuxt web app

Create it:

npm create forgeos-app@alpha nuxt-notes -- --template nuxt-web
cd nuxt-notes
npm run dev

Initial source tree:

nuxt-notes/
  forge.config.ts
  package.json
  src/
    actions/
      logNoteCreated.ts
    commands/
      createNote.ts
    forge/
      schema.ts
    policies.ts
    queries/
      listNotes.ts
      liveNotes.ts
  web/
    app.vue
    nuxt.config.ts
    package.json
    components/
      LiveNotes.vue
      NoteComposer.vue
    composables/
      forge.ts
      useNotes.ts
    plugins/
      forge.client.ts
      forge.server.ts
    server/api/
      forge-health.get.ts

Capabilities:

Capability Where to look
Command src/commands/createNote.ts
LiveQuery src/queries/liveNotes.ts
Nuxt plugins web/plugins/forge.client.ts, web/plugins/forge.server.ts
Vue composable bridge web/composables/forge.ts
Domain composable web/composables/useNotes.ts
Nitro route web/server/api/forge-health.get.ts
UI web/app.vue, web/components/*.vue

Use this template when you want a Nuxt/Vue starter with generated Forge Vue composables and NUXT_PUBLIC_FORGE_URL runtime configuration already wired.

Agent workroom app

Create it:

npm create forgeos-app@alpha workroom -- --template agent-workroom
cd workroom
npm run dev

Initial source tree:

workroom/
  AGENTS.md
  forge.config.ts
  package.json
  src/
    actions/
      indexAgentSignal.ts
    commands/
      openWorkroom.ts
      recordAgentSignal.ts
      recordCheckRun.ts
    forge/
      schema.ts
    policies.ts
    queries/
      listWorkrooms.ts
      liveWorkroom.ts
  web/
    index.html
    package.json
    src/
      App.tsx
      lib/forge.ts
      main.tsx
      styles.css

Capabilities:

Capability Demonstrated by
App preview Workroom embeds the target app URL, normally http://127.0.0.1:5174
External-agent signals recordAgentSignal and liveWorkroom
Verification evidence recordCheckRun and the checks panel
Handoff context AGENTS.md, generated contracts, and live evidence
Studio attachment forge studio attach . --target codex --preview-port 5174

Use this template to show ForgeOS as an agent-native development cockpit. The browser UI does not chat with a model; Codex, Claude Code, or Cursor edit the workspace externally while ForgeOS records the evidence.

B2B support web app

Create it:

npm create forgeos-app@alpha support-app -- --template b2b-support-web
cd support-app
npm run dev

Initial source tree:

support-app/
  AGENTS.md
  forge.config.ts
  package.json
  src/
    actions/
      captureTicketCreated.ts
    commands/
      closeTicket.ts
      createTicket.ts
      manageBilling.ts
    forge/
      schema.ts
    policies.ts
    queries/
      getTicket.ts
      listTickets.ts
      liveTickets.ts
    workflows/
      triageTicketWorkflow.ts
  web/
    app/
      layout.tsx
      page.tsx
      providers.tsx
      tickets/page.tsx
    components/
      CreateTicketForm.tsx
      PolicyDeniedDemo.tsx
      TicketList.tsx
      TraceDetails.tsx
      TriageStatus.tsx
    lib/
      forge.ts

Capabilities:

Capability Demonstrated by
Transactional command createTicket, closeTicket
Policy denial manageBilling demo path
Query and liveQuery ticket list and live ticket updates
Action ticket-created event capture
Workflow ticket triage workflow
Frontend capability map /tickets route and components
Trace/debug surface trace display components

Use this template to evaluate a realistic full-stack app shape.

Public proof app

The repository also includes a source-only proof app:

cd examples/showcase-forge-app
npm install
npm run generate
npm run proof:inspect
npm run proof:dev
npm run proof:capabilities
npm run proof:verify

Read:

examples/showcase-forge-app/README.md
examples/showcase-forge-app/PUBLIC_PROOF.md

This app demonstrates the full ForgeOS thesis in one place:

  • tenant-scoped data and policies;
  • transactional commands;
  • queries and liveQueries;
  • outbox action after commit;
  • workflow with mock AI triage;
  • generated React hooks;
  • frontend capability map;
  • agent contract;
  • policy denial surfaced in the UI;
  • standard verification loop.

Use it when evaluating whether ForgeOS is useful for AI coding agents, not just whether it can scaffold a starter app.

Capability inspection

Run these commands in either app:

npm run forge -- inspect all --json
npm run forge -- inspect frontend --json
npm run forge -- inspect capabilities --json
npm run forge -- agent print-context --json

The outputs prove what the app contains. They are more reliable than reading the file tree alone because they include generated state, diagnostics, policies, runtime rules, frontend wiring, and package compatibility.

Common app changes

Goal Start with
Add a resource with UI forge make resource <name> --fields ... --with-ui --dry-run --json
Add an integration forge add <alias> --dry-run --json
Rename a command forge refactor rename command <old> <new> --dry-run --json
Rename a field forge refactor rename field table.old table.new --dry-run --json
Add an AI chat route forge make ai-chat <name> --dry-run --json
Fix a failing check forge do fix --json
Verify a focused edit forge verify --changed

What to commit

For app repositories, commit source files and project configuration. Generated apps may ignore noisy generated artifacts:

src/forge/_generated/**
forge.lock
.forge/test-plans/**
.forge/repairs/**

Before handoff, regenerate and check:

npm run generate
npm run forge -- check --json
npm run forge -- verify --standard