Skip to content

Automates the collection of code files from a directory into a markdown file for OpenAI Assistants or RAG models. Skips files in the .gitignore and uses ChatGPT to summarize each file, creating a concise, organized document.

License

Notifications You must be signed in to change notification settings

DEV3L/ai-code-summary

Repository files navigation

AI Code Summary

This project automates the process of aggregating code files from a directory into a single markdown file, ready for use in an OpenAI Assistant or any RAG model. It intelligently skips files specified in the .gitignore and leverages ChatGPT to generate concise summaries for each code file, ensuring that the final markdown file is both comprehensive and easy to understand.

Install through PyPI

pip install ai-code-summary

For more details, visit the PyPI project page.

Setup

  1. Clone the repository:
git clone https://github.com/DEV3L/ai-code-summary
cd ai-code-summary
  1. Copy the env.local file to a new file named .env and replace OPENAI_API_KEY with your actual OpenAI API key:
cp env.default .env
  1. Setup a virtual environment with dependencies and activate it:
brew install hatch
hatch env create
hatch shell

Environment Variables

The following environment variables can be configured in the .env file:

  • OPENAI_MODEL: The model to use
    • Default: gpt-4o
  • SUMMARY_PROMPT: The prompt used to summarize code files
    • Default: You are code summary expert. You summarize code in a short way that is easy to understand.

Testing

End to End Test

hatch run e2e

Unit Tests

hatch run test

Coverage Gutters:

Command + Shift + P => Coverage Gutters: Watch

Example

TBD

About

Automates the collection of code files from a directory into a markdown file for OpenAI Assistants or RAG models. Skips files in the .gitignore and uses ChatGPT to summarize each file, creating a concise, organized document.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages