chore: Fix spelling in contributing

Merge https://github.com/google/adk-python/pull/3394

This PR corrects misspellings identified by the [check-spelling action](https://github.com/marketplace/actions/check-spelling)

Note: while I use tooling to identify errors, the tooling doesn't _actually_ provide the corrections, I'm picking them on my own. I'm a human, and I may make mistakes.

### Testing Plan

The misspellings have been reported at https://github.com/jsoref/adk-python/actions/runs/19056081305/attempts/1#summary-54426435973

The action reports that the changes in this PR would make it happy: https://github.com/jsoref/adk-python/actions/runs/19056081446/attempts/1#summary-54426436321

**Unit Tests:**

- [ ] I have added or updated unit tests for my change.
- [ ] All unit tests pass locally.

_Please include a summary of passed `pytest` results._

**Manual End-to-End (E2E) Tests:**

_Please provide instructions on how to manually test your changes, including any
necessary setup or configuration. Please provide logs or screenshots to help
reviewers better understand the fix._

### Checklist

- [x] I have read the [CONTRIBUTING.md](https://github.com/google/adk-python/blob/main/CONTRIBUTING.md) document.
- [x] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] I have added tests that prove my fix is effective or that my feature works.
- [ ] New and existing unit tests pass locally with my changes.
- [ ] I have manually tested my changes end-to-end.
- [ ] Any dependent changes have been merged and published in downstream modules.

### Additional context

- https://github.com/google/adk-python/pull/3382#issuecomment-3488654110

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/3394 from jsoref:spelling-contributing c3d5e342c4350f7cae9f8f0c6638b176f2e30e80
PiperOrigin-RevId: 828659867
This commit is contained in:
Josh Soref
2025-11-05 15:42:51 -08:00
committed by Copybara-Service
parent a2ce34a0b9
commit 59d422ca21
30 changed files with 52 additions and 52 deletions
@@ -46,7 +46,7 @@ async def search_adk_source(
max_results: Maximum number of results to return (default: 20)
context_lines: Number of context lines to include around matches (default:
3)
case_sensitive: Whether search should be case sensitive (default: False)
case_sensitive: Whether search should be case-sensitive (default: False)
Returns:
Dict containing search results:
@@ -66,7 +66,7 @@ async def write_config_files(
Args:
configs: Dict mapping file_path to config_content (YAML as string)
backup_existing: Whether to create timest amped backup of existing files
backup_existing: Whether to create timestamped backup of existing files
before overwriting (default: False, User should decide)
create_directories: Whether to create parent directories if they don't exist
(default: True)
@@ -61,7 +61,7 @@ Here are the steps to help answer GitHub discussions:
3. **Decide whether to respond**:
* If all the following conditions are met, try to add a comment to the
discussion, otherwise, do not respond:
discussion; otherwise, do not respond:
- The discussion is not closed.
- The latest comment is not from you or other agents (marked as
"Response from XXX Agent").
@@ -102,7 +102,7 @@ IMPORTANT:
* You **should always** use the `convert_gcs_links_to_https` tool to convert
GCS links (e.g. "gs://...") to HTTPS links.
* **Do not** use the `convert_gcs_links_to_https` tool for non-GCS links.
* Make sure the citation URL is valid. Otherwise do not list this specific
* Make sure the citation URL is valid. Otherwise, do not list this specific
citation.
* Do not respond to any other discussion except the one specified by the user.
@@ -128,7 +128,7 @@ def convert_gcs_to_https(gcs_uri: str) -> Optional[str]:
base_url = "https://google.github.io/adk-docs/"
if os.path.basename(path_after_docs) == "index.md":
# Use the directory path if it is a index file
# Use the directory path if it is an index file
final_path_segment = os.path.dirname(path_after_docs)
else:
# Otherwise, use the file name without extension
@@ -54,10 +54,10 @@ root_agent = Agent(
),
instruction=f"""
# 1. Identity
You are a helper bot that updates ADK docs in Github Repository {DOC_OWNER}/{DOC_REPO}
based on the code in the ADK Python codebase in Github Repository {CODE_OWNER}/{CODE_REPO} according to the instructions in the ADK docs issues.
You are a helper bot that updates ADK docs in GitHub Repository {DOC_OWNER}/{DOC_REPO}
based on the code in the ADK Python codebase in GitHub Repository {CODE_OWNER}/{CODE_REPO} according to the instructions in the ADK docs issues.
You are very familiar with Github, expecially how to search for files in a Github repository using git grep.
You are very familiar with GitHub, especially how to search for files in a GitHub repository using git grep.
# 2. Responsibilities
Your core responsibility includes:
@@ -69,18 +69,18 @@ root_agent = Agent(
# 3. Workflow
1. Always call the `clone_or_pull_repo` tool to make sure the ADK docs and codebase repos exist in the local folder {LOCAL_REPOS_DIR_PATH}/repo_name and are the latest version.
2. Read and analyze the issue specified by user.
- If user only specified the issue number, call the `get_issue` tool to get the issue details, otherwise use the issue details provided by user directly.
- If user only specified the issue number, call the `get_issue` tool to get the issue details; otherwise, use the issue details provided by user directly.
3. If the issue contains instructions about how to update the ADK docs, follow the instructions to update the ADK docs.
4. Understand the doc update instructions.
- Ignore and skip the instructions about updating API reference docs, since it will be automatically generated by the ADK team.
5. Read the doc to update using the `read_local_git_repo_file_content` tool from the local ADK docs repo under {LOCAL_REPOS_DIR_PATH}/{DOC_REPO}.
6. Find the related Python files in the ADK Python codebase.
- If the doc update instructions specify paths to the Python files, use them directly, otherwise use a list of regex search patterns to find the related Python files through the `search_local_git_repo` tool.
- If the doc update instructions specify paths to the Python files, use them directly; otherwise, use a list of regex search patterns to find the related Python files through the `search_local_git_repo` tool.
- You should focus on the main ADK Python codebase, ignore the changes in tests or other auxiliary files.
- You should find all the related Python files, not only the most relevant one.
7. Read the specified or found Python files using the `read_local_git_repo_file_content` tool to find all the related code.
- You can ignore unit test files, unless you are sure that the test code is uesful to understand the related concepts.
- You should read all the the found files to find all the related code, unless you already know the content of the file or you are sure that the file is not related to the ADK doc.
- You can ignore unit test files, unless you are sure that the test code is useful to understand the related concepts.
- You should read all the found files to find all the related code, unless you already know the content of the file or you are sure that the file is not related to the ADK doc.
8. Update the ADK doc file according to the doc update instructions and the related code.
- Use active voice phrasing in your doc updates.
- Use second person "you" form of address in your doc updates.
@@ -102,7 +102,7 @@ root_agent = Agent(
- **File Paths:** Always use absolute paths when calling the tools to read files, list directories, or search the codebase.
- **Tool Call Parallelism:** Execute multiple independent tool calls in parallel when feasible (i.e. searching the codebase).
- **Avoid deletion:** Do not delete any existing content unless specifically directed to do so.
- **Explaination:** Provide concise explanations for your actions and reasoning for each step.
- **Explanation:** Provide concise explanations for your actions and reasoning for each step.
- **Minimize changes:** When making updates to documentation pages, make the minimum amount of changes to achieve the communication goal. Only make changes that are necessary, and leave everything else as-is.
- **Avoid trivial code sample changes:** Update code samples only when adding or modifying functionality. Do not reformat code samples, change variable names, or change code syntax unless you are specifically directed to make those updates.
@@ -56,17 +56,17 @@ root_agent = Agent(
),
instruction=f"""
# 1. Identity
You are a helper bot that checks if ADK docs in Github Repository {DOC_REPO} owned by {DOC_OWNER}
should be updated based on the changes in the ADK Python codebase in Github Repository {CODE_REPO} owned by {CODE_OWNER}.
You are a helper bot that checks if ADK docs in GitHub Repository {DOC_REPO} owned by {DOC_OWNER}
should be updated based on the changes in the ADK Python codebase in GitHub Repository {CODE_REPO} owned by {CODE_OWNER}.
You are very familiar with Github, expecially how to search for files in a Github repository using git grep.
You are very familiar with GitHub, especially how to search for files in a GitHub repository using git grep.
# 2. Responsibilities
Your core responsibility includes:
- Find all the code changes between the two ADK releases.
- Find **all** the related docs files in ADK Docs repository under the "/docs/" directory.
- Compare the code changes with the docs files and analyze the differences.
- Write the instructions about how to update the ADK docs in markdown format and create a Github issue in the Github Repository {DOC_REPO} with the instructions.
- Write the instructions about how to update the ADK docs in markdown format and create a GitHub issue in the GitHub Repository {DOC_REPO} with the instructions.
# 3. Workflow
1. Always call the `clone_or_pull_repo` tool to make sure the ADK docs and codebase repos exist in the local folder {LOCAL_REPOS_DIR_PATH}/repo_name and are the latest version.
@@ -102,8 +102,8 @@ root_agent = Agent(
**Reference**:
Reference to the code file (e.g. src/google/adk/tools/spanner/metadata_tool.py).
```
- When referncing doc file, use the full relative path of the doc file in the ADK Docs repository (e.g. docs/sessions/memory.md).
9. Create or recommend to create a Github issue in the Github Repository {DOC_REPO} with the instructions using the `create_issue` tool.
- When referencing doc file, use the full relative path of the doc file in the ADK Docs repository (e.g. docs/sessions/memory.md).
9. Create or recommend to create a GitHub issue in the GitHub Repository {DOC_REPO} with the instructions using the `create_issue` tool.
- The title of the issue should be "Found docs updates needed from ADK python release <start_tag> to <end_tag>", where start_tag and end_tag are the release tags.
- The body of the issue should be the instructions about how to update the ADK docs.
- Include the compare link between the two ADK releases in the issue body, e.g. https://github.com/google/adk-python/compare/v1.14.0...v1.14.1.
@@ -112,7 +112,7 @@ root_agent = Agent(
# 4. Guidelines & Rules
- **File Paths:** Always use absolute paths when calling the tools to read files, list directories, or search the codebase.
- **Tool Call Parallelism:** Execute multiple independent tool calls in parallel when feasible (i.e. searching the codebase).
- **Explaination:** Provide concise explanations for your actions and reasoning for each step.
- **Explanation:** Provide concise explanations for your actions and reasoning for each step.
- **Reference:** For each recommended change, reference the code changes (i.e. links to the commits) **AND** the code files (i.e. relative paths to the code files in the codebase).
- **Sorting:** Sort the recommended changes by the importance of the changes, from the most important to the least important.
- Here are the importance groups: Feature changes > Bug fixes > Other changes.
@@ -392,7 +392,7 @@ def get_issue(
Args:
repo_owner: The name of the repository owner.
repo_name: The name of the repository.
issue_number: issue number of the Github issue.
issue_number: issue number of the GitHub issue.
Returns:
The status of this request, with the issue details when successful.
@@ -29,7 +29,7 @@ import requests
BUG_REPORT_TEMPLATE = read_file(
Path(__file__).parent / "../../../../.github/ISSUE_TEMPLATE/bug_report.md"
)
FREATURE_REQUEST_TEMPLATE = read_file(
FEATURE_REQUEST_TEMPLATE = read_file(
Path(__file__).parent
/ "../../../../.github/ISSUE_TEMPLATE/feature_request.md"
)
@@ -145,7 +145,7 @@ root_agent = Agent(
# 2. CONTEXT & RESOURCES
* **Repository:** You are operating on the GitHub repository `{OWNER}/{REPO}`.
* **Bug Report Template:** (`{BUG_REPORT_TEMPLATE}`)
* **Feature Request Template:** (`{FREATURE_REQUEST_TEMPLATE}`)
* **Feature Request Template:** (`{FEATURE_REQUEST_TEMPLATE}`)
# 3. CORE MISSION
Your goal is to check if a GitHub issue, identified as either a "bug" or a "feature request,"
@@ -248,7 +248,7 @@ root_agent = Agent(
- If it's about tracing, label it with "tracing".
- If it's agent orchestration, agent definition, label it with "core".
- If it's about Model Context Protocol (e.g. MCP tool, MCP toolset, MCP session management etc.), label it with "mcp".
- If you can't find a appropriate labels for the PR, follow the previous instruction that starts with "IMPORTANT:".
- If you can't find an appropriate labels for the PR, follow the previous instruction that starts with "IMPORTANT:".
Here is the contribution guidelines:
`{CONTRIBUTING_MD}`
@@ -214,7 +214,7 @@ root_agent = Agent(
- Use "agent engine" only when the issue clearly references Vertex AI Agent Engine deployment artifacts (for example `.agent_engine_config.json`, `ae_ignore`, `agent_engine_id`, or Agent Engine sandbox errors).
- If it's about Model Context Protocol (e.g. MCP tool, MCP toolset, MCP session management etc.), label it with both "mcp" and "tools".
- If it's about A2A integrations or workflows, label it with "a2a".
- If you can't find a appropriate labels for the issue, follow the previous instruction that starts with "IMPORTANT:".
- If you can't find an appropriate labels for the issue, follow the previous instruction that starts with "IMPORTANT:".
Call the `add_label_and_owner_to_issue` tool to label the issue, which will also assign the issue to the owner of the label.
@@ -9,7 +9,7 @@ This sample data science agent uses Agent Engine Code Execution Sandbox to execu
* 1. Follow https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/code-execution/overview to create a code execution sandbox environment.
* 2. Replace the SANDBOX_RESOURCE_NAME with the one you just created. If you dont want to create a new sandbox environment directly, the Agent Engine Code Execution Sandbox will create one for you by default using the AGENT_ENGINE_RESOURCE_NAME you specified, however, please ensure to clean up sandboxes after use, otherwise, it will consume quotas.
* 2. Replace the SANDBOX_RESOURCE_NAME with the one you just created. If you dont want to create a new sandbox environment directly, the Agent Engine Code Execution Sandbox will create one for you by default using the AGENT_ENGINE_RESOURCE_NAME you specified, however, please ensure to clean up sandboxes after use; otherwise, it will consume quotas.
## Sample prompt
@@ -31,7 +31,7 @@ def base_system_instruction():
**Statefulness:** All code snippets are executed and the variables stays in the environment. You NEVER need to re-initialize variables. You NEVER need to reload files. You NEVER need to re-import libraries.
**Output Visibility:** Always print the output of code execution to visualize results, especially for data exploration and analysis. For example:
- To look a the shape of a pandas.DataFrame do:
- To look at the shape of a pandas.DataFrame do:
```tool_code
print(df.shape)
```
@@ -28,7 +28,7 @@ This folder comes with -
### Details
You can read about the Auth Code grant / flow type in detail [here](https://developer.okta.com/blog/2018/04/10/oauth-authorization-code-grant-type). But for the purpose of this demo, following steps take place
You can read about the [Auth Code grant / flow type](https://developer.okta.com/blog/2018/04/10/oauth-authorization-code-grant-type) in detail. But for the purpose of this demo, following steps take place
1. The user asks the agent to find hotels in "New York".
2. Agent realizes (based on LLM response) that it needs to call a tool and that the tool needs authentication.
@@ -139,7 +139,7 @@ def create_access_token(client_id, scopes, user_sub=None):
payload = {
"iss": "http://localhost:5000", # who issued this token?
# aud - What client API is this token for? - please check comment in hotel booker is_token_valid
# ideally the reqeust's resource parameter (part of OAuth spec extension)
# ideally the request's resource parameter (part of OAuth spec extension)
# Here is an example of such request inbound to this IDP
# GET http://localhost:5000/authorize?
# response_type=code&
@@ -344,7 +344,7 @@ def generate_token():
client = CLIENT_REGISTRY.get(client_id)
if not client:
logging.error(f"invlid client {client_id}")
logging.error(f"invalid client {client_id}")
return (
jsonify(
{"error": "invalid_client", "error_description": "Client not found"}
+1 -1
View File
@@ -29,7 +29,7 @@ CREDENTIALS_TYPE = AuthCredentialTypes.OAUTH2
tool_settings = BigtableToolSettings()
if CREDENTIALS_TYPE == AuthCredentialTypes.OAUTH2:
# Initiaze the tools to do interactive OAuth
# Initialize the tools to do interactive OAuth
# The environment variables OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET
# must be set
credentials_config = BigtableCredentialsConfig(
@@ -72,7 +72,7 @@ PLAYWRIGHT_KEY_MAP = {
class PlaywrightComputer(BaseComputer):
"""Conputer that controls Chromium via Playwright."""
"""Computer that controls Chromium via Playwright."""
def __init__(
self,
@@ -1,4 +1,4 @@
# Basic Confg-based Agent
# Basic Config-based Agent
This sample only covers:
@@ -34,7 +34,7 @@ class MyCustomAgentConfig(BaseAgentConfig):
model_config = ConfigDict(
extra="forbid",
)
agent_class: str = "core_cutom_agent_config.my_agents.MyCustomAgent"
agent_class: str = "core_custom_agent_config.my_agents.MyCustomAgent"
my_field: str = ""
@@ -109,7 +109,7 @@ def base_system_instruction():
```
**Output Visibility:** Always print the output of code execution to visualize results, especially for data exploration and analysis. For example:
- To look a the shape of a pandas.DataFrame do:
- To look at the shape of a pandas.DataFrame do:
```tool_code
print(df.shape)
```
@@ -150,7 +150,7 @@ root_agent = Agent(
You need to assist the user with their queries by looking at the data and the context in the conversation.
You final answer should summarize the code and code execution relavant to the user query.
You final answer should summarize the code and code execution relevant to the user query.
You should include all pieces of data to answer the user query, such as the table from code execution results.
If you cannot answer the question directly, you should follow the guidelines above to generate the next step.
+1 -1
View File
@@ -26,7 +26,7 @@ from google.genai import types
class _TestPlugin(base_plugin.BasePlugin):
def __init__(self, outputs):
super().__init__(name="test-pluggin")
super().__init__(name="test-plugin")
self._model_output_idx = 0
self.got_llm_requests = []
self._outputs = outputs

Some files were not shown because too many files have changed in this diff Show More