runtime/reference/cli/create.md
The deno create command scaffolds a new project from a template package. It
works with both JSR and npm
packages that provide project templates.
deno create [OPTIONS] [PACKAGE] [-- [ARGS]...]
By default, unprefixed package names are resolved from JSR. You can use the
npm: or jsr: prefix to be explicit, or use the --npm / --jsr flags.
Package resolution differs between npm and JSR:
create- naming convention. Running
deno create npm:vite resolves to the create-vite package on npm and
executes its main entry point../create export. Any JSR package can act as a
template by defining a ./create entry point in its deno.json:{
"name": "@my-scope/my-template",
"version": "1.0.0",
"exports": {
".": "./mod.ts",
"./create": "./create.ts"
}
}
When you run deno create @my-scope/my-template, Deno looks for the ./create
export and runs it as the scaffolding script.
Create a project from a JSR package:
deno create @fresh/init
Create a project from an npm package:
deno create npm:vite my-app
Using the --npm flag to treat unprefixed names as npm packages:
deno create --npm create-vite my-app
Pass arguments to the template package:
deno create @fresh/init -- --force
--npm - Treat unprefixed package names as npm packages--jsr - Treat unprefixed package names as JSR packages (default)-y, --yes - Bypass the prompt and run with full permissions