Skip to content

Commit f654697

Browse files
docs: Stubbing out the aep tooling list (#238)
Including a better description of available aep tooling and a better overview, to help inform our users about the project. ---- Co-authored-by: Yusuke Tsutsumi <yusuke@tsutsumi.io>
1 parent cae35d3 commit f654697

File tree

3 files changed

+39
-29
lines changed

3 files changed

+39
-29
lines changed

config/hero.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ buttons:
77
shortcuts:
88
- title: Curious about the basics?
99
description: |
10-
AEPs are a combination of design guidance and a system we use to manage
11-
and track that guidance. Learn more about how the AEP program works in
12-
the first AEP!
10+
AEPs are a collection of API design specifications, design patterns, and guidance. In addition, the AEP project includes tools to help produce AEP-compliant APIs, as well a clients (command-lines, UIs, Declarative plugins) that consume them. Learn more about how the AEP program works in the first AEP!
1311
button:
1412
href: /1
1513
text: Read AEP-1
@@ -21,10 +19,10 @@ shortcuts:
2119
button:
2220
href: /contributing
2321
text: Contribute to the project
24-
- title: Want to use AEPs for your organization?
22+
- title: Want to adopt AEPs in your organization?
2523
description: |
26-
AEPs are designed to be useful outside of Google. Take a look at how you
27-
might choose which AEPs are best suited to your API design needs.
24+
AEPs were adapted from [Google's AIP project](https://google.aip.dev/), but also enhanced with improved
25+
guidance for APIs, tooling to generate and validate them, and clients to interact with them. The result is better designed and consumable APIs.
2826
button:
2927
href: /adopting
3028
text: Learn more

pages/general/adopting.md

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
11
# Adopting AEPs for your company
22

3-
Currently, we encourage adoption of AEPs via having your APIs adhere to the
4-
guidance served at https://aep.dev.
3+
By adopting the guidelines from the API Enhancement Proposals, you establish a
4+
much tighter and efficient possibility space. APIs that follow the
5+
[AEP guidance](https://aep.dev) from the design stage:
56

6-
In the future, we plan to introduce a broader ecosystem of tooling including:
7+
- are more consistent within and across teams, reducing cognitive load for API
8+
consumers
9+
- reduce arguments about API design decisions, thanks to the AEP specification,
10+
tools, and exemplar design patterns
711

8-
- A forkable repository which allows for internal mirrors and
9-
organization-specific guidance.
10-
- Client-side and server-side code generators.
11-
- Validators to ensure adherence to the specification.
12+
Having an AEP-compliant API also means benefitting from the AEP ecosystem of
13+
tooling, such as:
14+
15+
- Linters and validators to ensure adherence to the AEP design specification
16+
([proto](https://github.com/aep-dev/api-linter)/[openapi](https://github.com/aep-dev/aep-openapi-linter))
17+
- A dynamic command line interface generator that make it easier to work with
18+
APIs ([aepcli](https://github.com/aep-dev/aepcli))
19+
- Client-side and server-side code generators
20+
([aepc](https://github.com/aep-dev/aepc))
21+
- ... and more! Please start a
22+
[discussion](https://github.com/aep-dev/aep.dev/discussions) if there is
23+
something you wish to see, validate, or prioritize.

pages/general/faq.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
# Frequently Asked Questions
22

3-
## What is the difference between aep.dev and google.aip.dev?
3+
## What are the differences between AEPs and AIPs?
44

5-
As aep.dev is derived from [google.aip.dev](https://google.aip.dev), a lot of
6-
content will be familiar.
5+
If you are familiar with Google's API Improvement Proposals
6+
[google.aip.dev](https://google.aip.dev), then much of the
7+
[API Enhancement Proposals](https://aep.dev) content will be familiar.
78

8-
However, aep.dev has significant philosophical differences:
9+
However, AEPs have notable philosophical differences, including:
910

10-
- aep.dev prioritizes broadly applicable design guidance, while google.aip.dev
11-
prioritizes design guidance this best for Google, such as guidance that is
12-
backwards-compatible with existing decisions at the company.
13-
- aep.dev is protocol-agonistic, and considers gRPC and HTTP + JSON as
14-
first-class protocols for which examples and other content will be authored.
15-
- google.aip.dev encourages forking the guidance, while aep.dev focuses on a
16-
set of core specification that should not be forked, paired with a method to
17-
add organization-specific guidance that does not contradict the
18-
specification.
11+
- AEPs prioritize broadly applicable design guidance for any company, while
12+
AIPs prioritized design guidance specifically for Google (e.g., providing
13+
backwards-compatibility with prior decisions to meet Google-specific needs).
14+
- AEPs are protocol-agonistic and consider both gRPC and HTTP+JSON as
15+
first-class protocols for which examples and other content are necessary.
16+
- AEPs focuses on a core specification that is not intended to be forked,
17+
paired with a mechanism for optional organization-specific guidance to extend
18+
the specification. AIPs encourage forking its guidance outright.
1919

20-
aep.dev also has the advantage of hindsight, which makes it possible in some
21-
cases to provide better guidance than google.aip.dev. (One small example:
22-
renaming `page_size` to `max_page_size` for requests to paginated API methods.)
20+
AEPs also have the advantage of hindsight, which makes it possible in some
21+
cases to provide better guidance. (One small example: renaming `page_size` to
22+
`max_page_size` for requests to paginated API methods.)

0 commit comments

Comments
 (0)