For AI agents: the complete documentation index is available at https://mfeflow.github.io/mfeflow/llms.txt, the full documentation bundle is available at https://mfeflow.github.io/mfeflow/llms-full.txt, and this page is available as Markdown at https://mfeflow.github.io/mfeflow/features/index.md.

Feature catalog

This page helps you choose features. A feature is a reviewed set of file changes you add with one command. After you add it, the files are yours to edit.

Which features are on by default?

A new project has the always-on features and the four default ones. Add any other one later with this command:

pnpm mfeflow add analytics-gtm

See Add features for the preview, options and rollback. List what your project can add with pnpm mfeflow features.

What can I add?

The Package column is the library that runs in the browser or at build time. The last column is code that is written into your project, which you own and edit.

FeatureStatusWhat it addsPackageCode you own
tsconfigAlways onStrict TypeScript 7 presets and a typecheck script@mfeflow/tsconfigtsconfig.json in each app
lint-oxlintDefaultType-aware linting and Prettier@mfeflow/oxlint-config.oxlintrc.json, .prettierrc.json
url-factoryDefaultTyped endpoint definitions and URL building@mfeflow/url-factorysrc/api/endpoints.ts per app
env-t3DefaultTyped env that fails the build, and runtime config checkst3-envenv.ts, config schema, config files
testingDefaultVitest, Testing Library, MSW and a Playwright smoke test@mfeflow/testingTests, mocks and configs
analytics-gtmOpt inGoogle Tag Manager with Consent Mode v2@mfeflow/analyticsConsent banner, tracker per remote
analytics-clarityOpt inMicrosoft Clarity, loaded after consent@mfeflow/analyticsConfig key only
telemetry-otelOpt inOpenTelemetry in the browser, tagged per remote@mfeflow/telemetryStart-up wiring
event-busOpt inTyped events between remotes and a contracts package@mfeflow/event-buspackages/contracts, event files
route-factoryOpt inTyped links between remotes@mfeflow/route-factorysrc/routes.ts per remote
httpOpt inA fetch client over your endpoints, with retries@mfeflow/httpsrc/api/client.ts per app
themingOpt inLight and dark themes as CSS variables, owned by the shell@mfeflow/themeTheme provider wiring
i18nOpt inOne i18next instance, messages per remote@mfeflow/i18nMessages, language switcher
tailwindOpt inTailwind 4 with a class prefix per appTailwindStylesheets, PostCSS config
ui-shadcnOpt inshadcn/ui components in every remoteshadcn/ui, copiedComponents in each remote
formsOpt inreact-hook-form with zod, valibot or arktypereact-hook-formAn example form per remote
data-react-queryOpt inTanStack Query as a shared singletonTanStack QueryProvider and sample query
storybookOpt inStorybook per remote, composed in the shellStorybook 10Stories and config
registry-serverOpt inPublish through a registry servernonesrc/registry-sources.ts
deploy-cloudflareOpt inOne way to host on Cloudflare Workerswranglerwrangler.jsonc, _headers, script
ci-githubOpt inA pull request workflownone.github/workflows/ci.yml
git-hooksOpt inlefthook and commitlintlefthook, commitlintlefthook.yml, commitlint config
commit-promptOpt inAn interactive Conventional Commits promptczgScript and config
registry-staticOpt inDeploy and roll back remotes on a folder or bucketnoneScripts, guide, deploy workflow
releaseOpt inChangesets versions each remote, and deploy uses itChangesets.changeset/, releasing guide
deploy-dockerOpt inA Dockerfile, nginx config and Kubernetes examplenonedocker/, compose.yaml, k8s/

The always-on core feature is the shell, the remotes and the registry files. It has no page of its own. See Project structure.

What does a feature page contain?

Every page follows the same order: what you get, how to add it, how to use it, the settings, how it works, the gotchas and links.

Can other people publish features?

Yes. A feature can come from a registry that anyone hosts, named @namespace/feature. These features are data only. They list files, dependencies, script names and a fixed set of edits, and they never run code.

pnpm mfeflow registry add @acme https://acme.github.io/mfeflow-features/{name}.json
pnpm mfeflow add @acme/segment

Read Third-party features for the guide, or the overview.