Skip to content

Commit 930ed36

Browse files
authored
Merge pull request #1 from DevArqf/v0.2.2
feat: Update to v0.2.2 - Roadmap v0.2.2 Complete
2 parents eb55167 + a0a2ca0 commit 930ed36

30 files changed

+2103
-858
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dist/
1616
.coverage
1717
remove_comments.py
1818
htmlcov/
19+
dbug-test-env/
1920

2021
# Database
2122
*.db

README.md

Lines changed: 74 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@
66
Stop Googling. Understand your errors.
77

88
[![Python](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
9-
[![PyPI](https://img.shields.io/badge/pypi-v0.1.2-orange.svg)](https://pypi.org/project/debugbuddy-cli/0.1.2/)
9+
[![PyPI](https://img.shields.io/badge/pypi-v0.2.2-orange.svg)](https://pypi.org/project/debugbuddy-cli/0.2.2/)
1010
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
1111
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
1212

1313
[Install](#installation)
1414
[Quick Start](#quick-start)
15-
[Features](#features-screenshots)
16-
[Screenshots](#features-screenshots)
1715
[Docs](#documentation)
1816

1917
</div>
@@ -29,16 +27,16 @@ pip install debugbuddy-cli
2927
## Quick Start
3028

3129
```bash
32-
db explain "NameError: name 'x' is not defined"
33-
db explain error.log
34-
python script.py 2>&1 | db explain
35-
db interactive
30+
dbug explain "NameError: name 'x' is not defined"
31+
dbug explain error.log
32+
python script.py 2>&1 | dbug explain
33+
dbug interactive
3634
```
3735

3836
### Example Output
3937

4038
```bash
41-
$ db explain "NameError: name 'user_id' is not defined"
39+
$ dbug explain "NameError: name 'user_id' is not defined"
4240

4341
╭─────────────────── 🐛 Error Explanation ───────────────────╮
4442
│ NameError │
@@ -61,188 +59,112 @@ $ db explain "NameError: name 'user_id' is not defined"
6159
💭 You've seen this type of error before
6260
Last occurrence: 2 hours ago
6361
64-
💡 Tip: Use db explain -e to see code examples
62+
💡 Tip: Use dbug explain -e to see code examples
6563
```
6664
67-
## Features-Screenshots
68-
69-
```bash
70-
db
71-
```
72-
73-
<img width="614" height="255" alt="db" src="https://github.com/user-attachments/assets/d468c297-bd2c-4eb9-a447-085941c71cf0" />
74-
75-
---
76-
77-
```bash
78-
db explain "NameError: name 'user_id' is not defined"
79-
```
80-
81-
<img width="1037" height="363" alt="db explain NameError" src="https://github.com/user-attachments/assets/244173c4-1b50-4c06-92cf-8e0574fdc914" />
82-
83-
---
84-
85-
```bash
86-
db explain -e "IndexError: list index out of range"
87-
```
88-
89-
<img width="1041" height="581" alt="db explain -e" src="https://github.com/user-attachments/assets/2e2f0c08-e276-48cd-a448-32f04707d876" />
90-
91-
---
92-
93-
```bash
94-
db interactive
95-
```
96-
97-
<img width="692" height="264" alt="db interactive" src="https://github.com/user-attachments/assets/8468bbe4-3fc8-4a65-b5ab-f10db2f8bd6c" />
98-
99-
---
100-
101-
```bash
102-
[EXECUTED IN INTERACTIVE MENU] TypeError: unsupported operand type(s) for +: 'int' and 'str'
103-
```
104-
105-
<img width="740" height="470" alt="db interactive error debug + code example" src="https://github.com/user-attachments/assets/83620a8d-7eae-4a89-a43c-0d5adbf04890" />
106-
107-
---
108-
109-
```bash
110-
[EXECUTED IN INTERACTIVE MENU] help
111-
```
112-
113-
<img width="301" height="127" alt="db interactive help" src="https://github.com/user-attachments/assets/698a1b98-2875-4358-a159-242d0ab2f2ff" />
114-
115-
---
65+
## Documentation
11666
11767
```bash
118-
[EXECUTED IN INTERACTIVE MENU] history
119-
```
120-
121-
<img width="301" height="190" alt="db interactive history" src="https://github.com/user-attachments/assets/998acfdd-6976-4a64-9284-d756415744b0" />
122-
123-
---
68+
All Commands
12469
125-
```bash
126-
db history
70+
dbug explain <error>
71+
dbug interactive
72+
dbug watch <dir>
73+
dbug history
74+
dbug history --stats
75+
dbug search <keyword>
76+
dbug config --show
77+
dbug config --reset
78+
dbug --version
12779
```
12880
129-
<img width="691" height="604" alt="db history" src="https://github.com/user-attachments/assets/807b1dbb-5240-42cd-b55d-fe812286ae58" />
130-
131-
---
132-
13381
```bash
134-
db history --stats
135-
```
136-
137-
<img width="740" height="276" alt="db history --stats" src="https://github.com/user-attachments/assets/16f2f9bd-55e0-41be-a8b4-c4ae4b49df2e" />
138-
139-
---
82+
Extra Options
14083
141-
```bash
142-
db search "import"
84+
dbug explain -e "SyntaxError: invalid syntax"
85+
dbug explain -v error.log
86+
dbug watch src/ --lang [CODING-LANG]
87+
dbug config ai_provider openai
88+
dbug config language [CODING-LANG]
89+
dbug config languages "" (Disables language filtering)
90+
dbug explain --ai "complex error"
14391
```
14492
145-
<img width="725" height="212" alt="db search" src="https://github.com/user-attachments/assets/4cd85f05-1132-4d1b-a9a2-f9386d55cb9b" />
93+
## Supported Error Types
14694
147-
---
95+
### Python (60+ built-in exceptions & common issues)
14896
149-
```bash
150-
db config --show
151-
```
97+
- `ArithmeticError` • `AssertionError` • `AttributeError` • `BlockingIOError`
98+
- `BrokenPipeError` • `BufferError` • `ChildProcessError` • `ConnectionAbortedError`
99+
- `ConnectionError` • `ConnectionRefusedError` • `ConnectionResetError`
100+
- `EOFError` • `FileExistsError` • `FileNotFoundError` • `FloatingPointError`
101+
- `ImportError` • `IndentationError` • `IndexError` • `InterruptedError`
102+
- `IsADirectoryError` • `KeyError` • `KeyboardInterrupt` • `MemoryError`
103+
- `ModuleNotFoundError` • `NameError` • `NotADirectoryError` • `NotImplementedError`
104+
- `OSError` • `OverflowError` • `PermissionError` • `ProcessLookupError`
105+
- `RecursionError` • `ReferenceError` • `RuntimeError` • `StopIteration`
106+
- `SyntaxError` • `TabError` • `TimeoutError` • `TypeError`
107+
- `UnboundLocalError` • `UnicodeDecodeError` • `UnicodeEncodeError`
108+
- `ValueError` • `ZeroDivisionError` • and many more warnings (DeprecationWarning, FutureWarning, etc.)
152109
153-
<img width="710" height="307" alt="db config --show" src="https://github.com/user-attachments/assets/6d617847-501a-4f9b-876b-b473aab9ad2e" />
110+
### JavaScript / Node.js (All 7 built-in errors)
154111
155-
## Documentation
112+
- `AggregateError` • `EvalError` • `InternalError` • `RangeError`
113+
- `ReferenceError` • `SyntaxError` • `TypeError` • `URIError`
156114
157-
```bash
158-
All Commands
159-
160-
db explain <error>
161-
db interactive
162-
db watch <dir>
163-
db history
164-
db history --stats
165-
db search <keyword>
166-
db config --show
167-
db --version
168-
```
115+
### TypeScript (Core compiler errors & type issues)
169116
170-
```bash
171-
Extra Options
117+
- Type Error (`TS2345`: not assignable) • Declaration Error (`TS2304`: cannot find name, `TS1008`: expected)
118+
- Module Resolution (`TS2307`: cannot find module) • Interface Error (`TS2322/2324`: missing property)
119+
- Generic Type Error (`TS2322`: constraint violated) • Union Type Error (`TS2322/2345`: not assignable)
120+
- Async Type Error (`TS2322`: promise mismatch) • Syntax Error (`TS1003/1005`: invalid token)
121+
- Null/Undefined Error (`TS2532/2533`: strict null checks) • Import/Export Error (`TS2305/1192`: not found)
172122
173-
db explain -e "SyntaxError: invalid syntax"
174-
db explain -v error.log
175-
db watch src/ --lang javascript
176-
db config --set ai_provider openai
177-
db config --set openai_api_key sk-...
178-
db explain --ai "complex error"
179-
```
180-
181-
```
182-
Supported Python Errors
183-
184-
- Syntax
185-
- Indentation
186-
- Name
187-
- Attribute
188-
- Type
189-
- Value
190-
- Import
191-
- Module not found
192-
- Index
193-
- Key
194-
- File not found
195-
- Recursion
196-
```
123+
### C / C++ (Compiler, linker & runtime)
197124
198-
```
199-
Supported JavaScript Errors
125+
- Syntax Error • Undefined Reference / Linker Error
126+
- Segmentation Fault (segfault) • Null Pointer Dereference
127+
- Type Mismatch • Array Bounds Error • Memory Leak
128+
- Format String Mismatch • Division by Zero • Uninitialized Variable
129+
- Include Error • Undefined Behavior
200130
201-
- Reference
202-
- Type
203-
- Syntax
204-
- Range
205-
```
131+
### PHP (All 16+ error levels)
206132
207-
```
208-
Supported Universal Errors
133+
- Parse Error (`E_PARSE`) • Fatal Error (`E_ERROR`) • Warning (`E_WARNING`)
134+
- Notice (`E_NOTICE`) • Deprecated (`E_DEPRECATED`) • Type Error (`E_RECOVERABLE_ERROR`)
135+
- Division by Zero • Out of Memory • Strict (`E_STRICT`) • Core Error (`E_CORE_ERROR`)
136+
- Core Warning (`E_CORE_WARNING`) • Compile Error (`E_COMPILE_ERROR`)
137+
- Compile Warning (`E_COMPILE_WARNING`) • User Error (`E_USER_ERROR`)
138+
- User Warning (`E_USER_WARNING`) • User Notice (`E_USER_NOTICE`) • User Deprecated (`E_USER_DEPRECATED`)
209139
210-
- Network
211-
- Permission
212-
- Database
213-
- API key
214-
```
140+
### Universal / Common Errors (cross-language)
215141
216-
## Configuration
142+
- Compilation Error • Logic Error • Runtime Error • Linkage Error
143+
- Segmentation Fault • Network Error • Permission Error
144+
- Timeout Error • Memory Error • Database Error
145+
- API Key Error • SSL/Certificate Error • Input/Validation Error
146+
- Off-by-One Error • Infinite Loop
217147
218-
```bash
219-
db config --show
220-
db config --set ai_provider openai
221-
db config --set default_language javascript
222-
db config --reset
223-
```
148+
> **Total supported error patterns:** **150+** and growing (expanded via official docs & common patterns)
224149
225150
## Contributing
226151
227152
Contribute in any way you want. You can report bugs, add patterns, write docs, or extend support for other languages. See [CONTRIBUTING.md](https://github.com/DevArqf/DeBugBuddy/blob/main/docs/CONTRIBUTING.md) for the full guide.
228153
229154
## Roadmap
230155
231-
### v0.2.0
156+
### v0.2.0
232157
233158
- Typescript, C and PHP Language Support
234-
- VSCode extension
235-
- Local AI support
236-
- Team error sharing
159+
- AI support
237160
238-
### v0.3.0
161+
### v0.3.0
239162
240-
- IDE plugins
241163
- Error prediction
242164
- Custom pattern training
243165
- GitHub integration
244166
245-
### v1.0.0
167+
### v1.0.0
246168
247169
- 10 or more languages
248170
- Enterprise features
@@ -251,24 +173,15 @@ Contribute in any way you want. You can report bugs, add patterns, write docs, o
251173
252174
## FAQ
253175
254-
**Q:** **Does it work offline?**
255-
**A:** Yes. You only need internet if you turn on optional AI mode.
256-
257176
**Q:** **Is my code private?**
258177
**A:** Yes. Everything stays local unless you opt into AI mode.
259178
260-
**Q:** **How is this different from ChatGPT?**
261-
**A:** It responds instantly, works offline, learns from your own history, and sits inside your terminal.
262-
263179
**Q:** **Does it replace StackOverflow?**
264180
**A:** For debugging, yes. You stop switching tools.
265181
266182
**Q:** **Can I add custom patterns?**
267183
**A:** Yes. Edit the JSON files in `~/.debugbuddy/patterns/`.
268184
269-
**Q:** **Is team use planned?**
270-
**A:** Yes. It is on the roadmap.
271-
272185
## Support
273186
274187
If DeBugBuddy helps you, star the GitHub repo. Stars help other developers discover the tool.
@@ -279,3 +192,4 @@ Made with ❤️ by DevArqf
279192
Stop Googling. Understand your errors.
280193
281194
</div>
195+
```

build.bat

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ REM
1212
echo ▶ Cleaning old builds...
1313
if exist build rmdir /s /q build
1414
if exist dist rmdir /s /q dist
15-
if exist debugbuddy-cli.egg-info rmdir /s /q debugbuddy-cli.egg-info
15+
if exist debugbuddy_cli.egg-info rmdir /s /q debugbuddy_cli.egg-info
1616
echo ✓ Cleaned old builds
1717
echo.
1818

@@ -78,9 +78,9 @@ if "%choice%"=="1" (
7878
echo ✓ Installed locally
7979
echo.
8080
echo Test it:
81-
echo db
82-
echo db --version
83-
echo db explain "test error"
81+
echo dbug
82+
echo dbug --version
83+
echo dbug explain "test error"
8484
pause
8585
goto :end
8686
) else if "%choice%"=="2" (

build.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ case $choice in
9898
print_success "Installed locally"
9999
echo ""
100100
echo "Test it:"
101-
echo " db"
102-
echo " db --version"
103-
echo " db explain \"test error\""
101+
echo " dbug"
102+
echo " dbug --version"
103+
echo " dbug explain \"test error\""
104104
;;
105105
2)
106106
print_step "Uploading to TestPyPI..."

debugbuddy/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "0.1.2"
1+
__version__ = "0.2.2"
22
__author__ = "DevArqf"
33
__license__ = "MIT"
44

debugbuddy/ai/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
1-
__all__ = []
1+
from .providers import get_provider
2+
from .prompts import get_explanation_prompt
3+
4+
__all__ = [
5+
'get_provider',
6+
'get_explanation_prompt'
7+
]

0 commit comments

Comments
 (0)