Skip to content

Add GitHub Mode to MyCoder #67

@bhouston

Description

@bhouston

Add GitHub Mode to MyCoder

Goal

Implement a "GitHub mode" for MyCoder that enables the agent to work with GitHub issues and PRs as its primary workflow. When enabled, the agent will:

  • Start from existing GitHub issues or create new ones for tasks
  • Create branches for issues it's working on
  • Create PRs when work is complete
  • Create additional GitHub issues for follow-up tasks or ideas

Problem Statement

Currently, MyCoder operates primarily on local files and doesn't have a built-in way to track tasks through GitHub. Adding GitHub integration would allow the agent to use GitHub as its external memory and persistence layer, providing better continuity between sessions and making it easier to track progress on larger projects.

Requirements

  • GitHub mode should be configurable globally and persist in the .mycoder settings directory
  • The agent should use the GitHub CLI (gh) for all GitHub interactions
  • In GitHub mode, the agent should:
    • Read from or create GitHub issues for tasks
    • Create branches for issues it's working on
    • Make commits and push changes
    • Create PRs linked to issues
    • Create additional GitHub issues for follow-up tasks or ideas

Feasibility Study

The implementation is highly feasible as:

  1. GitHub CLI (gh) is already available and provides a simple interface to GitHub
  2. MyCoder already has a settings directory structure at ~/.mycoder
  3. The agent already has shell execution capabilities
  4. The changes are mostly additive and don't require significant refactoring

Implementation Plan

See the detailed implementation plan in the attached file: github_mode_implementation_plan.md

Key components include:

  1. Adding GitHub settings storage in the .mycoder directory
  2. Creating CLI flags to enable GitHub mode
  3. Implementing GitHub tools for issue and PR management
  4. Updating the system prompt to include GitHub mode instructions
  5. Adding documentation for the new feature

Dependencies

  • GitHub CLI (gh) needs to be installed and authenticated
  • User needs to have appropriate GitHub permissions for the target repository

Timeline

This feature can be implemented in approximately 1-2 weeks, with most of the time spent on testing and documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions