Skip to content

Latest commit

 

History

History
254 lines (196 loc) · 8.96 KB

File metadata and controls

254 lines (196 loc) · 8.96 KB

Issue Labels Guide

This document describes the labeling system used in the FinSync360 repository to organize and prioritize issues and pull requests.

🎃 Hacktoberfest Labels

hacktoberfest

  • Purpose: Issues that are eligible for Hacktoberfest contributions
  • Usage: Applied to issues that are well-defined, have clear acceptance criteria, and are suitable for external contributors
  • Requirements: Issue must be meaningful, not spam, and contribute value to the project

good-first-issue

  • Purpose: Issues suitable for newcomers to the project or open source
  • Usage: Applied to issues that are:
    • Well-documented with clear requirements
    • Have limited scope and complexity
    • Don't require deep knowledge of the codebase
    • Have clear acceptance criteria
  • Examples: Documentation updates, simple bug fixes, UI improvements

🏷️ Type Labels

bug

  • Color: #d73a4a (red)
  • Purpose: Something isn't working as expected
  • Usage: Applied to issues reporting broken functionality, errors, or unexpected behavior

enhancement

  • Color: #a2eeef (light blue)
  • Purpose: New feature requests or improvements to existing features
  • Usage: Applied to issues suggesting new functionality or enhancements

documentation

  • Color: #0075ca (blue)
  • Purpose: Improvements or additions to documentation
  • Usage: Applied to issues related to:
    • README updates
    • API documentation
    • Code comments
    • User guides
    • Developer documentation

question

  • Color: #d876e3 (purple)
  • Purpose: Further information is requested
  • Usage: Applied when someone needs clarification or help understanding something

duplicate

  • Color: #cfd3d7 (gray)
  • Purpose: This issue or pull request already exists
  • Usage: Applied when an issue is a duplicate of an existing one

invalid

  • Color: #e4e669 (yellow)
  • Purpose: This doesn't seem right or is not a valid issue
  • Usage: Applied to issues that are not actually issues or are incorrectly reported

wontfix

  • Color: #ffffff (white)
  • Purpose: This will not be worked on
  • Usage: Applied to issues that are valid but won't be addressed due to project direction or other reasons

🎯 Priority Labels

priority: critical

  • Color: #b60205 (dark red)
  • Purpose: Critical issues that need immediate attention
  • Usage: Security vulnerabilities, production-breaking bugs, data loss issues

priority: high

  • Color: #d93f0b (orange-red)
  • Purpose: Important issues that should be addressed soon
  • Usage: Major bugs, important features, significant performance issues

priority: medium

  • Color: #fbca04 (yellow)
  • Purpose: Standard priority issues
  • Usage: Regular bugs, feature requests, improvements

priority: low

  • Color: #0e8a16 (green)
  • Purpose: Nice-to-have issues with low urgency
  • Usage: Minor improvements, cosmetic fixes, future enhancements

📊 Difficulty Labels

difficulty: easy

  • Color: #c2e0c6 (light green)
  • Purpose: Issues that can be resolved quickly with minimal effort
  • Usage: Simple fixes, minor updates, straightforward implementations
  • Time Estimate: 1-3 hours

difficulty: medium

  • Color: #fef2c0 (light yellow)
  • Purpose: Issues requiring moderate effort and some familiarity with the codebase
  • Usage: Feature implementations, moderate bug fixes, refactoring tasks
  • Time Estimate: 4-8 hours

difficulty: hard

  • Color: #f9d0c4 (light red)
  • Purpose: Complex issues requiring significant effort and deep understanding
  • Usage: Major features, complex bug fixes, architectural changes
  • Time Estimate: 1+ days

🔧 Component Labels

backend

  • Color: #1f77b4 (blue)
  • Purpose: Issues related to the Node.js/Express backend
  • Usage: API endpoints, database operations, server-side logic

frontend

  • Color: #ff7f0e (orange)
  • Purpose: Issues related to the React/Next.js frontend
  • Usage: UI components, user interface, client-side functionality

mobile

  • Color: #2ca02c (green)
  • Purpose: Issues related to the React Native mobile app
  • Usage: Mobile-specific features, iOS/Android compatibility, mobile UI

