Skip to content

Feature: add first-party generated plugin system for mounted CLIs #62

@0xBigBoss

Description

@0xBigBoss

We found it useful in a fork to add a shared generated-plugin runtime for mounted APIs, so different generated integrations can plug into incur without adding integration-specific branching throughout Cli, Mcp, schema inspection, and skill generation.

Two concrete examples we built on top of that shared path were:

  • ConnectRPC
  • GraphQL

The main benefit was having generated integrations mount through shared operation metadata instead of each one needing bespoke framework wiring.

One caveat: the fork implementation is not the ideal packaging shape. Because these integrations live in the main package, they also pull integration-specific dependencies into core. A cleaner upstream design would likely keep the shared generated-plugin runtime in incur and move integration-specific implementations/dependencies into separate first-party packages.

There is also a small standalone example repo exercising the approach with both ConnectRPC and GraphQL:

Reference commits:

Would you be open to a first-party generated plugin system in incur, with the long-term goal of keeping integration-specific dependencies outside the core package?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions