Skip to content

Latest commit

 

History

History
59 lines (33 loc) · 2.43 KB

CONTRIBUTING.md

File metadata and controls

59 lines (33 loc) · 2.43 KB

Contributing

  1. Create empty package: npx lerna create @cdk-seed/<package-name>
  2. Prepare package: npx jsii-config -p ./packages/<package-name>/package.json

All TypeScript tooling is managed by jsii and generated by running npm build. There is no need to add or modify TypeScript build configuration (e.g. tsconfig.json).

Documentation

To support others who want to use our distributed constructs, we want to ensure that each package distributed by CDK Seed is well documented.

README

Each package should contain a README.md at its root. We use Github Flavored Markdown to render the content into HTML. The README should be formatted as follows:

# <!--Construct Name -->

<!-- A brief description of what the construct's purpose -->

## Use Cases

<!-- Some examples of when a user may want to utilize this construct -->

## Examples

<!-- Examples of how to use the construct -->

## Requirements

<!-- Expectations of user's VPC configuration, etc -->

Code samples can be included alongside text within in markdown files as such:

<div class="code-example">

Below is an example of doing something with code!

</div>

```ts
console.log("Look, I'm doing something!")
```

For more UI components, see the Just the Docs documentation.

NOTE: Just the Docs' examples utilize Kramdown to render its markdown, not Github Flavored Markdown. Being that we use Github Flavored Markdown, shorthand such as {: .btn } is not available. Any non-standard markdown should be written as HTML.

JSDocs

Code documentation is generated automatically from the JSDoc comment blocks provided within the TypeScript source code. At a minimum, every member of the props interface and the exported Construct should be annotated with JSDoc information.

NOTE: At time of writing, it appears that only the @deprecated tag makes its way from the JSDoc annotations to the rendered markdown. As such, content from other tags (e.g. @default) should be duplicated within the textual messaging of the JSDoc description.

Additional Resources