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.
- 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.
pip install ccprompt
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
pip install -e .["dev"]
# 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