# Agent Native App Model

99Pages Agentic OS treats every application as a CLI-addressable MCP capability
first. A user interface is optional projection, not the source of business
logic.

## Doctrine

```text
Every app is a CLI-addressable MCP capability first.
Every UI is optional projection.
The agent operates data and tools.
Humans approve, inspect, and consume reports.
```

## App Contract

Each app should provide:

- Manifest metadata.
- Tools callable from Core CLI, SubCLI, TUI, bridge, and app.99pages.uk.
- Schema or data contract.
- Event output for progress and audit.
- Human-readable final report.
- Approval policy for risky or mutating actions.
- Optional `open_url` only when a projection UI exists.

## Default Delivery

The default delivery is CLI/MCP:

```powershell
99p apps list
99p apps manifest
99p apps tools <app>
99p apps call <app> <tool> [json]
99p apps status <app>
99p apps open <app>
```

Module shortcuts can exist for high-frequency apps:

```powershell
99p miniapp tools
99p project tools
99p workflow tools
```

## Mini App Builder

Mini App Builder is not a frontend generator by default. Its first job is to
prepare useful data:

- Generate or revise schema.
- Prepare database or migrations.
- Import/write data.
- Emit update events.
- Produce the final report.

Visual dashboards can be added later through app.99pages.uk or user-supplied UI
when a customer actually needs that view.

## Maintenance Rule

Do not build a bundled HTML5 frontend for every app. Build the MCP capability
first. Add UI only when repeated user workflows justify the maintenance cost.
