Skip to content

feat: fix opencode plugin and add gemini agent plugin#234

Open
taisung wants to merge 3 commits intoComposioHQ:mainfrom
taisung:feat/opencode-gemini-plugins
Open

feat: fix opencode plugin and add gemini agent plugin#234
taisung wants to merge 3 commits intoComposioHQ:mainfrom
taisung:feat/opencode-gemini-plugins

Conversation

@taisung
Copy link

@taisung taisung commented Feb 28, 2026

Summary

  • OpenCode plugin: Added shell wrappers (gh/git interceptors), setupWorkspaceHooks, postLaunchSetup, and PATH prepend to ~/.ao/bin so PRs created by agents appear in the dashboard. Removed invalid --yes flag (opencode has no permissions bypass CLI flag).
  • Gemini plugin: New @composio/ao-plugin-agent-gemini with full Agent interface — headless mode (-p), --yolo permissions, -m model, -r latest restore, session activity detection via ~/.gemini/tmp/ mtime, GEMINI.md system prompt support, and shared shell wrappers.
  • Plugin registry: Both plugins registered in BUILTIN_PLUGINS and added as CLI workspace deps.

Test plan

  • OpenCode plugin: 35 tests pass (pnpm --filter @composio/ao-plugin-agent-opencode test)
  • Gemini plugin: 49 tests pass (pnpm --filter @composio/ao-plugin-agent-gemini test)
  • Core: 274 tests pass (registry changes verified)
  • Full build, typecheck (0 errors), lint (0 errors)
  • Manual: ao spawn with opencode agent — verify no invalid flags, PR metadata updates
  • Manual: ao spawn with gemini agent — verify headless launch, session detection

🤖 Generated with Claude Code

…plugin

OpenCode plugin now has shell wrappers (gh/git interceptors), PATH prepend,
setupWorkspaceHooks, and postLaunchSetup so PRs created by agents appear in
the dashboard. Removed invalid --yes flag (opencode has no permissions bypass).

New Gemini CLI plugin with full Agent interface: headless mode (-p), --yolo
permissions, -m model, -r latest restore, session activity detection via
~/.gemini/tmp/ mtime, GEMINI.md system prompt, and shared shell wrappers.

Both plugins registered in plugin-registry and CLI workspace deps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6a57358c87

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- Handle system prompt via compound shell command (cp/printf to GEMINI.md
  before launching gemini) since no --system-prompt CLI flag exists
- Return null from getActivityState/getSessionInfo when process is running
  to avoid cross-session data leaks (no workspace-to-project-id mapping)
- Guard getRestoreCommand with hasGeminiSessions() check, return null when
  no prior sessions exist so caller can fall back to getLaunchCommand
- Remove unused findLatestGeminiSessionFile, stat import, mockStat

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

The systemPrompt parameter was never passed by either call site
(setupWorkspaceHooks and postLaunchSetup). GEMINI.md writing is
handled at launch time via getLaunchCommand's compound shell prefix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@suraj-markup
Copy link
Collaborator

Can you please resolve all the comments?

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.

2 participants