feat: Integration catalog — discovery, versioning, and community distribution#2130
Draft
feat: Integration catalog — discovery, versioning, and community distribution#2130
Conversation
8 tasks
…atalog class, list --catalog flag, upgrade command, integration.yml descriptor, and tests Agent-Logs-Url: https://github.com/github/spec-kit/sessions/bbcd44e8-c69c-4735-adc1-bdf1ce109184 Co-authored-by: mnriem <15701806+mnriem@users.noreply.github.com>
| age = (datetime.now(timezone.utc) - cached_at).total_seconds() | ||
| if age < self.CACHE_DURATION: | ||
| return json.loads(cache_file.read_text()) | ||
| except (json.JSONDecodeError, ValueError, KeyError, TypeError): |
| except Exception as exc: | ||
| try: | ||
| integration.teardown(project_root, new_manifest, force=True) | ||
| except Exception: |
Copilot
AI
changed the title
[WIP] Add integration catalog for built-in and community integrations
feat: Integration catalog — discovery, versioning, and community distribution
Apr 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a catalog system for integrations mirroring the established extension and preset catalog patterns, enabling discovery and community-contributed integrations.
Catalog files
integrations/catalog.json— 27 built-in integrations metadataintegrations/catalog.community.json— empty community catalog starterIntegrationCatalogclass (src/specify_cli/integrations/catalog.py)IntegrationDescriptorforintegration.ymlvalidation — schema version, ID format, semver, required fields, SHA-256 hashingCLI commands
specify integration list --catalog— browse merged catalog (built-in + community) with source and install statusspecify integration upgrade [key] [--force]— diff-aware reinstall via manifest hash comparison; blocks on modified files unless--forceDocumentation
integrations/README.md— schema reference, CLI usageintegrations/CONTRIBUTING.md— checklist for adding built-in and community integrationsTests
40 tests covering catalog entries, URL validation, active catalogs, fetch/search, descriptor validation,
list --catalog, and upgrade (including modified-file blocking and--forceoverride).