Skip to content

Enhancement: Create a global PR and Issue template to help improve experience for contributors and maintainers #1

@OgDev-01

Description

@OgDev-01

Hello here 👋

I recently discovered Docmost and I'm genuinely impressed by the comprehensive feature set and the vibrant community engagement around the project. After exploring the repository, I noticed an opportunity to significantly enhance the contributor experience through the implementation of global templates.

🎯 Some issues i found

Currently, the repository lacks structured templates for issues and pull requests, which can lead to:

  • Inconsistent information in bug reports, making them harder to reproduce and fix
  • Incomplete feature requests that require multiple back-and-forth conversations
  • Varying PR descriptions that may miss crucial context for reviewers
  • Increased maintainer burden in gathering necessary information (As a former maintainer, i can relate with this frustration sometimes 🥲)
  • Higher friction for new contributors who are unsure what information to provide

Proposed solution

I propose implementing a comprehensive template system that includes:

  • Issue Templates (Bug Report, Feature Request, General Question)
  • Pull Request Template
  • Enhanced Code of Conduct (if needed)

Benefits

  • Improved Issue Quality: Structured templates ensure all necessary information is captured upfront
  • Faster Resolution Times: Complete information reduces back-and-forth communication
  • Better Contributor Experience: Clear guidance helps new contributors submit high-quality issues and PRs
  • Reduced Maintainer Overhead: Consistent format makes triage and review more efficient

Implementation details

Bug Report Template

name: 🐛 Bug Report
description: Create a bug report to help us improve Docmost
title: "Bug: "
labels: [👀 needs triage, 🐛 bug]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report! Please provide as much detail as possible to help us reproduce and fix the issue.
  
  - type: textarea
    attributes:
      label: Describe the bug
      description: A clear and concise description of what the bug is.
      placeholder: What happened? What did you expect to happen?
    validations:
      required: true
  
  - type: textarea
    attributes:
      label: Steps to reproduce
      description: Detailed steps to reproduce the behavior.
      placeholder: |
        1. Go to '...'
        2. Click on '...'
        3. Scroll down to '...'
        4. See error
    validations:
      required: true
  
  - type: textarea
    attributes:
      label: Expected behavior
      description: What you expected to happen.
    validations:
      required: true
  
  - type: textarea
    attributes:
      label: Environment
      description: Please provide your environment details
      placeholder: |
        - OS: [e.g. macOS, Windows, Linux]
        - Browser: [e.g. Chrome, Firefox, Safari]
        - Docmost version: [e.g. 1.0.0]
        - Installation method: [e.g. Docker, npm, etc.]
    validations:
      required: true
  
  - type: textarea
    attributes:
      label: Additional context
      description: Add any other context about the problem here, including screenshots if applicable.

Feature Request Template

name: 🚀 Feature Request
description: Suggest an idea for Docmost
title: "Feature: "
labels: [👀 needs triage, 💡 enhancement]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to suggest a new feature! Please provide as much detail as possible.
  
  - type: textarea
    attributes:
      label: Problem Statement
      description: Is your feature request related to a problem? Please describe the problem you're trying to solve.
      placeholder: I'm always frustrated when...
    validations:
      required: true
  
  - type: textarea
    attributes:
      label: Proposed Solution
      description: Describe the solution you'd like to see implemented.
      placeholder: I would like to see...
    validations:
      required: true
  
  - type: textarea
    attributes:
      label: Alternative Solutions
      description: Describe any alternative solutions or features you've considered.
      placeholder: Other approaches could be...
  
  - type: textarea
    attributes:
      label: Use Cases
      description: Provide specific examples of how this feature would be used.
      placeholder: |
        - As a [user type], I want to [action] so that [benefit]
        - This would help with [specific scenario]
  
  - type: textarea
    attributes:
      label: Additional Context
      description: Add any other context, mockups, or screenshots about the feature request here.

General Question Template

name: ❓ General Question
description: Ask a question about Docmost
title: "Question: "
labels: [👀 needs triage, ❓ question]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for reaching out! Please provide as much context as possible to help us answer your question.
  
  - type: textarea
    attributes:
      label: Your Question
      description: What would you like to know?
    validations:
      required: true
  
  - type: textarea
    attributes:
      label: Context
      description: Provide any relevant context about your use case or situation.
      placeholder: I'm trying to... and I need to understand...
  
  - type: textarea
    attributes:
      label: What you've tried
      description: Have you already searched the documentation or tried anything?
      placeholder: I've looked at... and tried...

Pull Request Template

## 📋 Description

Brief description of what this PR accomplishes.

## 🔗 Related Issue

Fixes #(issue number)

## 🧪 Type of Change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Performance improvement
- [ ] Code refactoring

## ✅ Testing

- [ ] I have tested my changes locally
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] I have tested the changes in different browsers/environments (if applicable)

## 📸 Screenshots/ScreenSnip (if applicable)

Add screenshots or screen recordings to demonstrate the changes.

## 📝 Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes

## 🎯 Additional Notes

Any additional information that reviewers should know.

If this proposal is accepted, I'm happy to dive into the action and get things rolling 😊 .

I believe these templates will significantly improve the contributor experience while reducing the maintenance burden on the core team. The structured approach will help Docmost continue to grow its community while maintaining high standards for contributions.

What are your thoughts on this proposal? I'm happy to discuss any aspects or make adjustments based on your preferences!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions