Skip to main content

Documentation from your codebase using LLMs

Project description

Repo2Docs: Convert Repositories to Documentation

Inspired by github2file

Repo2Docs is a Python-based tool designed to convert the contents of a repository into comprehensive documentation or diagrams. This tool leverages language model APIs such as OpenAI or Anthropic to process and generate documentation, making it easier for developers to create documentation for their projects.

Usage

To run Repo2Docs on your local machine, follow these steps:

  1. Install Repo2Docs:

    pip install repo2docs
    
  2. Set Up Environment Variables: Export your OpenAI and Anthropic API keys as environment variables:

    export OPENAI_API_KEY=your_openai_api_key_here
    export ANTHROPIC_API_KEY=your_anthropic_api_key_here
    

    or Input your OpenAI or Anthropic API keys when prompted

  3. Run the Tool:

    cd into the directory where the repo is located

    cd <path_to_repo>
    

    Run the main command for an interactive prompt

    repo2docs
    

    or, run the main command with the following flags

    repo2docs --dir_path <path_to_repo> --output_file <output_file> --type <type> --llm <llm>
    
    • Leaving dir_path empty will default to the current directory.
    • Leaving output_file empty will default to output.md.
    • Leaving type empty will default to documentation.
      • To generate mobile documentation, use --type mobile.
      • To generate diagrams instead of documentation, use --type diagram.
      • To generate database erd diagrams, use --type database.
      • To use a custom prompt,leave type empty and use --prompt "<prompt>".
    • Leaving llm empty will default to openai.
      • To use Anthropic, use --llm anthropic.
        • Defaults to claude-3-haiku-20240307.
        • To use a specific model, use --llm anthropic:<model>.
      • To use OpenAI, use --llm openai.
        • Defaults to gpt-4-turbo.
        • To use a specific model, use --llm openai:<model>.

Supported File Types

Repo2Docs currently supports processing files with the following extensions: .py, .js, .jsx, .ts, .tsx, .c, .cpp, .h, .hpp. It filters out files from directories like docs, examples, tests, and others that are unlikely to contain useful information for documentation.

Contributing

Contributions to Repo2Docs are welcome! Whether it's adding new features, improving documentation, or reporting issues, feel free to open an issue or submit a pull request.

License

Repo2Docs is released under the MIT License. See the LICENSE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repo2docs-0.1.17.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

repo2docs-0.1.17-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file repo2docs-0.1.17.tar.gz.

File metadata

  • Download URL: repo2docs-0.1.17.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.1 Darwin/23.4.0

File hashes

Hashes for repo2docs-0.1.17.tar.gz
Algorithm Hash digest
SHA256 626f8cf49d8eafcd1d5d575c4590013a6fe430056b8b2c379ee8f91d82b4853f
MD5 e5bef16ddcb65a9634b28a6cef06848c
BLAKE2b-256 c3db478ab7a6180c520e7add94ad3b7300ef4a6bf5bca78535a0f3346aafa667

See more details on using hashes here.

File details

Details for the file repo2docs-0.1.17-py3-none-any.whl.

File metadata

  • Download URL: repo2docs-0.1.17-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.1 Darwin/23.4.0

File hashes

Hashes for repo2docs-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 37dd98564c0c75a77a577976c7bb495fa8420f61d394ee39d39b3357956c73c6
MD5 48445a67b1692c05aae3a5cc73f1944e
BLAKE2b-256 cf9e9ec8ed73faa0ada89ebdcfea8845be03b3e9a53041cb35f551168703961c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page