Skip to content

OSA: OPEN-SOURCE ADVISOR


Overview

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.


How it works?

Here is a short demo:

Animation


Table of contents


Core features

  1. README file generation: Automates the creation of a clear and structured README file for a repository, including projects based on research papers.

  2. Documentation generation: Automatically generates docstrings for Python code.

  3. Automatic implementation of changes: Clones the repository, creates a branch, commits and pushes changes, and creates a pull request with proposed changes.

  4. 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.


Installation

Install Open-Source-Advisor using one of the following methods:

Build from source:

  1. Clone the Open-Source-Advisor repository:

     git clone https://github.com/ITMO-NSS-team/Open-Source-Advisor
    

  2. Navigate to the project directory:

     cd Open-Source-Advisor
    

  3. Install the project dependencies:

Using pip  

 pip install -r requirements.txt

Using poetry  

 poetry install 

Using docker  

 docker build -f docker/Dockerfile -t {image-name} .

Getting started

Prerequisites

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)

Usage

Run Open-Source-Advisor using the following command:

Using pip  

 python main.py {repo_url} {api} {model_name}

Using docker  

 docker run --env-file .env {image-name} {repo_url} {api} {model_name}

Examples

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.

Local Llama ITMO:

python main.py https://github.com/ITMO-NSS-team/Open-Source-Advisor
OpenAI:
python main.py https://github.com/ITMO-NSS-team/Open-Source-Advisor openai gpt-3.5-turbo
VseGPT:
python main.py https://github.com/ITMO-NSS-team/Open-Source-Advisor vsegpt openai/gpt-3.5-turbo


Documentation

Detailed description of OSA API is available here.


Contributing

  • Report Issues: Submit bugs found or log feature requests for the Open-Source-Advisor project.

License

This project is protected under the BSD 3-Clause "New" or "Revised" License. For more details, refer to the LICENSE file.


Acknowledgments

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.


Citation

If you use this software, please cite it as below.

APA format:

ITMO, NSS Lab (2025). Open-Source-Advisor repository [Computer software]. https://github.com/ITMO-NSS-team/Open-Source-Advisor

BibTeX format:

@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}

}