Skip to content

feat(catalog): add catalog-gen for blueprint catalog and examples README table - #6481

Merged
saara-tyagi27 merged 5 commits into
GoogleCloudPlatform:developfrom
saara-tyagi27:guardrailing-m1
Oct 19, 2026
Merged

saara-tyagi27 merged 5 commits into
GoogleCloudPlatform:developfrom
saara-tyagi27:guardrailing-m1

Conversation

@saara-tyagi27

Copy link
Copy Markdown
Contributor

Summary

Implements Full Blueprint Catalog & Docs Generator for the Guardrailing Agents effort, replacing the POC starter starter catalog introduced in #6458 with a deterministic Go generator (pkg/catalog + tools/catalog-gen) that indexes all blueprints and modules across the repository and keeps documentation in sync via .pre-commit-config.yaml.

Changes

  • pkg/catalog & tools/catalog-gen: Scans blueprints in examples/ and community/examples/ and modules in modules/ and community/modules/ (filtering out auto-injected global vars and pass-through echo outputs). Includes unit tests (pkg/catalog/catalog_test.go).
  • skills/cluster-blueprint-assistant/references/catalog.yaml & SKILL.md: Full generated catalog and updated skill instructions.
  • examples/README.md: Auto-generated blueprint summary table between <!-- BEGIN_BLUEPRINT_CATALOG --> and <!-- END_BLUEPRINT_CATALOG -->.
  • .pre-commit-config.yaml: Adds catalog-gen hook to keep catalog.yaml and examples/README.md in sync.

@saara-tyagi27 saara-tyagi27 added the release-chore To not include into release notes label Oct 14, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request implements a robust, deterministic system for maintaining a blueprint and module catalog. By replacing the previous proof-of-concept with a structured Go generator, the repository now ensures that documentation and machine-readable references remain consistent with the actual infrastructure definitions. This change improves maintainability and provides better visibility into the available blueprints and their interdependencies.

Highlights

  • Catalog Generation Tooling: Introduced a new Go-based generator (pkg/catalog and tools/catalog-gen) to deterministically index blueprints and modules across the repository.
  • Automated Documentation: Integrated catalog-gen into .pre-commit-config.yaml to automatically synchronize references/catalog.yaml and the blueprint summary table in examples/README.md.
  • Documentation Updates: Updated skills/cluster-blueprint-assistant/SKILL.md to reflect the new catalog structure and provide better guidance on handling deployment files.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an automated catalog generator tool (catalog-gen) in Go that scans blueprints and modules to produce a machine-readable catalog and updates the summary table in examples/README.md. It also integrates this tool as a pre-commit hook and updates the blueprint assistant skill documentation. The review feedback highlights two important issues in pkg/catalog/catalog.go: a potential runtime panic when assigning to a nil map if a blueprint has no variables, and a UTF-8 safety issue where slicing description strings by byte index could cut multi-byte characters in half.

Comment thread pkg/catalog/catalog.go
Comment thread pkg/catalog/catalog.go Outdated
@saara-tyagi27

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an automated catalog generator tool (catalog-gen) along with a pre-commit hook to maintain a machine-readable blueprint and module wiring catalog and update the summary table in examples/README.md. It also updates the AI agent guidelines in AGENTS.md and SKILL.md to clarify blueprint customization rules. Feedback on the new Go code highlights a potential runtime panic in catalog.go if a blueprint has no variables, as well as a potential UTF-8 slicing issue when truncating description strings by byte index instead of rune index.

Comment thread pkg/catalog/catalog.go Outdated
Comment thread pkg/catalog/catalog.go Outdated
@saara-tyagi27
saara-tyagi27 marked this pull request as ready for review October 16, 2026 03:54
@saara-tyagi27
saara-tyagi27 requested a review from a team as a code owner October 16, 2026 03:54
Comment thread .pre-commit-config.yaml Outdated
Comment thread skills/cluster-blueprint-assistant/SKILL.md
Comment thread pkg/catalog/catalog.go Outdated
Comment thread pkg/catalog/catalog.go Outdated
Comment thread pkg/catalog/catalog.go Outdated
Comment thread pkg/catalog/catalog.go
Comment thread pkg/catalog/catalog.go Outdated
Comment thread pkg/catalog/catalog.go Outdated
Comment thread pkg/catalog/catalog.go Outdated

@arpit974 arpit974 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@saara-tyagi27
saara-tyagi27 merged commit 4c56291 into GoogleCloudPlatform:develop Oct 19, 2026
24 of 82 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-chore To not include into release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants