AutoDoc-ChatGPT is a Python script that leverages the power of ChatGPT model to automatically generate documentation for any programming language.
With AutoDoc-ChatGPT, you can easily generate comprehensive documentation for your codebase. Simply provide the path to file you wish to document, and AutoDoc-ChatGPT will generate a detailed description of its functionality, parameters, and return values in natural language.
Clone this repository to your local machine:
git clone https://github.com/awekrx/AutoDoc-ChatGPT.git
Then install the required packages:
pip install -r requirements.txt
And others...
disclaimer
: TypeScript and JavScript has some bugs and is under testing
disclaimer_2.0
: There is a known error commenting files with 2 or more classes that have methods with the same name.
Open config.ini
and add email
and password
there if you are not using OAuth authorization.
Otherwise open ChatGPT and get the __Secure-next-auth.session-token
cookie and write it to the session-token
.
py main.py -file "path to the file"
The path to the file can be either relative or absolute.
After execution, the file yourfilename_commented.language
is created in the folder with the desired file.
OR
py main.py -file "path to the file"
Not recommended, little tested. You can specify a file with a comment option to create such comments.
You can also use this as a function in python.
from modules.autodoc import AutoDoc
import configparser
config = configparser.ConfigParser()
config.read("config.ini")
auth = {
"email": config["ChatGPT"]["email"],
"password": config["ChatGPT"]["password"],
"session_token": config["ChatGPT"]["session_token"]
}
result = AutoDoc(
auth,
"Code for commenting",
"language code",
"example comment model (optional)"
).start()
print(result)
# out: Code with comments
Doesn't always create correct comments. It doesn't always mean what you want. Use as a draft of comments that may need to be edited.
This project is licensed under the MIT License.
Thanks a lot to the development of AI and separately to СhatGPT for generating the Readme.