generate integrations reference from catalog#2563
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds catalog-backed generation and validation for the integrations reference documentation, along with a CLI script and tests to keep the generated markdown in sync.
Changes:
- Introduce
specify_cli.catalog_docshelpers to render/update the generated integrations table fromintegrations/catalog.json. - Add
scripts/generate_integrations_reference.pywith--check/--writemodes for CI and local updates. - Regenerate
docs/reference/integrations.mdwith generated-table markers and add tests to enforce consistency.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| tests/test_catalog_docs.py | Adds tests asserting the committed docs match the generator and that registry metadata is reflected. |
| src/specify_cli/catalog_docs.py | Implements catalog loading, table rendering, and marker-based replacement for the docs page. |
| scripts/generate_integrations_reference.py | Provides a CLI entrypoint to check or rewrite the generated integrations reference file. |
| docs/reference/integrations.md | Converts the integrations table into a generated block and updates surrounding instructions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Love it, but can we integrate it into specify integration search --markdown? Specifically can we keep it simpler than this and just render out the table. On the project end we will take care of integrating it into the docs. I do not want to burden the CLI with that part of the process
|
Thanks for the direction! I've refactored based on your feedback: What changed:
Usage: Prints the full integrations reference table to stdout. The docs team can paste it wherever needed. |
1bdc359 to
59c134c
Compare
mnriem
left a comment
There was a problem hiding this comment.
Please address Copilot feedback. Please revert the change to integrations.md as we will setup a separate GitHub actions job for that. Thanks for the great work
|
Done! Both tasks completed:\n\n- Copilot feedback addressed — all review threads from the latest rounds have been fixed and replied to (removed dead |
…t_markdown_table for escaped pipes, guard community tests with skip
… escape integration URLs
…to prevent double-escaping
… ExitStack, update warning message
…r message, validate test rows, prevent double newline
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Tighten the integrations docs rendering helpers and tests to cover the remaining Copilot feedback from PR github#2563: shared repo-root lookup, safer markdown link text, whitespace repository handling, narrower error handling, and missing-file/test parsing guards. Tests: pytest tests/test_catalog_docs.py tests/test_community_catalog_docs.py -q; python3 -m compileall -q src/specify_cli/__init__.py src/specify_cli/catalog_docs.py src/specify_cli/community_catalog_docs.py tests/test_catalog_docs.py tests/test_community_catalog_docs.py Reference: PR github#2563; reply comment github#2563 (comment)
Normalize community tag rendering for multiline values and simplify the docs warnings import. Tests: pytest tests/test_catalog_docs.py tests/test_community_catalog_docs.py -q Reference: PR 2563 feedback
Assisted-by: GitHub Copilot (model: GPT-5, autonomous)
Assisted-by: GitHub Copilot (model: GPT-5, autonomous)
47dcfb3 to
83ca79f
Compare
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
|
Review feedback addressed in commit
Verification completed with Posted on behalf of @DyanGalih by OpenAI Codex (model: GPT-5). The changes and this summary were generated autonomously. |
|
Please pull in the latest changes from upstream/main, address Copilot feedback and resolve any conflicts. Note that we have been working on this for quite a while and I fear you are going to keep playing catchup as we have integrations still flow in. Can we maybe first do a commit and PR that does the alignment? And then this one should land more easily? Thoughts? |
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
|
Addressed the current review feedback in commit
Validation:
Posted on behalf of @DyanGalih by OpenAI Codex (model: GPT-5). The changes and this summary were generated autonomously. |
mnriem
left a comment
There was a problem hiding this comment.
Please revert the changes to the integrations.md file so we can merge the Python part
What changed
INTEGRATION_REGISTRYplus per-key URL and notes maps incatalog_docs.py.community_catalog_docs.pyhelper module and matching tests for the community extensions reference table so the documentation-generation work covers both built-in integrations and community extensions.docs/reference/integrations.mdso the supported agent table is generated from the integration registry (not hand-maintained).docs/reference/integrations.mdagainstrender_integrations_table()output so content drift is caught without relying on formatting details.Why
The integrations reference had been hand-maintained, which made it easy for the docs to drift from the runtime registry. This change makes the doc a checked artifact and reduces maintenance overhead.
User impact
specify integration search --markdown.Validation
specify integration search --markdownpytest tests/test_catalog_docs.py -qpytest tests/test_community_catalog_docs.py -q