Skip to content

Repository files navigation

Marko

Styled with prettier MIT Build status NPM Version

Scaffold a new Marko application from the default starter or any example project.

Usage

npm create marko
# or
pnpm create marko
# or
yarn create marko

You'll be prompted for a project name and template. To skip the prompts, pass them as flags:

pnpm create marko -- --name my-app --template basic
Option Description
--name, -n Name of the new app (also accepted as the first positional argument).
--template, -t An example from marko-js/examples, or a user/repo git template.
--dir, -d Directory to create the app in (defaults to the current directory).
--installer, -i Package manager used to install dependencies (defaults to the one you ran).
--yes, -y Skip prompts and accept defaults.

CI & AI agents

The prompts only run in an interactive terminal. When there's no human to answer them — --yes is passed, CI is set, an AI agent is detected (CLAUDECODE/CURSOR_TRACE_ID/AI_AGENT/AGENT), or stdin isn't a TTY — the defaults are used (name my-app, the starter template) instead of hanging. If defaults aren't allowed and required input is missing, the command exits non-zero with guidance rather than blocking.

Packages

Package Description
create-marko The npm create marko / pnpm create marko entrypoint.
@marko/create The scaffolder implementation and marko-create bin.

Looking for the old serve, build, migrate, prettyprint, or test commands? They live on the legacy branch.

Contributing

This repo is a pnpm workspace written in TypeScript.

  • pnpm build — build the packages (tsc + rolldown)
  • pnpm test — run the tests (vitest)
  • pnpm lint — lint and check formatting
  • pnpm format — auto-fix lint and formatting
  • pnpm change — add a changeset for your change

Code of Conduct

This project adheres to the eBay Code of Conduct. By participating in this project you agree to abide by its terms.

Releases

Packages

Used by

Contributors

Languages