Skip to content

Commit 8aa3477

Browse files
Update the architecture document
1 parent 3f1f7e7 commit 8aa3477

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

docs/architecture.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,41 @@ title: 'CLI Architecture'
33
weight: 40
44
---
55

6-
The AsyncAPI CLI uses oclif (Open CLI Framework) as its core framework, which allows customers to build powerful and scalable command-line applications.
6+
The AsyncAPI CLI uses oclif (Open CLI Framework) as its core framework, which enables developers to build powerful and scalable command-line applications.
77

8-
**Structure of the Asyncapi CLI**: The CLI mainly divides into two components that is commands and the core part.
9-
10-
1. **Command Component** : The Commands contains all the necessary commands that helps to developers to interact with multiple functionality like creating new Asyncapi projects, validating asyncapi file, formatting asyncapi file etc.
11-
2. **Core Component**: The Core part of the CLI contains all teh
8+
**Structure of the AsyncAPI CLI**: The CLI is primarily divided into two components: commands and the core part.
129

10+
1. **Command Component**: The commands include all the necessary functionalities that help developers interact with features like creating new AsyncAPI projects, validating AsyncAPI files, formatting AsyncAPI files, and more.
11+
2. **Core Component**: The core part of the CLI contains various utilities that facilitate the efficient creation of new commands.
1312

13+
---
1414

15-
### **Detailed Explanation of Key Directories**
15+
### **Detailed Explanation of Key Directories in the CLI**
1616

1717
#### **`src/commands/`**
1818
- **Purpose:** Implements the CLI commands available to the user.
1919
- **Subdirectories:**
2020
- `config/`: Stores configuration-related files for commands.
21-
- `generate/`: Implements logic for generating AsyncAPI-related artifacts.
21+
- `generate/`: Generates typed models or other artifacts like clients, applications, or documentation using AsyncAPI Generator templates.
2222
- **Files:**
23-
- `fromTemplate.ts`: Logic for generating files using templates.
24-
- `models.ts`: Defines the models used in generation.
25-
- `new/`: Logic for creating new AsyncAPI projects.
23+
- `fromTemplate.ts`: Contains logic for generating files using templates.
24+
- `models.ts`: Defines the models used during generation.
25+
- `new/`: Creates a new AsyncAPI file.
2626
- **Files:**
2727
- `file.ts`: Handles file creation logic.
2828
- `glee.ts`: Related to Glee, a tool for event-driven microservices.
29-
- `template.ts`: Deals with templates for new projects.
30-
- `start/`: Implements starting functionalities like starting a local server or studio.
29+
- `template.ts`: Manages templates for new projects.
30+
- `start/`: Implements starting functionalities like launching a local server or studio.
3131
- **Files:**
3232
- `studio.ts`: Integrates with the AsyncAPI Studio.
3333

3434
- **Standalone Files:**
35-
- `bundle.ts`: Bundles multiple AsyncAPI files.
36-
- `convert.ts`: Converts AsyncAPI documents between different formats.
35+
- `bundle.ts`: Bundles one or multiple AsyncAPI documents and their references together.
36+
- `convert.ts`: Converts AsyncAPI documents from older to newer versions or transforms OpenAPI/Postman-collection documents into AsyncAPI.
3737
- `diff.ts`: Compares two AsyncAPI documents.
38-
- `format.ts`: Formats AsyncAPI documents.
38+
- `format.ts`: Converts AsyncAPI documents from any format to YAML, YML, or JSON.
3939
- `optimize.ts`: Optimizes AsyncAPI documents for performance.
40-
- `pretty.ts`: Prettifies AsyncAPI documents.
40+
- `pretty.ts`: Beautifies the AsyncAPI spec file (indentation, styling) in place or outputs the formatted spec to a new file.
4141
- `validate.ts`: Validates AsyncAPI documents for correctness.
4242

4343
---
@@ -93,6 +93,6 @@ The AsyncAPI CLI uses oclif (Open CLI Framework) as its core framework, which al
9393
7. **Convert Between Formats:**
9494
- The `convert` command supports converting AsyncAPI documents between formats like YAML and JSON.
9595

96+
---
9697

97-
98-
This structure ensures the CLI is modular, scalable, and easy to maintain. Let me know if you need further clarification or additional details!
98+
This structure ensures the CLI is modular, scalable, and easy to maintain. Let me know if you need further clarification or additional details!

0 commit comments

Comments
 (0)