6.8 KiB
6.8 KiB
Issue conventions
Issue Title Conventions
Issue titles should follow the format:
<type>: <short description>
<type>
This should be one of:
- Feature: For new features
- Bug: For reporting bugs or issues
- Refactor: For code refactoring task
- Performance: For performance improvements
- Documentation: For documentation-related tasks
- Test: For task related to testing
- Build: For build system or dependency updates
- CI: For continuous integration configurations
- Chore: For miscellaneous tasks
- Revert: For reverting changes
<short description>
- Use imperative, present tense: "Add", "Fix", "Improve"
- Keep it concise and descriptive
- Do not end with a period (
.)
Examples:
Feature: Add note preview functionalityBug: Fix crash when opening empty noteRefactor: Restructure configuration module
Issue Description Conventions
Issue descriptions should provide enough context and detail to understand and address the issue effectively.
Structure:
- Overview: A brief summary of the issue.
- Steps to Reproduce: (For bugs) Detailed steps to replicate the issue.
- Expected Behavior: What should happen.
- Actual Behavior: What actually happens.
- Additional Information: Any other relevant details, screenshots, or logs.
Example:
**Overview:**
The application crashes when attempting to open a note that is empty.
**Steps to Reproduce:**
1. Create a new note without adding any content.
2. Save the note.
3. Attempt to open the newly created empty note.
**Expected Behavior:**
The empty note opens without any issues.
**Actual Behavior:**
The application crashes with an "IndexOutOfBoundsException".
**Additional Information:**
- Occurs on version 1.2.3
- Stack trace attached below.
Labels
Apply appropriate labels to categorize and prioritize issues.
Common Labels:
-
Type:
featurebugrefactordocumentationperformancetestbuildcichorerevert
Milestones
Assign issues to milestones to track progress toward releases or date.
- Release Milestones: Use version numbers, e.g.,
v1.3.0 - Date Milestones: Use dates or sprint numbers, e.g.,
15.10.2024
Assignees
- Assign yourself to the issue if you intend to work on it.
- Only one assignee per issue to avoid conflicts.
- If collaborating, mention collaborators in the description.
Issue Type and Templates
When creating an issue, use the appropriate template:
Bug Report
- Title:
Bug: <short description> - Template Sections:
- Overview
- Steps to Reproduce
- Expected Behavior
- Actual Behavior
- Screenshots (if applicable)
- Environment (OS, software vesions if possible)
- Labels:
bug
Feature Request
- *Title:
Feature: <short description> - Template Sections:
- Overview
- Motivation
- Proposed Solution
- Alternatives Considered
- Additional Context
- Labels:
feature
Refactor Task
- Title:
Refactor: <short description> - Template Sections:
- Overview
- Reason for Refactoring
- Areas of Impact
- Expected Benefits
- Labels:
refactor
Documentation Task
- Title:
Documentation: <short description> - Template Sections:
- Overview
- Pages or Sections Affected
- Proposed Changes
- Labels:
documentation
Performance Improvement
- Title:
Performance: <short description> - Template Sections:
- Overview
- Current Performance
- Expected Performance
- Impact
- Additional Information
- Labels:
performance
Test Task
- Title:
Test: <short description> - Template Sections:
- Overview
- Areas to Test
- Test Type
- Motivation
- Additional Context
- Labels:
test
Build Task
- Title:
Build: <short description> - Template Sections:
- Overview
- Current Build Configuration
- Proposed Changes
- Reason for Change
- Impact
- Labels:
build
CI Task
- Title:
CI: <short description> - Template Sections:
- Overview
- Current CI Setup
- Proposed Changes
- Motivation
- Impact
- Labels:
ci
Chore Task
- Title:
Chore: <short description> - Template Sections:
- Overview
- Task Details
- Reasoning
- Impact
- Labels:
chore
Revert Task
- Title:
Chore: <short description> - Template Sections:
- Overview
- Commit/PR to Revert
- Reason for Revert
- Impact
- Labels:
chore
Referencing Issues and Pull Requests
- Closing Issues Automatically: Include keywords in pull requests to close issues automatically when merged
- Example:
Closes #123,Fixes #456
- Example:
- Mentioning Issues: Reference related issues by numner in descriptions or comments.
- Example:
See issue #789 for background
- Example:
- Dependencies: if the issue depends on other issue or tasks, mention them.
- Example:
Depends on #321 being completed
- Example:
- Breaking Changes: If the issue involves changes that are not backward-compatible, not this prominently in the description.
Commenting Guidelines
- Keep comments relevant and concise
- Update the issue with preogress reports if you're assigned
Workflow
- Search Before Posting: Check if a similar issue already exists.
- Create the Issue: Use the correct template and follow the conventions.
- Label Appropriately: Add relevant lables for type.
- Assign and Milestones: Assign yourself if working on it and add to a milestone if applicable.
- Discussion: Use the issue comments for any discussion or clarification.
- Link Pull Requests: When submitting a PR, reference the issue it addresses.
- Closing the Issue: The issue will be closed automatically when the PR is merged, or manually if resolved otherwise.
Examples
Feature Issue
Title:
Feature: Implement note graph visualization
Labels:
- feature
Description:
# Overview
Implement a visual graph representation of notes showing their connections.
# Motivation
Helps users understand relationships between notes at a glance.
# Proposed Solution
- Use D3.js for rendering the graph.
- Nodes represent notes; edges represent links.
# Additional Context
- Related to the discussion in #400.
Bug Issue
Title:
Bug: Unable to save notes with special characters
Labels:
- bug
Description:
# Overview
Notes containing special characters like `&`, `<`, and `>` are not saved correctly.
# Steps to Reproduce
1. Create a new note.
2. Include special characters in the content.
3. Save the note.
4. Reopen the note.
# Expected Behavior
The note content is saved and displayed correctly.
# Actual Behavior
Special characters are either stripped out or cause display issues.
# Environment
- Application Version: 1.2.3
- OS: Windows 10
# Additional Information
- Possibly related to encoding issues.