Skip to content

Conversation

@tpryan
Copy link
Member

@tpryan tpryan commented Oct 21, 2025

This pull request introduces a new automated workflow and supporting code to generate a feature matrix for the ADK project documentation using Gemini AI. The workflow is designed to analyze the ADK documentation, extract supported features for each runtime, and create a pull request with an updated feature matrix in markdown format. The main changes include adding a GitHub Actions workflow, implementing a Go program to process documentation and interact with Gemini, and providing prompt and example files to guide the AI's output.

Automation and Workflow:

  • Added a new GitHub Actions workflow (.github/workflows/feature-matrix-updater.yaml) that checks out the repository, sets up Go, runs a documentation analysis tool, and automatically creates a pull request with the generated feature matrix documentation.

Feature Matrix Generation Tool:

  • Implemented a new Go program (tools/feature-matrix/main.go) that:
    • Reads prompt and starter markdown files.
    • Extracts relevant content from the documentation.
    • Sends a prompt to Gemini AI to generate a feature support matrix.
    • Writes the AI-generated matrix to the documentation directory, ready for PR creation.
  • Added a Go module file (tools/feature-matrix/go.mod) specifying dependencies for Gemini AI, logging, and other utilities.

Prompt and Example Content:

  • Added a detailed prompt file (tools/feature-matrix/prompt.md) instructing Gemini on how to analyze the documentation and format the feature matrix, including guidelines for language support and markdown output.
  • Added a starter/example markdown file (tools/feature-matrix/start.md) to provide Gemini with a reference for the expected style and content of the feature matrix.

tpryan added 5 commits October 1, 2025 12:45
Introduces a GitHub Actions workflow that checks out two repositories, sets up Go, installs dependencies, runs a Go program, and creates a pull request with generated documentation updates.
Renamed the workflow to 'Feature Matrix Creator' and changed the trigger from push on main to manual workflow_dispatch.
Introduces a new tool under tools/feature-matrix to generate a feature support matrix for ADK runtimes by analyzing documentation. Includes Go implementation (main.go), prompt and starter markdown files, and Go module dependencies.
Removes checkout of the adk-docs-features repo and updates steps to use the local tools/feature-matrix directory for dependency installation and program execution. Simplifies the workflow by eliminating unnecessary repository cloning and file movement.
@tpryan tpryan requested a review from koverholt October 21, 2025 21:36
Copy link
Collaborator

@koverholt koverholt left a comment

Choose a reason for hiding this comment

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

Thanks for this PR! The implementation and initial output LGTM. I left a few minor (non-blocking) comments. I do want to refer to @joefernandez for final review of the tooling and output.

Comment on lines 23 to 26
Please always preface the content with this markdown content after ADK Features header and becfore first paragraph:

!!! note:
This content is autogenerated by Gemini, based on our documentation. It is a best effort to generate a feature matrix, but may not be 100% accurate as features can outpace documentation, or Gemini might inaccurately generate content.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I noticed the final output MD does not include this note.

Copy link
Collaborator

Choose a reason for hiding this comment

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

We need to have disclaimer and the generator needs to guarantee that it appears on the page.

Copy link
Member Author

Choose a reason for hiding this comment

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

This PR does not include a starting output. Everytime I have run the generator, it does show up. I'll do a little more testing though

Copy link
Member Author

Choose a reason for hiding this comment

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

Tested. It's working.


Please double check the matrix's markdown content for validity before outputting.

Please say "Planned" instead of "No" when a feature is not supported, unless there is text in the documentation that makes it clear that a particular feature will not be supported in a given language, in which case, then write "no". If you mark something as know please include a link to the text that makes you make that determination. Nearest header is close enough.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think we should implicitly assume that unsupported == planned since it might not be on the roadmap for a given language. But I understand the distinction you are trying to make between explicitly unsupported vs. implicitly unsupported. Suggest changing "Planned" to "Unsupported", which is distinct from the "No" category.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Agree we should not say "planned", but "unsupported"

Copy link
Member Author

Choose a reason for hiding this comment

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

Will change

Copy link
Member Author

Choose a reason for hiding this comment

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

Implemented

* **Deployment**: Deploy your agents to a variety of environments, including serverless (Cloud Run), Kubernetes (GKE), and the fully managed Vertex AI Agent Engine.
* **Agent2Agent (A2A) Protocol**: Build distributed, multi-agent systems where agents running as separate services can communicate and collaborate using the open A2A standard.

## Feature Support Matrix
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggest having the matrix appear above the (lengthy) descriptions.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good suggestion

Copy link
Member Author

Choose a reason for hiding this comment

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

Implemented

Copy link
Collaborator

@joefernandez joefernandez left a comment

Choose a reason for hiding this comment

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

Approved with comments.

Revised the prompt to use 'Unsupported' instead of 'Planned' for features not supported, clarified disclaimer placement, and updated instructions for matrix ordering. Updated start.md to move the disclaimer and feature matrix to the top, reflect new terminology, and provide a more accurate and current feature support matrix.
@tpryan tpryan merged commit 1df6ff6 into main Oct 23, 2025
3 checks passed
@tpryan tpryan deleted the feature-matrix branch October 23, 2025 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants