Skip to content

Support for go mod operations against private repositoriesΒ #86

@dwalker-va

Description

@dwalker-va

Describe your question
Currently the way that the copilot agent environment is configured prevents the agent from being able to read other private repositories or have tokens configured, but this limits its effectiveness in being able to execute routine tasks like updating private dependencies.

For example, if your company builds its APIs on top of protocol buffers, you might have a protocol buffer repository (like https://github.com/googleapis) which builds into langauge-specific package management systems, or a git repository in the case of golang (like https://github.com/googleapis/go-genproto), potentially a repository for bundling that generated code into an SDK (like https://github.com/googleapis/google-cloud-go), and then finally a target repo that actually needs to update that SDK where the agent is working in. Tasks that would be achievable for Copilot with a monorepo/simplistic API authoring setup become impossible with its current lack of configuration options.

Other tools like https://github.com/langchain-ai/open-swe take a different approach to authentication that enables the agent to have wider access to an organization's repositories (although it is not perfect either). On some level, I appreciate the default security stance of locking the agent's authentication scope to the repository its working in, but the lack of customization here severely limits its effectiveness in organizations that have a wide repository layout and many internal dependencies.

Are we thinking about offering more configuration over Copilot's authentication credentials? What I would be looking for would be a way to give the agent read access to other repositories within my organization and limit write access to the repo its working in.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions