Skip to content

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

@alleneubank

Description

@alleneubank

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions