docs: Add README.md based on GEMINI.md content

This commit is contained in:
2025-09-23 23:17:06 +07:00
parent bda8ed8080
commit 170e55dd59

44
README.md Normal file
View File

@@ -0,0 +1,44 @@
# ActionModelsGenerator
## Project Overview
The `ActionModelsGenerator` is an IntelliJ Platform Plugin designed to automate the generation of Java `ActionBean` and Data Transfer Object (DTO) classes from a database schema. This plugin integrates directly into the IntelliJ IDE, allowing developers to select a database table and generate corresponding Java classes based on predefined FreeMarker templates.
**Key Features:**
* **Database Schema Introspection:** Utilizes IntelliJ's database tools to read table and column metadata.
* **Code Generation:** Generates `ActionBean` and DTO classes using FreeMarker templates.
* **Template-driven:** Customizable code generation via FreeMarker templates (`actionBean.ftl`, `actionBean.extend.ftl`, `actionDTO.ftl`, `actionDTO.extend.ftl`).
* **IDE Integration:** Provides a context menu action ("Generate Action Models") in the Database View for easy access.
**Core Technologies:**
* **Java:** Primary development language.
* **Kotlin:** Configured in `build.gradle.kts`, indicating potential for Kotlin usage.
* **Gradle (Kotlin DSL):** Build automation system.
* **IntelliJ Platform SDK:** For IDE integration and database interaction.
* **FreeMarker:** Templating engine for code generation.
## Building and Running
This project is an IntelliJ Platform Plugin built with Gradle.
**Build the Plugin:**
To build the plugin, use the following Gradle command:
```bash
./gradlew build
```
This will produce a `.zip` plugin artifact in the `build/distributions` directory.
**Run the Plugin in a Development IDE:**
To run a new IntelliJ IDE instance with this plugin installed for development and testing:
```bash
./gradlew runIde
```
Alternatively, you can use the "Run IDE with Plugin" run configuration provided in the `.run` directory within IntelliJ IDEA.
## Development Conventions
* **Language:** Primarily Java, with Kotlin support configured.
* **Build System:** Gradle with Kotlin DSL (`.gradle.kts` files).
* **Code Generation:** FreeMarker templates are located in `src/main/resources/templates/`. Modifications to these templates will change the generated code structure.
* **IntelliJ Platform APIs:** Development involves using IntelliJ Platform SDK for UI actions, virtual file system operations, and database schema access.
* **Action Definition:** New actions are defined in `src/main/resources/META-INF/plugin.xml`.