First

Creating a Bundle begins on a Hubitat hub where the component code exists. Clicking Bundles on the left will, the first time, display an empty Bundles list, along with two buttons: New Bundle and Import ZIP.

Import ZIP is how Hubitat Package Manager delivers Bundles to a Hub, and won't be covered here.

Clicking on New Bundle will take you to a screen for gathering the components of the Bundle and establishing the order.

It's critical that you establish a naming convention that you will use throughout this process. You'll name this Bundle and it's resulting .ZIP from the Bundle Name field field. A namespace is required and should match the namespace within the Code.

Select the Libraries, Device Drivers and Apps that you wish to put into a single installation Bundle. Everything you include in the Bundle will be added to their respective Hubitat hub 'containers.' Apps will be copied from the ZIP file into Apps Code, Drivers will be copied from the ZIP into Driver Code and Libraries will too.

Once selecting the code components os complete, verify that the installation order and update order are what you require. Parents before children.

Second

Click Save and Export as ZIP and move the resulting ZIP file to your repository.
It's important to note that the bundle does nothing after import is complete. You can delete the Bundle ZIP and the code that was copied will remain.

Finish

Create a Package Manifest for your Bundle or append a bundle section to an existing HPM Manifest.

{
    "packageName": "My Package Bundle",
	"minimumHEVersion": "2.1.9",
	"author": "Dominick Meglio",
	"version": "1.0",
	"dateReleased": "2020-04-07",
	"licenseFile": "",
	"releaseNotes": "",
	"documentationLink": "",
	"communityLink": "",
	"gitHubUrl": "https://github.com/dcmeglio",
	"payPalUrl": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7LBRPJRLJSDDN&source=url",
	"bundles": [
		{
		"id": "d3976e5a-c074-4f10-a6d8-373387de1a0c",
		"name": The App Bundle",
		"namespace": "abc.theapp",
		"location": "https://raw.githubusercontent.com/app.zip",
		"required": true
		}
	]
}

The "bundle" section has a lot of similarity to an "Apps" section, without "oauth": and "primary":.
"required": has the same meaning, True mandates an install, false will bring up a selection pull down.