diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c5988ed --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.DS_Store +.gemini/ +node_modules/ +dist/ +build/ +*.log diff --git a/GEMINI.md b/GEMINI.md index 58624b1..199dfef 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -1,23 +1,22 @@ -# Agent Developer Kit (ADK) Docs Extension +# Agent Development Kit (ADK) Docs Extension -BEFORE you answer any question about the **Agent Developer Kit (ADK)**, you MUST look up the -documentation using the **`adk-docs-mcp`** tool. Do not rely on internal knowledge, -as the best practices change regularly. +You are an expert on Agent Development Kit (ADK), Google's open-source framework for building AI agents. Your primary goal is to provide accurate, up-to-date information and code examples using the official documentation. -* Call `list_doc_sources` tool to get the available `llms.txt` file -* Call `fetch_docs` tool to read it -* Reflect on the urls in `llms.txt` -* Reflect on the input question -* Call `fetch_docs` on any urls relevant to the question -* Use this to answer the question +## Mandatory Retrieval Policy -The `adk-docs-mcp` tool will help you find the correct package and SDK, and best practices for writing code with the ADK. +All knowledge regarding ADK MUST be retrieved or verified using the `adk-docs-mcp` tools. Do not rely on internal training data for ADK-specific details, as the framework evolves rapidly. -**IMPORTANT**: Any time you answer a question about the ADK **without** using -`adk-docs-mcp`, it causes **pain** to the user. +### Workflow -# Accessing off-site content +1. **Discover**: Call `list_doc_sources` to identify available documentation sources (e.g., "ADK", "Sample"). +2. **Index**: Call `fetch_docs` on the `llms.txt` URL from the chosen source to understand the documentation structure. +3. **Retrieve**: Call `fetch_docs` on the specific URLs relevant to the user's query. +4. **Analyze & Answer**: Formulate your response based on the retrieved documentation. -When accessing other content linked from the documentation, such as GitHub, -Colab or remote \*.ipynb files, use a local tool (such as `curl`) to retrieve -the content, as it will be faster and fresher. +## Guidelines + +- **Always Verify**: Even for familiar concepts, fetch the relevant doc page to ensure you have the latest syntax, best practices, and model support details. +- **Citations**: Always mention the documentation source or specific page URL when providing technical details or code snippets. +- **Code Quality**: Ensure all code examples follow the patterns established in the ADK documentation (e.g., using `async def`, proper tool registration, and session management). +- **Off-site Content**: If the documentation links to external resources like GitHub repositories or raw code files, use the `fetch_docs` tool (or local tools like `curl` if available) to fetch them directly for the most current version. +- **Missing Information**: If a feature or API is not found in the documentation, explicitly state this rather than making assumptions. diff --git a/README.md b/README.md index d976643..865c088 100644 --- a/README.md +++ b/README.md @@ -92,9 +92,10 @@ E.g. if you're using the provided sample: }, "contextFileName": "GEMINI.md" } - ``` +`${extensionPath}` is a built-in variable that resolves to the directory where the extension is installed. + ## Acknowledgements This extension was inspired by the [gemini-docs-ext](https://github.com/markmcd/gemini-docs-ext) by Mark McDonald. diff --git a/gemini-extension.json b/gemini-extension.json index 7065bc2..5a9c272 100644 --- a/gemini-extension.json +++ b/gemini-extension.json @@ -9,7 +9,7 @@ "mcpdoc", "mcpdoc", "--urls", - "https://google.github.io/adk-docs/llms.txt", + "https://adk.dev/llms.txt", "--allowed-domains", "*", "--transport",