Skip to main content
  1. Docs
  2. pulumi package new | CLI commands

pulumi package new | CLI commands

    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

    Auto generated by spf13/cobra on 8-May-2026