First
This Manfest is located where you can change it at will. It acts as both a redirector, should you want to relocate your package manifests, or as a mechanism for splitting families of packages. Not strictly required, but it is certainly a Best Practice.
{
"author": "Dominick Meglio",
"gitHubUrl": "https://github.com/dcmeglio",
"payPalUrl": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7LBRPJRLJSDDN&source=url",
"packages": [
{
"name": "BOND Home Integration",
"category": "Integrations",
"location": "https://raw.githubusercontent.com/dcmeglio/hubitat-bond/master/packageManifest.json",
"description": "Allows you to integrate a BOND Home device into your Hubitat system",
"tags": [
"LAN",
"IR & RF"
],
"id": "b25495ec-1f66-4aba-8206-cd9bc754b718"
},
{
"name": "Device Groups",
"category": "Convenience",
"location": "https://raw.githubusercontent.com/dcmeglio/hubitat-contactgroups/master/packageManifest.json",
"description": "Allows you to group contact sensors into a single device",
"tags": [
"Automations & Groups"
],
"id": "7b6fa6d3-c746-436f-a3cf-a85336e1f1be"
}
]
}
In the above sample, it's clear that the format is two parts, a global authorship part and then "packages". Each package points to a Package Manifest, where some or all of the details are defined.
If you are manually creating this manifest, then the minumum in the author part is just "name"
./hpm repository-create repository.json --author="Dominick Meglio"
The minimum packages pairs when manually creating are:
- "name":
- "location":
- "category":
- "description":
Finish
Be certain your JSON is perfect using some type of checker. JSONLint is recommended. Broken JSON will result in your package being ignored or quarantined.
