Skip to content

feat(core): config-driven plugin expansion + ecosystem distillation#217

Open
suraj-markup wants to merge 22 commits intoComposioHQ:mainfrom
suraj-markup:session/ao-11
Open

feat(core): config-driven plugin expansion + ecosystem distillation#217
suraj-markup wants to merge 22 commits intoComposioHQ:mainfrom
suraj-markup:session/ao-11

Conversation

@suraj-markup
Copy link
Collaborator

@suraj-markup suraj-markup commented Feb 25, 2026

Summary

Implements the foundation for plugin ecosystem expansion:

  • Config-driven plugin loading for non-builtin plugins
  • Practical plugin config extraction/normalization
  • Test coverage for dynamic loading and config forwarding
  • Research distillation document with prioritized plugin roadmap

Closes: #216

Changes

  • packages/core/src/plugin-registry.ts
  • packages/core/src/__tests__/plugin-registry.test.ts
  • packages/cli/src/lib/plugins.ts
  • packages/cli/package.json
  • packages/cli/__tests__/lib/plugins.test.ts
  • packages/plugins/agent-gemini/*
  • packages/plugins/agent-goose/*
  • packages/plugins/agent-amazon-q/*
  • packages/plugins/agent-kiro/*
  • packages/plugins/notifier-discord/*
  • packages/plugins/notifier-teams/*
  • packages/plugins/notifier-telegram/*
  • packages/plugins/terminal-kitty/*
  • packages/plugins/terminal-wezterm/*
  • packages/plugins/runtime-docker/*
  • packages/plugins/tracker-jira/*
  • packages/plugins/scm-gitlab/*
  • packages/plugins/notifier-email/*
  • packages/plugins/terminal-zellij/*
  • docs/research/orchestrator-plugin-distillation-2026-02-25.md
  • docs/research/plugin-distillation-implementation-update-2026-02-26.md
  • plugin-distillation-research.md
  • plugin-catalog-industry-standard.md
  • .github/issue-drafts/plugin-ecosystem-expansion.md
  • .github/pr-drafts/plugin-ecosystem-expansion.md

Validation

  • pnpm --filter @composio/ao-core test -- plugin-registry
  • Additional plugin/package tests were added, but full workspace execution is currently blocked in this environment because pnpm install cannot reach registry.npmjs.org (DNS/network restriction).
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 2 potential issues.

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

"-m",
options.commitMessage ?? `Merge ${options.sourceBranch} into ${options.targetBranch}`,
]);
}
Copy link

Choose a reason for hiding this comment

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

Merge method skips commit before pushing

High Severity

When mergeMethod is "merge", the code performs git merge --no-ff --no-commit to stage the merge, but the git commit step on lines 137–145 only runs for the "squash" path. The "merge" method never creates a commit. When autoPush is true, git push origin HEAD:targetBranch pushes the pre-merge HEAD (the original target branch commit), silently discarding the merged content.

Additional Locations (1)

Fix in Cursor Fix in Web

} catch {
return false;
}
},
Copy link

Choose a reason for hiding this comment

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

Massive identical code duplicated across new agent plugins

Medium Severity

The isProcessRunning method is ~50 lines of identical tmux-TTY-lookup and PID-check logic copy-pasted across every new agent plugin (gemini, goose, kiro, amazon-q, amp, auggie, cagent, cline, continue, copilot), differing only in the process name regex. A bug fix in the tmux pane detection or PID checking logic would need to be applied to 10+ files independently, risking inconsistent fixes. This belongs in a shared utility parameterized by process name.

Additional Locations (2)

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant