An AI-powered CLI tool that helps developers understand and improve their code
Project description
CodyHelp
CodyHelp is a command-line interface tool that can analyse source code files, provide explanations, detect possible bugs, and suggest improvements.
Built for CS students and junior developers who are tired of switching between browser tabs, forgetting syntax, and blanking out when asked "can you walk me through this code?"
Goal:
To build a lightweight developer assistant that works directly in the terminal, similar to modern AI coding tools.
Inspiration:
As a CS student, I constantly found myself stuck, such as, forgetting syntax, not knowing how to explain my own code, and dreading the "walk me through this" question in interviews.
CodyHelp was built to fix that. It's the tool I wish I had when I started coding.
Core Features:
- Explain code files
- Interview mode code explanation
- Detect possible bugs in code
- Review code and suggest improvements
- Error explanation from stack traces
- Support multiple programming languages
- Git diff code review
- Repository-level code understanding
- Leetcode practice suggestions
Installation
pip install codyhelp
[Windows users: Make sure Python is added to PATH during installation, or run: pip install codyhelp --user]
Setup
- Get a free GitHub Models token at github.com/marketplace/models
- Set your token:
- Windows: $env:GITHUB_TOKEN="your_token_here"
- Mac/Linux: export GITHUB_TOKEN="your_token_here"
- You're ready to use it!
Usage
codyhelp explain main.py
codyhelp explain main.py --interview
codyhelp review main.py
codyhelp stacktrace error.txt
Example:
Run CodyHelp from the terminal:
codyhelp explain linkedList.py --interview
Example output:
INTERVIEW MODE — linked_list.py
How to explain this in an interview:
"This implements a singly linked list with insert and traversal operations. Each node stores a value and a pointer to the next node, giving us dynamic memory allocation unlike arrays..."
Complexity to mention:
- Insert at head: O(1)
- Search: O(n)
- Space: O(n)
Follow-up questions an interviewer might ask:
- "How would you detect a cycle in this linked list?"
- "How is this different from a doubly linked list?"
- "When would you choose a linked list over an array?"
Concepts you should know to fully defend this code:
- Node structure and pointers
- Dynamic vs static memory allocation
- Singly vs doubly linked lists
Technologies
- Python
- CLI (Command-line interface)
- Github models
- Git and Github
Future Improvements
- Git diff code review
- Repository-level code understanding
- Leetcode practice suggestions
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codyhelp-2.0.1.tar.gz.
File metadata
- Download URL: codyhelp-2.0.1.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3be9efddb3454c44d54633cdf25979598c9aca086e50408fdd453494a952608d
|
|
| MD5 |
fbbc0aa5d3e9202f222e95bbf6156387
|
|
| BLAKE2b-256 |
343e8e2e5521527b07a8d589ff6fa94c13a910fcb7857680c3f0acb261ab0749
|
File details
Details for the file codyhelp-2.0.1-py3-none-any.whl.
File metadata
- Download URL: codyhelp-2.0.1-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3196cda3230f0720da1a5fbd54e4d8d23bc90394c111e3b355760acc4c37e3a1
|
|
| MD5 |
e058ef1a5ed550114674fcbe6e9b5f60
|
|
| BLAKE2b-256 |
515c684411e5d57fe11da0cdd90e82862edbf93118ad100486f3507c4aa1ecd9
|