diff --git a/a2as.yaml b/a2as.yaml new file mode 100644 index 0000000..7d44fc9 --- /dev/null +++ b/a2as.yaml @@ -0,0 +1,77 @@ +manifest: + version: "0.1.3" + schema: https://a2as.org/cert/schema + subject: + name: derrickchwong/gemini-cli-on-adk + source: https://github.com/derrickchwong/gemini-cli-on-adk + branch: main + commit: "eaf0d115" + scope: [app/agent.py, app/__init__.py] + issued: + by: A2AS.org + at: '2026-02-11T16:41:38Z' + url: https://a2as.org/certified/agents/derrickchwong/gemini-cli-on-adk + signatures: + digest: sha256:qcUx_PVm12hGeG5Cdxa3PrLXcmOm7dnWPG4-b9ZVYO8 + key: ed25519:AYa4RPyuVevb7FlYTz57GVfe2Zvq6a8ATRMdiF5z3Z8 + sig: ed25519:Mw8zDVI11HbAh4NsErwG4yja9ebGzYT0v5es39bTo-yuov1Dcj0TywVyf-YN2kCbSX_zs17HiN9aHL_YKP98Bg + +agents: + root_agent: + type: instance + models: [gemini-2.5-pro] + tools: [gemini_cli] + params: + name: root_agent + instruction: ['You are a world class Software Developer and you have a very powerful tool - Gemini CLI to help analyze + code, generating test plan, generating unit tests, etc.', The codebase is cloned from a GitHub repository and stored + on /tmp directory., Always use the Gemini CLI tool to analyze the codebase and complete the user's request.] + +models: + gemini-2.5-pro: + type: literal + agents: [root_agent] + +tools: + gemini_cli: + type: function + agents: [root_agent] + params: + description: |- + Executes the Gemini CLI. + + Args: + task: The task to pass to Gemini CLI, eg: explain this codebase, generate a test plan, etc. + github_url: GitHub URL to clone and analyze. + + Returns: + The response from the Gemini CLI. + +imports: + Agent: google.adk.agents.Agent + auth: google.auth + os: os + requests: requests + root_agent: app.agent.root_agent + subprocess: subprocess + +functions: + gemini_cli: + type: sync + module: app.agent + args: [task, github_url] + params: + returns: str + get_project_id: + type: sync + module: app.agent + +networks: + metadata.google.internal: + type: api + actions: [GET] + urls: [/computeMetadata/v1/project/project-id] + protocols: [http] + ports: ["80"] + params: + caller: [get_project_id]