Single source of truth for Parseable integrations metadata, shared between:
- Prism (product UI)
- Docs (docs site)
This repository is a data package, not an application.
Only the following are edited manually:
-
catalog/integrations/*.json
One integration per file. This is the only editable source of integration data. -
catalog/taxonomies/*
Controlled vocabularies for resources and telemetry types. -
assets/*
Integration logos. Each integration must reference a logo viaassets.logo.
Everything else in this repo is generated.
Generated by running pnpm build:
-
catalog/groups.json
Grouped view of integrations by resource. -
dist/integrations.json
Flat, UI-ready list of integrations. -
dist/integrations.min.json -
dist/integrations-index.json
Map keyed by integration id. -
dist/resources.json
Resource-wise sections for UI rendering. -
dist/resources-index.json -
dist/search-index.json
Lightweight search tokens.
If any of these files change, they must be committed.
Run from the repository root:
pnpm buildThis will:
- Validate all integrations and assets
- Generate catalog/groups.json
- Generate all dist/* artifacts
A pre-commit hook and CI workflow enforce this automatically.
This repository is consumed as a git submodule by downstream projects.
Prism consumes:
dist/resources.jsonfor sectioned UI renderingdist/integrations.jsonfor search and filtersassets/copied intopublic/at build time for logos
Prism does not run any build or validation scripts from this repository.
Docs follow the same consumption model as Prism:
- Read structured data from
dist/* - Render logos from copied
assets/*
Docs never modify or regenerate catalog data.
- ❌ Do not edit
catalog/groups.json - ❌ Do not edit anything under
dist/ - ❌ Do not add integrations outside
catalog/integrations/ - ❌ Do not reference assets outside the
assets/directory - ✅ Edit only
catalog/integrations/*.json - ✅ Always run
pnpm buildbefore committing - ✅ Commit generated files when they change
- One file per integration scales cleanly and avoids merge conflicts
- A strict single source of truth prevents data drift
- UI-specific data shapes are generated, not hand-maintained
- Downstream apps consume static JSON only, with zero build logic
- Assets are versioned alongside metadata for consistency
- Validation and generation are enforced via pre-commit hooks and CI
Use the following template when adding a new integration under
catalog/integrations/.
{
"id": "example-integration",
"name": "Example Integration",
"resource": "observability-agents",
"telemetry_types": ["logs"],
"description": "Short description of the integration.",
"links": {
"docs": "https://docs.parseable.io/ingest/example"
},
"assets": {
"logo": "assets/logos/example.svg"
}
}