# app

Add a convention-aligned application


## When to use it

Create an application with its project configuration, tags, and development tasks. Choose a web app, public site, API, or supported native app type. Web and site apps use the Pages Router by default; select router=app for the App Router. For the native Kotlin preset, follow [Create a native Android app](/docs/workflows/android).

## Usage

```sh
npm exec -- nx generate @megamono/plugin:app --dry-run
```

Replace angle-bracket placeholders with reviewed values. Nx's `--dry-run` previews generator writes; remove it only after reviewing the plan. Examples use npm; use your workspace's package manager if it differs.

## Options

Use these options with `@megamono/plugin:app`. Nx uses the camelCase names shown here; the [CLI reference](/docs/cli) describes command-line aliases. Some options are required only for particular choices.

| Option | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `displayName` | No | string | — | Extension or Android product display name; defaults to the application basename. |
| `applicationId` | No | string | — | Android-only reverse-DNS application ID and Kotlin namespace. |
| `contentScriptMatches` | No | array | — | Extension-only opt-in page match patterns; omit for a background-only scaffold. |
| `manifestVersion` | No | number | — | Extension-only explicit Chrome/Firefox manifest version. Allowed: 2, 3. |
| `type` | No | string | — | Application preset to create. Allowed: "web", "site", "api", "worker", "mobile", "desktop", "apple", "android", "extension". |
| `name` | No | string | — | Application basename; defaults to the selected type. |
| `directory` | No | string | — | Workspace-relative application root; defaults to apps/<name>. |
| `scope` | No | string | — | Megamono scope tag and package scope. |
| `port` | No | integer | — | Explicit unique development port. |
| `styling` | No | string | — | Styling tool used to render the generated web/site billboard. Auto detects the workspace and falls back to CSS Modules. Allowed: "auto", "chakra", "emotion", "tailwind", "panda", "stylex", "css-modules", "inline". |
| `router` | No | string | — | Next.js router for web/site applications. Defaults to Pages Router; not a router migration command. Allowed: "pages", "app". |
| `interactive` | No | boolean | true | Allow unresolved choices and confirmation to be prompted. |
| `yes` | No | boolean | false | Apply a fully resolved plan without confirmation. |
| `dryRun` | No | boolean | false | Print the ordered plan and write nothing. |
| `skipInstall` | No | boolean | false | Write dependency declarations but skip deferred generator callbacks, including installation. Run the usual workspace install afterwards. |
| `serviceRunner` | No | string | "none" | — Allowed: "none", "springbar". |

## Next steps

Review changed files and run the affected project's checks. For options that accept structured values, run the generator's `--help` or consult the schema in the installed package.

- [All generators](/docs/generators)
- [CLI overview](/docs/cli)
- [Adopt an existing workspace](/docs/workflows/adoption)
