Skip to content

Catalog Format

The catalog is a pre-compiled SQLite database containing all package definitions, detection configs, install configs, and version history. Distributed via GitHub Releases and signed with minisign.

Pipeline

TOML manifests (astro-up-manifests repo)
  -> Version checker scrapes latest versions from GitHub/websites
  -> Compiler builds catalog.db from manifests + discovered versions
  -> Signed with minisign
  -> Published as GitHub Release artifact
  -> Fetched by astro-up at runtime (ETag caching, TTL-based refresh)

Database Tables

meta

ColumnTypeDescription
keyTEXT PKMetadata key (schema_version, compiled_at)
valueTEXTMetadata value

packages

ColumnTypeDescription
idTEXT PKPackage ID (e.g., nina-app)
manifest_versionINTEGERManifest schema version
nameTEXTDisplay name
descriptionTEXTShort description
publisherTEXTDeveloper or organization
homepageTEXTOfficial project URL
categoryTEXTcapture, guiding, platesolving, equipment, focusing, planetarium, viewers, prerequisites, usb, driver
typeTEXTapplication, driver, runtime, database, usb_driver, resource
slugTEXTURL-friendly short name
licenseTEXTLicense identifier
tagsTEXT (JSON)Searchable tags array
aliasesTEXT (JSON)Alternative names array
dependenciesTEXT (JSON)Required package IDs array
icon_base64TEXTBase64-encoded package icon

packages_fts

FTS5 virtual table for full-text search across name, description, tags, aliases, publisher.

versions

ColumnTypeDescription
package_idTEXT FKReferences packages.id
versionTEXTVersion string
urlTEXTPrimary download URL
sha256TEXTSHA-256 checksum
discovered_atTEXTISO 8601 discovery timestamp
release_notes_urlTEXTChangelog URL
pre_releaseINTEGER1 if pre-release
assetsTEXT (JSON)Array of {name, url, size} for multi-asset releases

detection

ColumnTypeDescription
package_idTEXT FKReferences packages.id
methodTEXTregistry, pe_file, wmi, wmi_apps, driver_store, ascom_profile, file_exists, config_file, ledger
file_pathTEXTPE/file path for file-based detection
registry_keyTEXTRegistry key path
registry_valueTEXTRegistry value name
version_regexTEXTRegex for extracting version from text
product_codeTEXTMSI product GUID
upgrade_codeTEXTMSI upgrade GUID
inf_providerTEXTDriver INF provider name
device_classTEXTDriver device class
inf_nameTEXTDriver INF filename
fallback_configTEXT (JSON)Recursive DetectionConfig for fallback chain

install

ColumnTypeDescription
package_idTEXT FKReferences packages.id
methodTEXTexe, msi, inno_setup, nsis, wix, burn, zip, portable, download_only
scopeTEXTmachine, user, either
elevationTEXTrequired, prohibited, self
switchesTEXT (JSON){silent, interactive, log, install_dir}
exit_codesTEXT (JSON)Map of exit code to known meaning
success_codesTEXT (JSON)Array of non-zero success codes
zip_wrappedINTEGER1 if download is a zip containing the installer
zip_inner_pathTEXTSubfolder inside zip to find installer

Source Repository

TOML manifests are maintained in nightwatch-astro/astro-up-manifests. See Adding Manifests for the manifest format.

Licensed under Apache-2.0