diff --git a/DESIGN_GUIDELINES.md b/DESIGN_GUIDELINES.md index 822965e702bf4..807528f8f6d42 100644 --- a/DESIGN_GUIDELINES.md +++ b/DESIGN_GUIDELINES.md @@ -9,9 +9,10 @@ the AWS Construct Library in order to ensure a consistent and integrated experience across the entire AWS surface area. As much as possible, the guidelines in this document are enforced using the -**awslint** tool which reflects on the APIs and verifies that the APIs adhere to -the guidelines. When a guideline is backed by a linter rule, the rule name will -be referenced like this: _[awslint:resource-class-is-construct]_. +[**awslint** tool](https://www.npmjs.com/package/awslint) which reflects on the +APIs and verifies that the APIs adhere to the guidelines. When a guideline is +backed by a linter rule, the rule name will be referenced like this: +_[awslint:resource-class-is-construct]_. For the purpose of this document we will use "Foo" to denote the official name of the resource as defined in the AWS CloudFormation resource specification @@ -147,9 +148,9 @@ behavior through interfaces and not through inheritance. Construct classes should extend only one of the following classes [_awslint:construct-inheritence_]: -* The **Resource** class (if it represents an AWS resource) The **Construct** -* class (if it represents an abstract component) The **XxxBase** class (which, -* in turn extends **Resource**) +* The **Resource** class (if it represents an AWS resource) +* The **Construct** class (if it represents an abstract component) +* The **XxxBase** class (which, in turn extends **Resource**) All constructs must define a static type check method called **isFoo** with the following implementation [_awslint:static-type-check_]: