Skip to content

Contributing back to upstream dependencies? #106

Description

@karlhorky

Describe the feature or problem you'd like to solve

Contribute improvements back to upstream dependencies

Proposed solution

Copilot CLI has two dependencies, @devm33/node-pty and keytar-forked-forked https://www.npmjs.com/package/@github/copilot?activeTab=dependencies

  1. Contribute changes to https://github.com/microsoft/node-pty (instead of @devm33/node-pty )
  2. Contribute changes to some maintained version of keytar (original keytar is unmaintained). keytar-forked (https://github.com/shiftkey/node-keytar by @shiftkey) is one option, but it only has 600 downloads per week

This would enable Copilot CLI to also give back to the open source ecosystem.

cc @devm33

Example prompts or workflows

--

Additional context

--

Activity

  1. devm33 commented on Sep 28, 2025

    @devm33
    Member

    Hi @karlhorky, appreciate the feedback.

    The changes for both dependencies are focused on adding/improving the native addon prebuilds.

    For node-pty, the upstream change is microsoft/node-pty#794 waiting on help from @rzhao271 updating the publishing pipeline 🙏

    For keytar, the changes are similar between keytar-forked and keytar-forked-forked (diff). However, I don't have a PR open for it because as you mention the original package is unmaintained. We are working on moving the latest to a new package to take ownership and maintenance. Will update here on that.

    Thank you for raising!

  2. karlhorky commented on Sep 28, 2025

    @karlhorky
    ContributorAuthor

    Amazing, thanks for the quick response and plan!

  3. karlhorky commented on Oct 22, 2025

    @karlhorky
    ContributorAuthor

    @RyanHecht why did you close this issue?

    There is a plan above, and microsoft/node-pty#804 has been merged as part of it, but is all of the work to contribute to these upstream dependencies and the new keytar package done already? @devm33 mentioned above that he will write an update here about that.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions