Skip to content

ghdcksgml1/docutilians

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

35 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Docutilians - Auto-generate OpenAPI specs from source code using LLM

Quickstart Β· How it Works

πŸš€ Multi-Agent Pipeline β€’ πŸ“ Language Agnostic β€’ ⚑ Recursive Type Analysis


✨ Say goodbye to manual API documentation! Docutilians uses LLM-powered multi-agent architecture to automatically generate accurate OpenAPI specs from your source code.

Introduction

Docutilians is a CLI tool that automatically generates OpenAPI specifications from your source code using LLM. No more manual documentationβ€”just point to your project and get a complete openapi.yaml.

✨ Key Features

Feature Description
🌐 Language Agnostic Supports Kotlin, Java, TypeScript controllers and more
πŸ” Auto Type Analysis Recursively scans DTOs, Enums, and Entities to build complete schemas
πŸ€– Multi-Agent Architecture File Collector β†’ YAML Generator β†’ Aggregator pipeline for higher accuracy
πŸ“¦ Single Output Generates a clean, merged openapi.yaml ready for Swagger UI
πŸ“– Built-in Docs Viewer Generates Scalar HTML for instant API documentation preview

πŸš€ Quickstart

Installation

# Using npm
npm install -g docutilians

Basic Usage

# Generate OpenAPI spec from your project
docutilians ./target-project

# With options
docutilians ./target-project -o ./docs/openapi -m claude-sonnet-4-5 -k sk-claudekey... -l KO

CLI Options

Option Description Default
-k, --claude-api-key Anthropic Claude API Key ANTHROPIC_API_KEY env
-m, --claude-model Model to use (claude-haiku-4-5, claude-sonnet-4-5) claude-haiku-4-5
-o, --openapi-output Output directory for generated files .docutilians/openapi
-l, --language Language for prompts (EN, KO) EN

result1.png result2.png

πŸ”„ How it Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 1. Project Scanner                      β”‚
β”‚    Discovers controller files           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 2. File Collector Agent                 β”‚
β”‚    Gathers referenced DTOs & Enums      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 3. YAML Generator Agent                 β”‚
β”‚    Creates OpenAPI YAML per controller  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 4. Aggregator                           β”‚
β”‚    Merges partials & generates HTML     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β–Ό
         openapi.yaml + index.html βœ…

πŸ“ Output Structure

.docutilians/openapi/
β”œβ”€β”€ partials/
β”‚   β”œβ”€β”€ chat_controller.yaml
β”‚   β”œβ”€β”€ user_controller.yaml
β”‚   └── order_controller.yaml
β”œβ”€β”€ openapi.yaml          # Final merged spec
└── openapi.html            # Scalar API docs viewer

πŸ’‘ Tip: Open index.html directly in your browser β€” no server required!

βš–οΈ License

MIT License β€” see the LICENSE file for details.


Made with ❀️ by the Docutilians Team

About

πŸ¦• Auto-generate OpenAPI specs from source code using LLM

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages