Apen Apps
Apen Developers · Open source CLI

create-apen

Scaffold production-ready full-stack apps with your folder structure, naming and architecture.

An open-source CLI that generates MERN, PERN, Next.js + .NET, Vue + FastAPI and other stacks with a working starter feature, Docker, CI and a README that explains every layer.

npm create apen@latest

v0.1.0 · MIT license · Node.js 20+

~/projects

$ npm create apen@latest

create-apen

◇ Project name my-shop

◇ What are you building? Full-stack app

◇ Pick a stack MERN

◇ How do you organise frontend files? Feature-based

◇ How do you organise backend code? Clean Architecture

◇ Extras Docker, Prettier, CI, .env

✓ Generated client and server

✓ Installed dependencies

✓ Created git repository

Happy building! — Apen Apps

Answer a few questions, get a project you can ship

  1. 1

    Generates your apps

    Frontend and/or backend with a users feature already wired through every layer.

  2. 2

    Lays out folders

    Feature-based, layer-based or Atomic Design, with the naming convention you pick.

  3. 3

    Installs dependencies

    npm, pnpm, yarn or bun, plus dotnet restore and a Python venv where needed.

  4. 4

    Adds Docker and CI

    Multi-stage Dockerfiles, docker-compose with your database, GitHub Actions and .env files.

  5. 5

    Writes the docs

    A README with the folder tree, conventions and a diagram of a request from UI to database.

  6. 6

    Makes the first commit

    A fresh git repository, ready to push.

Full-stack presets

Or pick custom, frontend only, or backend only.

  • --preset mern

    Frontend
    React (Vite)
    Backend
    Express
    Database
    MongoDB
  • --preset pern

    Frontend
    React (Vite)
    Backend
    Express
    Database
    PostgreSQL
  • --preset next-dotnet

    Frontend
    Next.js
    Backend
    ASP.NET Core
    Database
    PostgreSQL
  • --preset react-dotnet

    Frontend
    React (Vite)
    Backend
    ASP.NET Core
    Database
    SQL Server
  • --preset next-express

    Frontend
    Next.js
    Backend
    Express
    Database
    PostgreSQL
  • --preset vue-fastapi

    Frontend
    Vue 3 (Vite)
    Backend
    FastAPI
    Database
    PostgreSQL
Frontend

Your structure, your naming

Framework
React (Vite), Next.js (App Router), Vue 3 (Vite)
Language
TypeScript or JavaScript
Styling
Tailwind CSS v4, CSS Modules, plain CSS (BEM)
State & data
TanStack Query, Zustand, Redux Toolkit, Pinia
Folder structure
Feature-based, layer-based, Atomic Design
File naming
PascalCase + camelCase, or kebab-case
Backend

The architecture you already use

  • Node.js + Express

    Layered (MVC), Modular, Clean Architecture

    MongoDB, PostgreSQL, MySQL, in-memory

  • ASP.NET Core Web API

    Layered (N-tier), Vertical Slice, Clean Architecture

    PostgreSQL, SQL Server (EF Core), MongoDB, in-memory

  • Python + FastAPI

    Layered, Modular

    PostgreSQL, MySQL, SQLite (SQLAlchemy 2), in-memory

Wired end to end from the first run

Every project ships with a small users feature that passes through every layer, so adding the next feature is a matter of following the pattern. APIs return { data } or { error }, and the frontend proxies /api so the browser never needs CORS.

  1. UserList
  2. useUsers
  3. userService
  4. apiClient
  5. /api/users
  6. controller
  7. service
  8. repository
  9. database

Run it with any package manager

Pass flags to skip the questions, which is handy in scripts and CI.

  • npm create apen@latest
  • npx create-apen@latest
  • pnpm create apen
  • yarn create apen
  • bun create apen

Requirements

  • Node.js 20+
  • .NET SDK 8+ for .NET backends
  • Python 3.10+ for FastAPI backends
  • Docker (optional)

$ npx create-apen my-shop --preset mern --yes

$ npx create-apen dashboard --preset next-dotnet --yes --pm pnpm

$ npx create-apen web --type frontend --frontend vue

--preset <name>
mern, pern, next-dotnet, react-dotnet, next-express, vue-fastapi, custom
--type <type>
fullstack, frontend or backend
--frontend <name>
react, next or vue
--backend <name>
express, dotnet or fastapi
--extras <list>
docker, prettier, ci, env (comma-separated)
--pm <name>
npm, pnpm, yarn or bun
--no-install
Skip installing dependencies
--no-git
Skip git init and the first commit
-y, --yes
Accept defaults for every unanswered question

Need more than a starter?

create-apen is the scaffold our delivery team starts client projects from. Our custom software team can take it from first commit to production.

Custom software