HPM Manifest Crawl

Catch package problems before release.

Paste or open a package manifest for immediate structural checks and a preview of its community catalogue record. Your manifest stays in this browser.

Before you start

A manifest and a repository are two different files

Manifest (packageManifest.json)
Describes one package: its name, author, version, and every app or driver it installs. Each app or driver lists the exact raw GitHub URL where HPM downloads that file's source code. If your package has an app and two drivers, your manifest lists all three, each with its own id, name and location. You write one manifest per package. This is the file you paste or open below.
Repository (repository.json)
A file you host yourself, separate from any manifest, listing every package you publish - even if that's only one. Each entry names a package and points to the URL of its manifest. HPM normally discovers manifests through repositories, but its advanced Install from URL workflow can also install directly from a public package-manifest URL.

In short: this page checks your manifest first. Once it passes, section 4 below walks you through creating or updating your repository entry and preparing the public submission - that's a second, separate step using a different file.

1 · Manifest

Package JSON

A package manifest is the JSON file that tells HPM what one package installs: its apps and drivers, their versions and where to download each one's source.

2 · Findings

Ready to check

-

Run the validator to see errors, warnings and practical suggestions.

3 · Preview

Community catalogue record

What community tools can understand from this manifest.

The package preview will appear after validation.

4 · Publish

Public HPM submission

Prepare the two catalogue entries; you remain in control of the pull request.

HPM can install directly from a public package-manifest URL. A repository.json is still needed for repository browsing, catalogue discovery and public distribution because it lists every package you publish and points to each manifest. Enter your repository.json's public URL below; this tool then generates the entry to add inside it, plus the separate name-and-location entry needed for the public repositories.json.

Loading current HPM categories and tags...

Your repository package entry

Public catalogue entry

When all checks pass

  1. Add the generated package entry to your own repository JSON.
  2. Add that repository to HPM as a custom repository and test install, update and repair.
  3. Confirm your tags against the current official settings.
  4. Add the public catalogue entry to repositories.json and open a pull request against the HubitatCommunity package-repositories project.
  5. After merge, verify that HPM search finds the package and detects its next update.

Deeper checks

Confirm source availability and identity

The command-line validator can fetch declared Groovy files, compare literal definition names and namespaces, validate repository entries, and emit GitHub annotations.

python validate_hpm_package.py packageManifest.json --check-sources