You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# GitBit: Intelligent Issue Management Bot for GitHub
2
+
3
+
<!-- You can create a simple logo -->
4
+
5
+
GitBit is a Python-based GitHub bot that streamlines issue management for repository maintainers. It uses natural language processing (NLP) and machine learning to automate repetitive tasks, making it an invaluable tool for managing large open-source projects.
6
+
7
+
## Key Features
8
+
9
+
-**🤖 Automatic Issue Linking:** Analyzes new issue descriptions to detect and link semantically related or duplicate issues, reducing clutter and improving organization.
10
+
-**🏷️ Smart Tagging:** Suggests relevant labels (e.g., `bug`, `documentation`, `feature-request`) based on the issue's content, ensuring consistent and meaningful categorization.
11
+
-**👤 Assignee Recommendations:** Recommends contributors to assign issues to, based on their past contributions and expertise demonstrated in previously closed issues.
12
+
13
+
## Why It’s Unique
14
+
15
+
While there are many tools for GitHub automation, GitBit combines NLP and machine learning to provide **intelligent, context-aware suggestions** tailored to each repository. Its focus on issue management—a critical yet time-consuming task—sets it apart from generic bots or static analysis tools.
16
+
17
+
## How It Works
18
+
19
+
GitBit is deployed as a GitHub Action that triggers whenever a new issue is opened in your repository. Here's the process:
20
+
21
+
1.**Trigger:** A new issue is created.
22
+
2.**Analysis:** The bot reads the issue's title and body.
23
+
3.**Processing:**
24
+
* It compares the new issue's text to a keyword map in your config file to suggest labels.
25
+
* It scans recently closed issues to find which users are experts on topics related to the suggested labels.
26
+
* It uses TF-IDF vectorization and cosine similarity to find other open issues with similar content.
27
+
4.**Comment:** The bot posts a single, helpful comment on the new issue with all its suggestions, allowing maintainers to review and apply them with a single click.
28
+
29
+
---
30
+
31
+
## 🚀 Setup Instructions
32
+
33
+
Setting up GitBit takes less than 5 minutes.
34
+
35
+
### Step 1: Create the Configuration File
36
+
37
+
In the root of your repository, create a file named `.gitbit.yml`. This file controls the bot's behavior.
38
+
39
+
**Copy and paste this template into `.gitbit.yml` and customize it for your project:**
40
+
41
+
```yaml
42
+
# .gitbit.yml
43
+
44
+
# --- Smart Tagging Configuration ---
45
+
# Map labels to keywords. The bot will suggest a label if an issue's
46
+
# title or body contains any of the associated keywords.
47
+
tag_keywords:
48
+
bug:
49
+
- error
50
+
- exception
51
+
- traceback
52
+
- panic
53
+
- crash
54
+
- fail
55
+
documentation:
56
+
- docs
57
+
- readme
58
+
- help
59
+
- example
60
+
- tutorial
61
+
feature-request:
62
+
- feature
63
+
- enhance
64
+
- improvement
65
+
- idea
66
+
question:
67
+
- how to
68
+
- what is
69
+
- why
70
+
71
+
# --- Assignee Recommendation Configuration ---
72
+
# The number of recently closed issues to scan to build an expertise profile.
73
+
# A higher number is more accurate but slower.
74
+
assignee_rec:
75
+
max_issues_to_scan: 100
76
+
77
+
# --- Issue Linking Configuration ---
78
+
# The similarity score required to consider an issue "related".
79
+
# Value should be between 0.0 and 1.0. Higher is more strict.
0 commit comments