Skip to main content

Extract code context for AI prompts based on a function or class name.

Project description

CCprompt

Code Context Prompt

The Problem

When working with AI prompts, it is often necessary to provide code context to the model to generate useful responses. This can be a time-consuming task, especially when working with large codebases. CCprompt is a tool designed to extract code context for AI prompts based on provided function or class names. It supports both Python and JavaScript/TypeScript codebases. Providing such context can help AI models generate more accurate and relevant responses.

Features

  • Supports Python languages, JavaScript/TypeScript support coming soon.
  • Extracts functions or classes and their inheritance chains.
  • Configurable via a JSON configuration file or command-line arguments.
  • Excludes virtual environment directories if needed.
  • zero dependencies if you are using it for python.

Installation

pip install ccprompt

Usage

first time usage

run ccprompt it will create a configuration file ccprompt_config.json in the current directory. fill in the configuration file with the required information. Alternatively, you can pass the required information as command-line arguments. ccprompt --config CONFIG. The configuration file should be in the following format:

{
    "target_name": ["YourClassName", "your_function_name"],
    "project_path": "/full/path/to/project",
    "venv_site_packages_path": "/full/path/to/venv/lib/python3.x/site-packages",
    "exclude_venv": false,
    "output_file": "extracted_code.txt",
    "language": "python"
}

then run ccprompt, it will extract the code context based on the configuration file. and create extracted_code.txt that include extracted code context.

the extracted code will include file path, functions or classes and their inheritance chains.

Star and share the repository if you find it useful.

# Update your configuration file then run
ccprompt

# Also possible to pass the configuration file as arguments
ccprompt --target_names YourClassName your_function_name

# See all available options
ccprompt --help

Development

pip install -e .["dev"]

Commands

#  installs development dependencies specified in setup.py
make install

#  Runs tests
make test

#  Check linting issues
make lint-check

#  Runs linting and fixes issues
make lint-fix

#  Formats code using Ruff
make format

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

ccprompt-0.3.0.tar.gz (9.8 kB view details)

Uploaded Source

File details

Details for the file ccprompt-0.3.0.tar.gz.

File metadata

  • Download URL: ccprompt-0.3.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ccprompt-0.3.0.tar.gz
Algorithm Hash digest
SHA256 860c33912db43d66ddc14e1d836ebe72317fb177329aa240520ae83cb6be4164
MD5 3b9650a3b49f83dac755442298cf361e
BLAKE2b-256 fa578f59107800f37826dca1be755054ecb1698356d2a3fc73f75c44617bd085

See more details on using hashes here.

Supported by

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