Skip to main content

An AI-powered CLI tool that helps developers understand and improve their code

Project description

CodyHelp

PyPI version

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

  1. Get a free GitHub Models token at github.com/marketplace/models
  2. Set your token:
    • Windows: $env:GITHUB_TOKEN="your_token_here"
    • Mac/Linux: export GITHUB_TOKEN="your_token_here"
  3. 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

codyhelp-2.0.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codyhelp-2.0.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file codyhelp-2.0.0.tar.gz.

File metadata

  • Download URL: codyhelp-2.0.0.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

Hashes for codyhelp-2.0.0.tar.gz
Algorithm Hash digest
SHA256 8119f3c914c394a82aca77a40b51336ad206fde8ace2228a464988c42aee8142
MD5 3b13458eb243e5c1b35422daf9bddef9
BLAKE2b-256 00943159f4d485937504ef9a30e7d233d39a9d80cbe686808670f95ea729c2c5

See more details on using hashes here.

File details

Details for the file codyhelp-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: codyhelp-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for codyhelp-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a10d0473d2e8c3d6ba12c610bd18aaa46e1b45bbd6aa424c8f00746699f859f8
MD5 f13a5904f365778e4644185accc57889
BLAKE2b-256 e324fc8a1ad47580d84aba26d932e082cbc84a3590e990bcdeea8b68fa262508

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page