
create-app
https://github.com/badlogic/create-app- Category
- Developer Tools
- Rank
- No. 2052Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- badlogic
- GitHub
- 33 stars
- Date
About
CLI for creating deployable apps with Caddy + Docker — zero-config deployment scaffold.
What it does
It starts TypeScript projects from four purpose-built templates: static sites, browser applications with an API, browser libraries, and Node libraries. You can answer interactive prompts or supply configuration options directly. Generated projects include development, build, and, where applicable, single-server deployment workflows.
Why it's ranked here
A strong pick for small self-hosted projects because it joins project generation with an opinionated operating model. Template inheritance reduces duplication, while variable replacement and structured merges support customization. Its narrow single-server target is useful clarity, not broad infrastructure coverage.
What's good
The template engine preserves file permissions, leaves binary files unchanged, and substitutes configuration into text files. Child templates can override files, delete inherited content, and deeply merge JSON or YAML. It also detects circular inheritance instead of silently producing an unclear result.
Tradeoffs
Production use requires a prepared server with Docker, Caddy, DNS records, and proper configuration. Array values concatenate during structured merges, which may create duplicates. Unsupported merge formats only produce a warning, and merge errors are logged rather than necessarily stopping project creation.
How to use it well
Use it for personal sites, small-business tools, prototypes, learning projects, and TypeScript libraries where an opinionated starting point saves setup time. Choose interactive mode while exploring, then record explicit options for repeatable creation. It does not replace orchestration for high-scale, multi-region, or complex microservice systems.
Technical notes+
package.json defines an ESM npm package, a command-line binary, TypeScript compilation, Biome checks, and MIT licensing. src/cli.ts parses the project name, template selection, arbitrary template options, and help output, then validates names before delegating creation. src/index.ts discovers template metadata, resolves ordered inheritance with cycle detection, substitutes variables in text, preserves binary data and permissions, merges JSON or YAML, and applies deletion markers. src/types.ts limits prompt metadata to text, number, and boolean kinds. templates/static/infra/build.js runs configured build commands and starts configured watch processes. templates/spa-api/infra/generate-env.js creates environment configuration from named process variables.
Observed
- License
- MIT
- Primary language
- TypeScript
- Packaging
- ES module npm package installable and runnable through npx
- Interface
- Command-line interface with interactive prompts and non-interactive options
- Templates
- Static site, SPA with API, web library, and Node library templates are documented
- Deployment model
- Single-server self-hosting with Docker and Caddy
- Template structure
- Supports inheritance, text substitution, deletion markers, and JSON or YAML merging
Read from README.md, package.json, src/cli.ts, src/index.ts, src/types.ts, templates/static/infra/build.js, templates/node-library/src/cli.ts, templates/web-library/src/index.ts, templates/node-library/src/index.ts, templates/static/infra/tsup.config.js, templates/static/infra/static-files.js, templates/spa-api/infra/generate-env.js, templates/web-library/src/index.test.ts, templates/node-library/src/index.test.ts, templates/spa-minilit/infra/vite.config.ts.
What it can do
Generate application scaffolding
CLI commands and configuration options → Complete application directory structure with files
Configure Caddy web server
Application requirements and settings → Caddy configuration files
Generate Docker configuration
Application specifications → Dockerfile and Docker Compose files
Create deployment-ready application
Project parameters via CLI → Fully deployable application package
Set up zero-configuration deployment environment
Basic application details → Ready-to-deploy application with web server and containerization
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.