Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

GenReports/AutoDoc

Repository files navigation

AutoDoc - Git to Report πŸ“š

AutoDoc is a simple but powerful multiplatform tool that automatically analyzes Git commits and generates structured daily CSV reports.
It leverages AI to transform commit history into meaningful documentation with context-aware summaries.


πŸš€ How It Works

  1. Collect Commits
    AutoDoc scans a Git repository for commits within a given period.

  2. Context Injection
    A custom Context.txt file allows you to provide your project background informations for the AI model.

  3. Commit Processing

    • Commits are grouped by day.
    • If a day contains many commits, they are split into smaller parts.
    • Each part is sent to the model for structured summarization.
  4. AI Integration

    • Can use OpenAI APIs like (/v1/chat/completions).
    • Automatically retries failed requests and waits between calls to avoid memory overload.
  5. CSV Generation
    After processing all commits for a day, AutoDoc generates a uniquely named CSV file with the results.


βš™οΈ Configuration

All settings are handled in the appsettings.json file:

{
 "RepositoryPath": "C:\\Path\\To\\Your\\Repository",
 "OwnerEmail": "example@email.com",
 "OwnerName": "Your Name",
 "Culture": "en-US",
 "OutputPath": "AutoDoc-Reports",
 "CompletionsUri": "http://localhost:1234/v1/chat/completions",
 "ApiKey": "your_api_key_here",
 "DelayMilliseconds": 20000,
 "ModelTemperature": 0.5,
 "MaxRetries": 2
}

πŸ”’ Explanation of Parameters:

  • RepositoryPath β†’ Path to the Git repository to analyze.
  • OwnerEmail β†’ Git email address for filtering commits.
  • OwnerName β†’ Who is responsible for the commits.
  • Culture β†’ Defines reporting culture/locale (e.g., pt-BR, en-US).
  • OutputPath β†’ Directory where daily CSV files are saved.
  • CompletionsUri β†’ API endpoint.
  • ApiKey β†’ API Key if applicable.
  • DelayMilliseconds β†’ Delay between requests (prevents RAM overload).
  • ModelTemperature β†’ Controls creativity of the model (0 = focused, 1 = creative).
  • MaxRetries β†’ How many times to retry if a request fails.

πŸ“ Context File

Inside the project, you will find Context.txt. This file is user-editable and allows you to context.

You can follows the template:

The project is called [Your Project Name], an [Your Project description].
[Talk about Your Project features]...
The project is developed in/with: [Your Project languages and tools].

πŸ“¦ Requirements

Access to an AI server. Ensure it listens on the same port as configured in appsettings.json (default: http://localhost:1234).


▢️ Usage

1 - Go to releases: Releases

2 - Install the zip

3 - Edit appsettings.json with your repository path and preferences.

4 - Edit Context.txt with your project context.

5 - Make sure AI server is reachable.

6 - Execute AutoDoc.exe

  • Option 1: [StartDate] [EndDate] | Explanation: The folllowing arguments will generate 1 month of reports.
PS C:\Users\eduar> C:\Users\eduar\Desktop\AutoDoc-win-x64\AutoDoc.exe 2025εΉ΄01月01ζ—₯ 2025εΉ΄02月01ζ—₯
  • Option 2: [Days] | Explanation: The folllowing argument will generate 1 week of reports from the current day.
PS C:\Users\eduar> C:\Users\eduar\Desktop\AutoDoc-win-x64\AutoDoc.exe 7
  • Option 3: No arguments | Explanation: Will generate reports from the current day.
PS C:\Users\eduar> C:\Users\eduar\Desktop\AutoDoc-win-x64\AutoDoc.exe

7 - Check the output folder for generated CSV reports.


πŸ“Š Example Output

After processing, AutoDoc will generate CSV files named by [repoName]-[date]-[guidV7]. Each row contains structured commit summaries enriched with AI-generated insights.

Example file: nice-api-08-14-2025-0198b3ccd15b77a295e7e23516fd3217.csv

Example file content output:

Date;Step;Activity;Description;Motivation;Process;Result;Participants
08/14/2025 13:50:16;Unit Tests;Addition of tests for PersonService;Implementation of unit tests for the 'PersonService' service layer in Nice Acesso.;Ensure the quality and correctness of the operations performed by the 'Person' entity in the access control system.;Use of the xUnit tool for the creation and execution of unit tests.;Addition of tests that validate the basic operations of the 'Person' entity in the system.;Eduardo Rezende
08/14/2025 13:51:08;Tests;Addition of tests for PersonVehicleService;Implementation of unit tests for the PersonVehicleService service layer of the Nice Acesso system.;Ensure the quality and stability of the functionalities related to the association between people and vehicles in the system.;Use of the xUnit testing library, Visual Studio, and .NET framework;Addition of a set of tests that verify the expected behavior of the PersonVehicleService service layer.;Eduardo Rezende
08/14/2025 13:51:30;Unit Tests;Addition of tests for PersonTriggerService;Creation and implementation of unit tests for the PersonTriggerService class, responsible for controlling the interactions between people and triggers in the Nice Acesso system.;Ensure code quality and prevent potential bugs in business logic.;Use of the NUnit library for the creation and execution of unit tests, along with the Visual Studio IDE.;Addition of new tests that can be executed to validate the functionality of the PersonTriggerService class.;Eduardo Rezende
08/14/2025 15:53:42;Development;Refactor: Update PersonService;Update of the GetByType method of the PersonService class to avoid returning errors when no records are found.;Improvement of the user experience by preventing unwanted exceptions.;Use of the C# language (.NET) and the Entity Framework.;Greater stability in the GetByType method call, avoiding unexpected error returns.;Eduardo Rezende
08/14/2025 15:56:58;Development;Refactor: Update PersonTypeService;Update of the Delete and Disable methods of the PersonTypeService class, so that they do not return errors when removing or disabling a person type without associated people.;Improve system safety by avoiding unexpected errors when deleting or disabling person types with associated records.;C# language, Visual Studio, Entity Framework;Delete and Disable methods updated to handle cases where a person type has no associations.;Eduardo Rezende

πŸ’‘ Note

🧰 The hardware settings used for the test:

  • 12th Generation Intel(R) Core(TM) i5-12450HX Processor (2.40 GHz)

  • 16.0 GB Installed RAM DDR5

  • 512.0 GB SSD

  • NVDIA GeForce RTX 3050 6.0 GB

πŸ€– The model settings used for the test:

  • Publisher: NousResearch

  • Model: nous-hermes-2-mistral-7b-dpo

  • Params: 8B

  • Quant: Q5_K_M

  • Size: 5.13 GB


🀝 Contributing

Contributions are welcome! Feel free to open issues or submit PRs with improvements.

Please for commits pattern follows: pattern


πŸ“œ License

This project is open source and available under the MIT License.

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /