---
title: pulumi package new | CLI commands
url: /docs/iac/cli/commands/pulumi_package_new/
---

Create a new Pulumi package

## Synopsis

Create a new Pulumi package from a template.

To create a package from a specific template, pass the template name (such as
`component-nodejs` or `component-python`). If no template name is provided, a list of
suggested templates will be presented which can be selected interactively.

A path to a local template directory or a git URL may be passed instead.

Once the package is generated, edit the example sources to implement your package.

```
pulumi package new [template|url] [flags]
```

## Options

```
  -d, --description string   The package description; if not specified, a prompt will request it
      --dir string           The location to place the generated package; if not specified, the current directory is used
  -f, --force                Forces content to be generated in a non-empty directory
  -g, --generate-only        Generate the package only; do not install dependencies
  -h, --help                 help for new
  -n, --name string          The package name; if not specified, a prompt will request it
  -o, --offline              Use locally cached templates without making any network requests
  -y, --yes                  Skip prompts and proceed with default values
```

## Options inherited from parent commands

```
      --color string                 Colorize output. Choices are: always, never, raw, auto (default "auto")
  -C, --cwd string                   Run pulumi as if it had been started in another directory
      --disable-integrity-checking   Disable integrity checking of checkpoint files
  -e, --emoji                        Enable emojis in the output
  -Q, --fully-qualify-stack-names    Show fully-qualified stack names
      --logflow                      Flow log settings to child processes (like plugins)
      --logtostderr                  Log to stderr instead of to files
      --memprofilerate int           Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate
      --non-interactive              Disable interactive mode for all commands
      --otel-traces string           Export OpenTelemetry traces to the specified endpoint. Use file:// for local JSON files, grpc:// for remote collectors
      --profiling string             Emit CPU and memory profiles and an execution trace to '[filename].[pid].{cpu,mem,trace}', respectively
      --tracing file:                Emit tracing to the specified endpoint. Use the file: scheme to write tracing data to a local file
  -v, --verbose int                  Enable verbose logging (e.g., v=3); anything >3 is very verbose
```

## SEE ALSO

* [pulumi package](/docs/iac/cli/commands/pulumi_package/)	 - Work with Pulumi packages


