Feature

Everything about feature-type issues.

Feature issues are used to track new functionality and enhancements to the project. These issues help organize and manage the development of new features from conception to implementation.

Label

All feature issues are created with the feature-label. The default label for creating a feature-type issue is feature. You can configure this label as follows:

jobs:
  git-board-issues:
    name: Git Board - Issue
    runs-on: ubuntu-latest
    steps:
      - uses: vypdev/copilot@v2
        with:
          feature-label: feature

Naming

The default tree for creating feature branches is feature. You can configure this tree name as follows:

jobs:
  git-board-issues:
    name: Git Board - Issue
    runs-on: ubuntu-latest
    steps:
      - uses: vypdev/copilot@v2
        with:
          feature-tree: feature

Feature branches follow this naming convention:

feature/NUM-ISSUE-issue-name

For example:

feature/123-add-user-authentication

Source

Feature branches are created from the development branch. By default, feature branches are created from the develop branch. You can configure the development branch name as shown below:

jobs:
  git-board-issues:
    name: Git Board - Issue
    runs-on: ubuntu-latest
    steps:
      - uses: vypdev/copilot@v2
        with:
          development-branch: develop

Images

You can configure custom images to be displayed in the comments of feature issues. These images will be randomly selected and displayed when Copilot performs actions on the issue.

To configure the images, provide a comma-separated list of image URLs in the images-issue-feature input:

jobs:
  git-board-issues:
    name: Git Board - Issue
    runs-on: ubuntu-latest
    steps:
      - uses: vypdev/copilot@v2
        with:
          images-issue-feature: url1, url2, url3

Template

You can use this template for feature issues that helps capture all the necessary information. The template includes fields for:

  • Checking for existing issues and feature requests
  • Selecting the feature scope (UI, Performance, Documentation, etc.)
  • Selecting affected actions (Issues, PRs, Commits)
  • Providing a detailed description of the idea/improvement
  • Explaining current limitations and challenges
  • Describing expected impact and benefits
  • Considering alternative solutions
  • Specifying copilot version
  • Adding additional context and comments

You can find this template in .github/ISSUE_TEMPLATE/feature_request.yml. Below is an example of how the template looks when creating a new feature issue:

name: ✨ Feature Request
description: Propose an idea or improvement for copilot
title: "<YOUR TITLE HERE>"
labels: ["enhancement", "feature"]
body:
  - type: checkboxes
    attributes:
      label: Is there an existing issue or feature request for this?
      description: |
        Please search to see if an issue or feature request already exists for what you are proposing.
      options:
        - label: I have searched the existing issues and feature requests.
          required: true

  - type: markdown
    attributes:
      value: |
        ---

  - type: dropdown
    id: feature_scope
    attributes:
      label: What area does this improvement affect?
      multiple: false
      options:
        - User Interface
        - Performance
        - New Feature
        - Documentation
        - Other

  - type: dropdown
    id: feature_actions
    attributes:
      label: What actions does this improvement affect?
      multiple: true
      options:
        - Issue
        - Pull Request
        - Commit

  - type: markdown
    attributes:
      value: |
        ---

  - type: textarea
    attributes:
      label: Description of the idea or improvement
      description: |
        Describe your proposed idea or improvement in detail. Explain what you
        would like to see and why it matters.
    validations:
      required: true

  - type: textarea
    attributes:
      label: Current limitations or challenges
      description: |
        Explain what problems or challenges this improvement would address.
        Why is the current functionality insufficient?
    validations:
      required: true

  - type: markdown
    attributes:
      value: |
        ---

  - type: textarea
    attributes:
      label: Expected impact
      description: |
        Describe how this improvement would benefit users or developers.
        Include specific scenarios or use cases where this would make a difference.
    validations:
      required: true

  - type: textarea
    attributes:
      label: Alternatives considered
      description: |
        If you have considered alternative solutions or approaches, describe them here.
        Why do you think your proposal is the best option?
    validations:
      required: false

  - type: markdown
    attributes:
      value: |
        ---

  - type: input
    attributes:
      label: Version of copilot
      description: |
        What version of copilot are you using, or does this proposal apply to all versions?
      placeholder: "master"
    validations:
      required: false

  - type: markdown
    attributes:
      value: |
        ---

  - type: textarea
    id: comments
    attributes:
      label: Additional context or comments
      description: |
        Add any additional context, screenshots, or examples that may help us
        understand your proposal better.