desktop

  • Color: #d62728 (red)
  • Purpose: Issues related to the Electron desktop application
  • Usage: Desktop-specific features, native integrations, desktop UI

ml-service

  • Color: #9467bd (purple)
  • Purpose: Issues related to the Python ML service
  • Usage: Machine learning models, predictions, data analysis

database

  • Color: #8c564b (brown)
  • Purpose: Issues related to database operations and schema
  • Usage: MongoDB operations, data models, database performance

devops

  • Color: #e377c2 (pink)
  • Purpose: Issues related to deployment, CI/CD, and infrastructure
  • Usage: Docker, deployment scripts, monitoring, build processes

📋 Status Labels

status: in-progress

  • Color: #0052cc (dark blue)
  • Purpose: Issue is currently being worked on
  • Usage: Applied when someone is actively working on the issue

status: needs-review

  • Color: #006b75 (teal)
  • Purpose: Issue or PR needs review from maintainers
  • Usage: Applied to completed work awaiting review

status: blocked

  • Color: #b60205 (red)
  • Purpose: Issue is blocked by other issues or external dependencies
  • Usage: Applied when progress is prevented by external factors

status: waiting-for-feedback

  • Color: #fbca04 (yellow)
  • Purpose: Waiting for response from issue reporter or community
  • Usage: Applied when more information is needed to proceed

🚀 Feature Labels

feature: tally-integration

  • Color: #0e8a16 (green)
  • Purpose: Issues related to Tally ERP integration
  • Usage: Tally sync, XML processing, ERP connectivity

feature: payment-gateway

  • Color: #1f77b4 (blue)
  • Purpose: Issues related to payment processing
  • Usage: Razorpay integration, payment flows, transaction handling

feature: authentication

  • Color: #d62728 (red)
  • Purpose: Issues related to user authentication and authorization
  • Usage: JWT tokens, login/logout, user management, permissions

feature: api

  • Color: #ff7f0e (orange)
  • Purpose: Issues related to API development
  • Usage: REST endpoints, API documentation, API testing

feature: ui-ux

  • Color: #2ca02c (green)
  • Purpose: Issues related to user interface and user experience
  • Usage: Design improvements, usability enhancements, accessibility

🧪 Testing Labels

testing

  • Color: #5319e7 (purple)
  • Purpose: Issues related to testing
  • Usage: Unit tests, integration tests, test coverage, testing infrastructure

needs-tests

  • Color: #f9d0c4 (light red)
  • Purpose: Feature or fix needs test coverage
  • Usage: Applied to PRs or issues that require additional tests

📚 Special Labels

help-wanted

  • Color: #008672 (teal)
  • Purpose: Extra attention is needed from the community
  • Usage: Applied to issues where maintainer help is needed

breaking-change

  • Color: #b60205 (red)
  • Purpose: Changes that break backward compatibility
  • Usage: Applied to PRs that introduce breaking changes

dependencies

  • Color: #0366d6 (blue)
  • Purpose: Issues related to project dependencies
  • Usage: Dependency updates, security vulnerabilities in dependencies

🏷️ Label Usage Guidelines

For Maintainers

  1. Apply labels promptly when issues are created or updated
  2. Use multiple labels to provide comprehensive categorization
  3. Update labels as issues progress through their lifecycle
  4. Be consistent with label application across similar issues

For Contributors

  1. Suggest labels in issue descriptions if you think they're missing
  2. Look for labeled issues that match your skills and interests
  3. Use labels to filter issues you want to work on
  4. Understand label meanings before working on labeled issues

Label Combinations

Common useful combinations:

  • good-first-issue + documentation + difficulty: easy
  • hacktoberfest + enhancement + frontend + difficulty: medium
  • bug + priority: high + backend + help-wanted
  • feature: ui-ux + mobile + good-first-issue

🔄 Label Lifecycle

  1. Issue Creation: Apply type, component, and difficulty labels
  2. Triage: Add priority and special labels as needed
  3. Assignment: Add status labels when work begins
  4. Progress: Update status labels as work progresses
  5. Completion: Remove status labels, add resolution labels if needed

This labeling system helps maintain organization and makes it easier for contributors to find issues they can work on. If you have suggestions for new labels or improvements to existing ones, please create an issue with the enhancement label.