# Develop Second-Generation Managed Packages

Ready to get started? Create your first second-generation managed package, and then update and create new versions of your package.

- **[Create a Second-Generation Managed Package](/docs/platform/pkg2-dev/guide/sfdx-dev-dev2gp-create-pkg-base.md)**

  A package is a top-level container that holds important details about the app or package: the package name, description, and associated namespace. When you’re ready to test or share your package, use the `sf package create` Salesforce CLI command to create a package.

- **[View Package Details for a Second-Generation Managed Package](/docs/platform/pkg2-dev/guide/sfdx-dev-dev2gp-view-pkg-details.md)**

  View the details of previously created second-generation managed packages from the command line.

- **[Create Versions of a Second-Generation Managed Package](/docs/platform/pkg2-dev/guide/sfdx-dev-dev2gp-create-pkg-ver.md)**

  A package version is a fixed snapshot of the package contents and related metadata. The package version is an installable, immutable artifact that lets you manage changes and track what’s different each time you release or deploy a specific set of changes.

- **[Guidance for Package Version Numbering](/docs/platform/pkg2-dev/guide/dev2gp-version-guidance.md)**

  Use package versions to evolve your managed package, and release subsequent package versions without breaking existing package users. Every package version is a fixed snapshot of the package contents and related metadata.

- **[View Details about a Second-Generation Managed Package Version](/docs/platform/pkg2-dev/guide/sfdx-dev-dev2gp-view-pkg-ver.md)**

  Retrieve details about second-generation managed package versions that are in progress, or have already been created.

- **[Project Configuration File for a Second-Generation Managed Package](/docs/platform/pkg2-dev/guide/sfdx-dev2gp-config-file.md)**

  The project configuration file is a blueprint for your project. The settings in the file create an outline of your managed 2GP package and determine the package attributes and package contents.

- **[Get Ready to Promote and Release a Second-Generation Managed Package Version](/docs/platform/pkg2-dev/guide/sfdx-dev-dev2gp-get-ready-promote.md)**

  By now it’s likely that you’ve already created many different versions of your managed 2GP package and tested them. When you have a package version that you're ready to distribute, promoting the package version is the next step.

- **[Specify a Package Ancestor in the Project File for a Second-Generation Managed Package](/docs/platform/pkg2-dev/guide/sfdx-dev-dev2gp-config-ancestors.md)**

  When you create a second-generation managed package version you specify a package ancestor in your `sfdx-project.json` file. We require that the package ancestor you specify is the highest promoted package version number for that package. You can either update the ancestor version number each time you create a package version, or you can use a keyword.
