# Requirements and compatibility

Choose the right Node.js, Nx, TypeScript, package manager, and platform toolchains for your Megamono workspace.


These requirements describe the `0.1.0-next.0` packages published on npm. This is a prerelease version. Megamono's local commands and packages are MIT licensed and work without a hosted account or subscription.

## Workspace toolchains

Creating a new workspace uses a reviewed set of pinned toolchain versions. Adopting an existing Nx repository accepts a broader range so you can preserve its established setup.

| Toolchain | New workspace | Existing Nx workspace |
| --- | --- | --- |
| Node.js | `>=24 <25` | `>=18.18 <25` |
| Nx | `>=23.1 <24` | `>=17 <24` |
| TypeScript | `>=6.0 <6.1` | `>=5.2 <7` |

Ranges use npm semver syntax: `>=` includes the stated minimum, and `<` excludes the stated upper limit. Platform plugins can impose a higher minimum than the core adoption tools.

Generated frameworks and existing applications can have additional runtime requirements. Check their own dependencies before changing the repository toolchain.

Start with [Create a workspace](/docs/cli/create-megamono) or [Adopt an existing workspace](/docs/workflows/adoption).

## Package managers

| Package manager | New workspace | Existing Nx workspace |
| --- | --- | --- |
| npm | `>=11 <12` | `>=9 <12` |
| pnpm | `>=11 <12` | `>=8 <12` |
| yarn | `>=1.22 <5` | `>=1.22 <5` |
| bun | `>=1.1 <2` | `>=1.1 <2` |

The documentation defaults to npm. Use the package-manager selector beside docs search to display commands for your workspace. Yarn examples use Yarn 2+ syntax; the accepted package range also includes Yarn Classic.

## Platform plugins

Check the plugin you intend to use in addition to the core workspace requirements. Laravel and NativePHP use a newer Node.js and Nx baseline than the other platform plugins.

| Platform | Node.js | Nx |
| --- | --- | --- |
| [Swift and Xcode](/docs/platforms/apple) | `>=18.18 <25` | `>=18 <24` |
| [Rust and Cargo](/docs/platforms/cargo) | `>=18.18 <25` | `>=18 <24` |
| [Cloudflare Workers](/docs/platforms/cloudflare) | `>=18.18 <25` | `>=18 <24` |
| [Browser extensions](/docs/platforms/extension) | `>=18.18 <25` | `>=18 <24` |
| [Render deployments](/docs/platforms/render) | `>=18.18 <25` | `>=18 <24` |
| [Laravel](/docs/platforms/laravel) | `>=22 <25` | `>=22 <24` |
| [NativePHP](/docs/platforms/phpnative) | `>=22 <25` | `>=22 <24` |

Cloudflare also requires Wrangler `>=4.105 <5`.

NativePHP also requires the Laravel plugin. Native SDKs, Cargo, Swift, Xcode, PHP, Composer, and deployment tools remain platform-specific requirements; follow the linked platform guide for setup.

## Playstack integrations

Megamono's Playstack integration tooling requires Node.js `>=20` and ESLint `>=9 <11`. Keep within the workspace's Node.js range too. Each selected Playstack package has its own framework, provider, and package-access requirements.

Follow [Integrate Playstack](/docs/workflows/playstack) to review the application wiring and test a capability before switching behavior.

## Check your workspace

Inspect the active toolchain before installing a plugin or changing versions:

```sh
node --version
npm exec -- nx report
```

Use [package diagnostics](/docs/cli/diagnostics) to identify the installed Megamono packages. Review the installed package requirements when upgrading; this page follows the release documented by the site.
