Built with:
OSA (Open-Source-Advisor) is a LLM-based tool for improving the quality of scientific open source projects and helping create them from scratch. It automates the generation of README, different levels of documentation, CI/CD scripts, etc. It also generates advices and recommendations for the repository.
OSA is currently under development, so not all features are implemented.
Here is a short demo:
- Core features
- Installation
- Getting started
- Examples
- Documentation
- Contributing
- License
- Acknowledgments
- Citation
-
README file generation: Automates the creation of a clear and structured README file for a repository, including projects based on research papers.
-
Documentation generation: Automatically generates docstrings for Python code.
-
Automatic implementation of changes: Clones the repository, creates a branch, commits and pushes changes, and creates a pull request with proposed changes.
-
Various LLMs: Use OSA with an LLM accessible via API (e.g., OpenAI, VseGPT), a local server, or try an osa_bot hosted on ITMO servers.
Install Open-Source-Advisor using one of the following methods:
Using PyPi:
pip install osa-tool
Build from source:
- Clone the Open-Source-Advisor repository:
git clone https://github.com/ITMO-NSS-team/Open-Source-Advisor
- Navigate to the project directory:
cd Open-Source-Advisor
- Install the project dependencies:
pip install -r requirements.txt
poetry install
docker build --build-arg GIT_USER_NAME="your-user-name" --build-arg GIT_USER_EMAIL="your-user-email" -f docker/Dockerfile -t {image-name} .
OSA requires Python 3.10 or higher.
File .env
is required to specify GitHub token (GIT_TOKEN) and LLM API key (OPENAI_API_KEY or VSE_GPT_KEY)
Run Open-Source-Advisor using the following command:
python main.py -r {repository} [--api {api}] [--base-url {base_url}] [--model {model_name}] [--article {article}]
docker run --env-file .env {image-name} -r {repository} [--api {api}] [--base-url {base_url}] [--model {model_name}] [--article {article}]
The --article option enables you to choose a README template for a repository based on an article. You can provide either a link to a PDF file of the article or a path to a local PDF file after the --article option. If you are using Docker, ensure that you upload the PDF file to the OSA folder before building the image, then, specify the path as /app/OSA/... or just use volume mounting to access the file.
Flag | Description | Default |
---|---|---|
-r , --repository |
URL of the GitHub repository (Mandatory) | |
--api |
LLM API service provider | llama |
--base-url |
URL of the provider compatible with API OpenAI | https://api.openai.com/v1 |
--model |
Specific LLM model to use | gpt-3.5-turbo |
--article |
Link to the pdf file of the article | None |
--translate-dirs |
Enable automatic translation of the directory name into English | disabled |
Examples of generated README files are available in examples.
URL of the GitHub repository, LLM API service provider (optional) and Specific LLM model to use (optional) are required to use the generator.
To see available models go there:
Local Llama ITMO:
python main.py -r https://github.com/ITMO-NSS-team/Open-Source-Advisor
OpenAI:
python main.py -r https://github.com/ITMO-NSS-team/Open-Source-Advisor --api openai
VseGPT:
python main.py -r https://github.com/ITMO-NSS-team/Open-Source-Advisor --api openai --base-url https://api.vsegpt.ru/v1 --model openai/gpt-3.5-turbo
Detailed description of OSA API is available here.
- Report Issues: Submit bugs found or log feature requests for the Open-Source-Advisor project.
This project is protected under the BSD 3-Clause "New" or "Revised" License. For more details, refer to the LICENSE file.
The project is supported as ITMO University Research Project in AI Initiative (RPAII).
OSA is tested by the members of ITMO OpenSource community. Useful content from community is available in Open-source-ops
Also, we thank Readme-ai for their code that we used as a foundation for our own version of README generator.
If you use this software, please cite it as below.
ITMO, NSS Lab (2025). Open-Source-Advisor repository [Computer software]. https://github.com/ITMO-NSS-team/Open-Source-Advisor
@misc{Open-Source-Advisor,
author = {ITMO, NSS Lab},
title = {Open-Source-Advisor repository},
year = {2025},
publisher = {github.com},
journal = {github.com repository},
howpublished = {\url{https://github.com/ITMO-NSS-team/Open-Source-Advisor.git}},
url = {https://github.com/ITMO-NSS-team/Open-Source-Advisor.git}
}