GramIt

Visualise Your Code Instantly

Turn your codebase into beautiful, easy-to-understand diagrams with just one command.

Features

Usage

Quick Start

gramit --path=/your/project/path --output=./combined_code.txt

This command will process your project files and generate a combined code file along with a PlantUML diagram.

Advanced Usage

gramit --path=/project/src --path=/project/tests --output=./combined.rs --ext=rs,py --ignore=*.tmp --ignore=**/node_modules/** --plantuml-dir=./diagrams --plantuml-filename=project_structure --plantuml-no-timestamp

This example demonstrates using multiple source directories, file extensions, ignore patterns, and customizing the PlantUML output.

Flexible Configuration

One of gramit's most powerful features is its flexible configuration system using JSON files. This allows you to set up complex processing rules and run multiple operations with a single command.

Configuration File Example

[
      {
        "source_dirs": ["../meine-mma"],
        "file_extensions": ["ts"],
        "output_file": "./output/combined_1.txt",
        "custom_ignore_patterns": ["*.tmp", "**/node_modules/**", "**/.git/**"],
        "auto_generate_diagram": true,
        "plantuml_output_dir": "./plantuml_output",
        "plantuml_output_filename": "mma_diagram",
        "plantuml_include_timestamp": true,
        "plantuml_custom_instructions": "Explain like im 5"
      },
      {
        "source_dirs": ["../meine-cookies"],
        "file_extensions": ["js"],
        "output_file": "./output/combined_2.txt",
        "custom_ignore_patterns": ["*.min.js", "**/dist/**", "**/.vscode/**"],
        "auto_generate_diagram": true,
        "plantuml_output_dir": "./plantuml_output",
        "plantuml_output_filename": "cookies_diagram",
        "plantuml_include_timestamp": true
      }
    ]