A stateful AI-powered README generator using LangGraph and multi-model orchestration.
Project description
CodeAnalyzer
Automate your code analysis and documentation effortlessly!
📖 Overview
CodeAnalyzer is a powerful tool designed to streamline the process of analyzing code files and generating comprehensive README documentation. It utilizes advanced language models to provide structured summaries and insights, making documentation quick and efficient.
✨ Features
📂 File Management
- Effortlessly retrieve and filter code files based on configurable paths.
- Supports inclusion and exclusion criteria for targeted analysis.
🔍 Code Analysis
- Batch processes code files to generate meaningful insights.
- Utilizes language models for in-depth analysis and summary generation.
📄 README Generation
- Automatically generates structured README files from analyzed code.
- Formats output to ensure clarity and professionalism.
⚙️ Command Line Interface
- User-friendly CLI for easy configuration and execution.
- Allows quick initialization and management of analysis tasks.
🏗️ Tech Stack
- Python
- Command Line Interface (CLI)
🚀 Getting Started
Installation
git clone https://github.com/akshat231/Readme-Generator-Python
cd Readme-Generator-Python
pip install -r requirements.txt
⚙️ Configuration (analyzer.json)
The init command generates a config/analyzer.json file. This file acts as the brain of the generator, allowing you to define the scope of the code analysis. LLM Settings
Fine-tune your AI provider and cost parameters:
-
key: Your API key (OpenAI, Anthropic, or Gemini).
-
model_provider: Choose between OPENAI, ANTHROPIC, or GOOGLE.
-
model: Specific model identifier (e.g., gpt-4o-mini, claude-3-5-sonnet).
-
batch_limit: Maximum tokens processed in a single analysis pass.
-
temperature: Controls creativity (0.0 for technical precision, 0.7+ for punchier marketing text).
File Filtering & Ignored Content
Prevent the AI from getting bogged down by non-essential files:
-
ignore_dirs: Directories to skip (defaults include node_modules, .git, and pycache).
-
ignore_extensions: Skips binary or non-text files like .png, .exe, or .zip.
-
ignore_files: Specifically targets heavy metadata files like package-lock.json or poetry.lock.
Targeted Analysis
- include_dirs / include_files: If populated, the generator will only look at these paths, ignoring everything else. This is perfect for generating a README for a specific sub-module within a large monorepo.
Example analyzer.json Workflow
-
Run init: Creates the folder and default JSON.
-
Edit JSON: Add your key and maybe add docs to ignore_dirs.
-
Run generate: The tool reads these rules, filters your file system, and sends only the relevant code snippets to the AI.
💡 Usage Example
# For initializing
python cli_tools.cli.py init
# For generating README.md
python3 cli_tools.cli generate
🤝 Contributing
Pull requests are welcome! For larger changes, please open an issue to discuss ideas first.
📜 License
MIT License — free to use, modify, and distribute.
Generated with ❤️ by your AI-README-Generator
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_readme_generator_cli-0.1.1.tar.gz.
File metadata
- Download URL: ai_readme_generator_cli-0.1.1.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af78a6a611ded5436ca66fb98fccdb2a3a11f275f954cdf1183ad9be621afc6a
|
|
| MD5 |
716042800d62cdd3cc151947f4b3836a
|
|
| BLAKE2b-256 |
8d96be285aea4a05e82952190f6ae45478f933793e3805d51408024e66117c1d
|
File details
Details for the file ai_readme_generator_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ai_readme_generator_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76869fd56f90f69569b513b5b68e2f070c8258ae9f15ed7a5a8a19f84833515b
|
|
| MD5 |
10876a0ee3d1213c5823362479cce15a
|
|
| BLAKE2b-256 |
3fb434178bfb658e98a1da9644cf9050ab9da907a592c44b03e590e899653d8d
|