Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add issue triage guidelines #357

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add issue triage guidelines #357

wants to merge 1 commit into from

Conversation

bhouston
Copy link
Member

This PR addresses issue #356 by adding issue triage guidelines to be used by a GitHub workflow for automatic issue triage.

Changes

  • Added .mycoder/ISSUE_TRIAGE.md with comprehensive guidelines for issue triage, including:
    • Issue classification (Bug, Feature, Request)
    • Label recommendations (bug, documentation, question, duplicate, enhancement, help wanted)
    • Detailed triage process steps
    • Guidelines for investigating different issue types
    • Communication guidelines

Next Steps

A GitHub workflow needs to be created to use these guidelines. Due to permissions limitations, I can't create the workflow file directly, but here's the proposed workflow file content that should be added to .github/workflows/issue-created.yml:

name: MyCoder Issue Triage Action

# This workflow is triggered when new issues are created
on:
  issues:
    types: [opened]

# Top-level permissions apply to all jobs
permissions:
  contents: read # Required for checkout
  issues: write # Required for issue comments and labels
  pull-requests: read # For context if needed
  discussions: read # Added for more context if needed

env:
  ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

jobs:
  triage-issue:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version-file: .nvmrc
      - uses: pnpm/action-setup@v4
        with:
          version: ${{ vars.PNPM_VERSION }}
      - run: pnpm install
      - run: cd packages/agent && pnpm exec playwright install --with-deps chromium
      - run: |
          git config --global user.name "Ben Houston (via MyCoder)"
          git config --global user.email "neuralsoft@gmail.com"
      - run: pnpm install -g mycoder
      - run: |
          echo "${{ secrets.GH_PAT }}" | gh auth login --with-token
          gh auth status
      - name: Run MyCoder for Issue Triage
        run: |
          mycoder --upgradeCheck false --githubMode true --userPrompt false "You are an issue triage assistant. Please analyze GitHub issue #${{ github.event.issue.number }} according to the guidelines in .mycoder/ISSUE_TRIAGE.md. Categorize the issue type (Bug, Feature, Request), suggest appropriate labels, check for duplicates, and provide a helpful initial assessment. If the issue is too vague, ask for more information. For bugs, try to identify potential causes. For feature requests, suggest implementation approaches. For questions, try to provide answers based on the codebase and documentation."

This workflow is similar to the existing issue-comment.yml but is triggered on issue creation rather than comments. It uses the guidelines in the .mycoder/ISSUE_TRIAGE.md file to analyze and categorize new issues.

Closes #356

@bhouston bhouston mentioned this pull request Mar 22, 2025
@bhouston
Copy link
Member Author

/mycoder I would like to not add this to issue-comment.yml, but rather have a new issue-created.yml that only does issue triage. Can you make that modification?

@bhouston
Copy link
Member Author

I've created the requested files as per your instructions:

  1. Created .mycoder/ISSUE_TRIAGE.md with comprehensive issue triage guidelines
  2. Created a new .github/workflows/issue-created.yml workflow file specifically for issue triage

However, I encountered a permission issue when trying to push the changes:

! [remote rejected] issue-357-create-issue-triage-workflow -> issue-357-create-issue-triage-workflow (refusing to allow a GitHub App to create or update workflow `.github/workflows/issue-created.yml` without `workflows` permission)

This is a GitHub security restriction that prevents GitHub Apps (like me) from modifying workflow files without explicit permissions.

Here's the content of the files I created:

.mycoder/ISSUE_TRIAGE.md:

# Issue Triage Guidelines

This document provides guidelines for triaging GitHub issues in the MyCoder project. These guidelines help ensure that issues are properly categorized, labeled, and addressed in a timely manner.

## Issue Classification

Issues generally fall into one of these categories:

1. **Bug Reports** - Something isn't working as expected
2. **Feature Requests** - Suggestions for new functionality
3. **Questions/Help** - Requests for assistance or clarification

## Recommended Labels

- `bug` - For confirmed bugs
- `documentation` - Issues related to documentation
- `duplicate` - Issue already exists
- `enhancement` - New features or improvements
- `good first issue` - Good for newcomers
- `help wanted` - Extra attention needed
- `invalid` - Issue doesn't apply
- `question` - General questions
- `wontfix` - Will not be worked on

## Triage Process

### 1. Initial Assessment

- Read the issue description thoroughly
- Identify the issue type (Bug, Feature, Question)
- Check if the issue is a duplicate of an existing issue
- Ensure the issue contains sufficient information

### 2. For Bug Reports

- Verify the issue can be reproduced
- Check if the issue includes:
  - Steps to reproduce
  - Expected behavior
  - Actual behavior
  - Environment details (OS, browser, version)
  - Error messages/logs if applicable
- If information is missing, request additional details
- Try to identify potential causes or related components
- Suggest workarounds if possible

### 3. For Feature Requests

- Evaluate if the request aligns with project goals
- Check if similar features already exist or are planned
- Consider implementation feasibility
- Suggest alternative approaches if applicable
- Identify potential benefits and drawbacks

### 4. For Questions

- Provide clear and concise answers based on documentation
- Link to relevant documentation when possible
- If the question indicates a documentation gap, suggest improvements
- Consider if the question indicates a need for a new feature or reveals a bug

## Communication Guidelines

- Be respectful and professional
- Acknowledge the issue reporter's contribution
- Use clear and concise language
- Ask specific questions when requesting more information
- Explain reasoning for decisions (e.g., marking as won't fix)
- Provide context for any actions taken

## Follow-up Actions

- Apply appropriate labels
- Assign to relevant team members if applicable
- Add to project boards if used
- Set milestones if applicable
- Reference related issues or PRs
- Close with explanation if not actionable

These guidelines should be applied consistently to maintain an organized issue tracker and provide a positive experience for contributors.

.github/workflows/issue-created.yml:

name: MyCoder Issue Triage Action

# This workflow is triggered when new issues are created
on:
  issues:
    types: [opened]

# Top-level permissions apply to all jobs
permissions:
  contents: read # Required for checkout
  issues: write # Required for issue comments and labels
  pull-requests: read # For context if needed
  discussions: read # Added for more context if needed

env:
  ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

jobs:
  triage-issue:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version-file: .nvmrc
      - uses: pnpm/action-setup@v4
        with:
          version: ${{ vars.PNPM_VERSION }}
      - run: pnpm install
      - run: cd packages/agent && pnpm exec playwright install --with-deps chromium
      - run: |
          git config --global user.name "Ben Houston (via MyCoder)"
          git config --global user.email "neuralsoft@gmail.com"
      - run: pnpm install -g mycoder
      - run: |
          echo "${{ secrets.GH_PAT }}" | gh auth login --with-token
          gh auth status
      - name: Run MyCoder for Issue Triage
        run: |
          mycoder --upgradeCheck false --githubMode true --userPrompt false "You are an issue triage assistant. Please analyze GitHub issue #${{ github.event.issue.number }} according to the guidelines in .mycoder/ISSUE_TRIAGE.md. Categorize the issue type (Bug, Feature, Request), suggest appropriate labels, check for duplicates, and provide a helpful initial assessment. If the issue is too vague, ask for more information. For bugs, try to identify potential causes. For feature requests, suggest implementation approaches. For questions, try to provide answers based on the codebase and documentation."

You'll need to manually create these files or grant the necessary permissions for me to push these changes directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Github issue triage
1 participant