Marko CLI is a command-line tool for scaffolding new Marko applications.
The tool solves the problem of setting up a new Marko project by providing an interactive scaffolder that prompts developers for a project name and template selection. It supports the default starter template as well as any example project from the Marko examples repository, or custom git templates specified as user/repo references. Developers can pass options as flags to skip interactive prompts, including project name, template choice, installation directory, and package manager selection.
The tool is designed for developers starting new Marko projects who want a guided setup experience. It suits teams using Marko for web applications and those who prefer either interactive prompts or scripted, non-interactive setup. The scaffolder handles non-interactive environments gracefully by detecting CI systems and AI agents, using sensible defaults rather than blocking on missing input, making it suitable for automated deployment pipelines and agent-driven development workflows.
The project is organized as a pnpm workspace written in TypeScript with separate packages for the npm create entrypoint and the core scaffolder implementation. Development uses standard tooling including TypeScript compilation, Rolldown for bundling, Vitest for testing, and Changesets for managing releases. The codebase is formatted with Prettier and includes linting checks as part of the contribution workflow.