Skip to content

Feature Request: Push an Extension’s Code to Another Extension #431

Description

@nouraellm

Summary

It would be useful to have a way to push the code from one Airtable extension directly to another extension, similar to how GitHub allows you to work with and push changes between repositories/branches.

Use case

When developing multiple extensions that share the same codebase or when creating a new extension based on an existing one, I currently need to manually copy the code/configuration from one extension to another.

For example:

  • Extension A already contains the desired implementation.
  • Extension B already exists in Builder Hub.
  • I want to deploy the current code from Extension A to Extension B.
  • Ideally, this could be done directly from the CLI or Builder Hub.

Proposed solution

Add a command/action that allows an extension to be used as the source for another extension, for example:

airtable extensions push --from <extension-a> --to <extension-b>

Or, conceptually:

airtable extension push <source> <target>

The target extension would receive the source extension's code, while retaining its own identity, permissions, and other extension-specific configuration where appropriate.

Why this would be useful

This would make it much easier to:

  • Clone an existing extension into another extension.
  • Maintain multiple extensions based on a common implementation.
  • Promote/test code between extensions.
  • Avoid manually copying files or recreating extensions.
  • Integrate Airtable extension development more naturally into existing Git-based workflows and CI/CD pipelines.

Additional considerations

It would be helpful if the operation clearly distinguished between:

  • Code being copied/deployed.
  • Extension metadata/configuration belonging to the target.
  • Secrets or credentials, which should not be copied automatically.
  • Permissions/scopes, which could either be preserved from the target or explicitly requested as part of the deployment.

A --dry-run option would also be useful to show what would change before pushing.

Example workflow

Extension A
    │
    │ push/deploy
    ▼
Extension B

This would essentially provide a first-class way to deploy the implementation of one Airtable extension to another existing extension, without having to manually duplicate the project.

Activity

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

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