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

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-1.0.1.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

codyhelp-1.0.1-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: codyhelp-1.0.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for codyhelp-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a2b7bbd1760c88bf394824a53162d6ead5e22cb00491290126ec8cf73435d8cd
MD5 76bd418c86bae52da51730cf81af21b2
BLAKE2b-256 4b6b7641994baf48dabcdbdbe8e89c22945b45274d6850e9c36b61c26be7a666

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for codyhelp-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e2b800d5a77eb68c57faaafc34277b2646ec7f4b37172f53b4e6452b839fc11
MD5 6a3f6f48d3712ca957ed23e3a01c089d
BLAKE2b-256 5474a93e9bfd8d590a6ce3e4a0db317524aba18a40bb5553e180660f27b355f2

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