Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 54 additions & 2 deletions pages/general/tooling-and-ecosystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,66 @@
In addition to an API design specification, AEPs also provide an ecosystem of
tooling to help produce and interact with these APIs.

## Tools

Get started quickly with these essential tools:

**API Definition**

- **[aepc](https://github.com/aep-dev/aepc)** - Generates AEP-compliant RPCs
from proto messages

**Linting & Validation**

- **[aep-proto-linter](https://github.com/aep-dev/api-linter)** - Lint gRPC
definitions for AEP compliance
- **[aep-openapi-linter](https://github.com/aep-dev/aep-openapi-linter)** -
Lint OpenAPI definitions for AEP compliance

**AI**

- **[aep-mcp-server](https://github.com/aep-dev/aep-mcp-server)** - MCP server
for AEP-compliant APIs
- **[aep.dev/llms.txt](https://aep.dev/llms.txt)** - llms.txt for AEP, to
provide LLMs with knowledge of AEP guidelines.

**User Interfaces**

- **[aepcli](https://github.com/aep-dev/aepcli)** - Command-line interface for
AEP-compliant APIs
- **[aep-explorer](https://github.com/aep-dev/aep-explorer)** - Interactive web
UI for AEP-compliant APIs

**Infrastructure-As-Code and GitOps**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think about removing the "planned" tools from all these lists?

Then we can put Terraform and aepcli under this list

Suggested change
**Infrastructure-As-Code and GitOps**
**Developer Tools**


- **[terraform-provider-aep](https://github.com/aep-dev/terraform-provider-aep)** -
Terraform provider for AEP-compliant APIs
- **Kubernetes CRD generator** - Generate Custom Resource Definitions for
Kubernetes for AEP-compliant APIs (_Planned_)

**Operations & Governance**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's get rid of this list while it's empty


- **API documentation generator** - Planned tool for generating API
documentation for AEP-compliant APIs (_Planned_)
- **Asset inventory tooling** - External integration support for asset
inventory and policy management for AEP-compliant APIs (_Planned, External_)

**Community Tools**

We welcome contributions from the community! This section showcases tools built
by the AEP community that extend or complement the official tooling ecosystem.

- **[aep-typespec](https://github.com/thegagne/aep-typespec)** - Reference
implementation using TypeSpec to generate AEP-compliant OpenAPI Schema.

## Diagram

The following is a diagram that illustrates an end-to-end workflow, including
nodes of tooling that exists, or is intended to be created for the project.

Some of the tools in the diagram are not maintained by the AEP project. The
diagram is intended to be a complete representation of tools available to help
a user understand how the tools fit in to a development workflow.
a user understand how the tools fit into a development workflow.

```mermaid
flowchart TD
Expand All @@ -31,7 +83,7 @@ flowchart TD
hub --> graphql[/GraphQL definitions/]
proto --> proto-service(your proto service)
proto-service --> http-grpc{{"HTTP REST APIs via grpc-gateway"}}
proto --> proto-linter([<a href="https://github.com/aep-dev/api-linter">aep-proto-linter: lint gRPC definitons for AEP compliance.</a>])
proto --> proto-linter([<a href="https://github.com/aep-dev/api-linter">aep-proto-linter: lint gRPC definitions for AEP compliance.</a>])
openapi --> http-generated{{api stubs via openapi-generator}}
openapi --> oas-linter([<a href="https://github.com/aep-dev/aep-openapi-linter">aep-openapi-linter: lint OAS definitions for AEP compliance.</a>])
http-generated --> http-service(your http service)
Expand Down