diff --git a/README.md b/README.md
index dd4612d..db7e5e6 100644
--- a/README.md
+++ b/README.md
@@ -1,64 +1,49 @@
# Project Generator
-CLI generating modularized Gradle projects based on different shapes
-
-
-
-
+A CLI tool to bootstrap Android or JVM Gradle projects with a customizable module graph.
-# Usage
-## CLI
-### Install
-```
-curl -L https://github.com/cdsap/ProjectGenerator/releases/download/v0.2.1/projectGenerator --output projectGenerator
-chmod 0757 projectGenerator
-```
-
-### Modes
-
-#### 1. Generate Project (default)
+## Installation
```bash
-./projectGenerator generate-project --modules 100
+curl -L https://github.com/cdsap/ProjectGenerator/releases/download/v0.2.1/projectGenerator --output projectGenerator
+chmod 0757 projectGenerator
```
-This command generates a project with the specified shape, layers, and modules. All options below can be combined with this mode.
-#### 2. Generate YAML Versions File
+## Commands
+- **generate-project** (default)
+ Generates a project. Example:
+ ```bash
+ ./projectGenerator generate-project --modules 100
+ ```
+- **generate-yaml-versions**
+ Produces a template `versions.yaml` file. The file can then be passed to `generate-project` via `--versions-file`.
+
+## Options
+Key flags for `generate-project`:
+- `--shape` triangle, rhombus, flat, rectangle, middle_bottleneck, inverse_triangle (default: rectangle)
+- `--modules` required number of modules
+- `--layers` number of layers (default: 5)
+- `--language` kts (default), groovy, both
+- `--type` android (default) or jvm
+- `--classes-module` number of classes per module (default: 5)
+- `--classes-module-type` fixed (default) or random
+- `--type-of-string-resources` normal (default) or large
+- `--generate-unit-test` generate unit tests (default: false)
+- `--gradle` gradle_8_2, gradle_8_5, gradle_8_9, gradle_8_13, gradle_8_14_3 (default)
+- `--develocity` enable Develocity build scan plugin
+- `--versions-file` path to a custom YAML versions file
+
+Example with several options:
```bash
-./projectGenerator generate-yaml-versions
+./projectGenerator generate-project --shape rhombus --modules 50 --layers 4 --language both --type jvm --classes-module 10 --classes-module-type random --type-of-string-resources large --generate-unit-test --gradle gradle_8_9 --develocity --versions-file my_versions.yaml
```
-This command generates a `versions.yaml` file template for custom dependency versions.
-Then, you can use the versions.yaml in the `generate-project` command:
-```
-./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --versions-file versions.yaml
-```
-
-### CLI Options
-- `--shape`: triangle, rhombus, flat, rectangle, middle_bottleneck, inverse_triangle (default: rectangle)
-- `--modules` (required): Number of modules to create
-- `--layers`: Number of layers (default: 5)
-- `--language`: kts (default), groovy, both
-- `--type`: android (default), jvm
-- `--classes-module`: Number of classes per module (default: 5)
-- `--classes-module-type`: fixed (default), random
-- `--type-of-string-resources`: normal (default), large
-- `--generate-unit-test`: Generate unit tests (default: false)
-- `--gradle`: gradle_8_2, gradle_8_5, gradle_8_9, gradle_8_13, gradle_8_14_3 (default: gradle_8_14_3)
-- `--develocity`: Enable Develocity build scan plugin (default: false)
-- `--versions-file`: Path to a custom YAML file with dependency versions
-
-#### Example: Generate a project with custom options
-```bash
-./projectGenerator generate-project --shape rhombus --modules 50 --layers 4 --language both --type jvm --classesModule 10 --classesModuleType random --typeOfStringResources large --generateUnitTest --gradle gradle_8_9 --develocity --versionsFile ./my_versions.yaml
-```
-
-## Library
+## Library usage
```kotlin
val modules = 50
val shape = Shape.RHOMBUS
ProjectGenerator(
- modules = 50,
- shape =shape,
+ modules = modules,
+ shape = shape,
language = Language.KTS,
typeOfProjectRequested = TypeProjectRequested.ANDROID,
classesPerModule = ClassesPerModule(ClassesPerModuleType.FIXED, 20),
@@ -69,111 +54,13 @@ ProjectGenerator(
gradle = GradleWrapper(Gradle.GRADLE_8_14_3),
path = file.path
).write()
-
-```
-### Dependency
-```
- implementation("io.github.cdsap:projectgenerator:0.2.1")
-```
-
-# Options
-
-## `modules`
-Number of modules to create in the project
-## `layers`
-Number of layers where the modules will be distributed.
-## `shape`
-Defines the shape of the project dependency graph based on the distribution of modules by layer.
-Current shapes supported:
-### `triangle`
-
-### `inverse_triangle`
-
-### `rhombus`
-
-### `rectangle` (default)
-
-### `flat`
-
-### `middle_bottleneck`
-
-
-## `language`
-### `kts`
-**default**
-
-The project generated includes modules build scripts in Kotlin DSL
-### `groovy`
-The project generated includes modules build scripts in Groovy
-### `both`
-Two projects will be generated using Kotlin DSL and Groovy
-
-#### Example
-```kotlin
-./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --language groovy
```
-## `type`
-Type of project generated:
-### `android`
-**default**
-
-Android project
-### `jvm`
-Kotlin-JVM project
-
-#### Example
-```kotlin
-./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --type jvm
-```
-
-## `Classes Module`
-Classes generated per module, options:
-* classes: Classes to generate per module. Default 5.
-* type:
- * Fixed(default): Each module will create n classes where n represents the argument `classes`.
- * Random: Each module will create `Random.nextInt(2, classesPerModule.classes)` classes.
-
-#### Example
+Add the dependency to use the generator programmatically:
```kotlin
-./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --classes-module-type random --classes-module 150
+implementation("io.github.cdsap:projectgenerator:0.2.1")
```
-## String Resources type
-### Normal
-Each module generated includes 8 string resources in the file `strings.xml`. **Default**.
-
-### Large
-Each module generated includes 900 string resources in the file `strings.xml`
-
-##### Example
-```kotlin
-./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --type-of-string-resources large
-```
-## Generate Unit Test
-**default false**
-
-If enabled, each module will generate n unit tests, where n is the argument `classes`
-
-##### Example
-```kotlin
-./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --generate-unit-test true
-```
-## Gradle
-Gradle used, versions supported:
-* Gradle 8.2
-* Gradle 8.5
-* Gradle 8.9
-* Gradle 8.13
-* Gradle 8.14_2 **default**
-
-##### Example
-```kotlin
-./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --gradle 8.13
-```
-
-
-## Versions
-Example output versions.yaml:
+## Versions file example
```yaml
project:
develocity: 4.0.1
@@ -182,38 +69,10 @@ kotlin:
kgp: 2.1.20
ksp: 2.1.20-2.0.0
coroutines: 1.7.3
- kotlinProcessor:
- processor: KSP
android:
agp: 8.9.1
- androidxCore: 1.9.0
- appcompat: 1.7.0
- material: 1.8.0
- lifecycle: 2.7.0
- fragment: 1.6.2
- activity: 1.8.2
- constraintlayout: 2.1.4
- work: 2.10.1
- hilt: 2.56.1
- hiltAandroidx: 1.2.0
- composeBom: 2025.05.00
-testing:
- junit4: 4.13.2
- junit5: 5.10.1
- truth: 1.1.5
- mockk: 1.13.9
- coreTesting: 2.2.0
- junitExt: 1.1.5
-additionalSettingsPlugins:
-
-additionalBuildGradleRootPlugins:
- - id: com.autonomousapps.dependency-analysis
- version: 2.18.999
- apply: true
-
```
-
-
+See `resources/versions.yaml` for a complete list.
## Libraries used
-* [clikt](https://github.com/ajalt/clikt)
+- [clikt](https://github.com/ajalt/clikt)