원클릭으로
documentation-standards
JSDoc/TSDoc standards for documenting types, functions, and constructs. Use when writing or reviewing documentation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
JSDoc/TSDoc standards for documenting types, functions, and constructs. Use when writing or reviewing documentation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Patterns and standards for creating new AWS service subpackages in the monorepo. Use when adding new service packages like Lambda, DynamoDB, Step Functions, etc.
Build commands, build order, TypeScript configuration, and CDK deployment. Use when building packages, troubleshooting build issues, or deploying stacks.
Claude Code specific instructions for working with this CDK monorepo. General guidance on code generation, refactoring, and feature additions.
Step-by-step guides for common development tasks like adding constructs, creating packages, and using workspace packages. Use when performing routine development tasks.
CDK construct development patterns, design principles, and type-driven development. Use when building or modifying AWS CDK constructs.
Formatting and linting standards using GTS, ESLint, and Prettier. Use when writing or formatting TypeScript code in this project.
| name | documentation-standards |
| description | JSDoc/TSDoc standards for documenting types, functions, and constructs. Use when writing or reviewing documentation. |
This project uses TSDoc (TypeScript Documentation) for all code documentation. TSDoc is the TypeScript-specific standard built on JSDoc.
Inline TSDoc provides quick reference for IDE tooltips. Comprehensive guides, tutorials, and detailed examples belong in /docs directories within each subpackage.
{@link TypeName}@public, @internal, or @private/** Brief one-line description. */
propertyName: string;
/** Optional property description. @defaultValue `default-value` */
optionalProperty?: number;
/**
* Brief description of what this type represents (1-2 sentences).
*
* @example
* ```typescript
* const example: MyType = {
* property: 'value',
* };
* ```
*
* @see {@link RelatedType} for related functionality
* @public
*/
export type MyType = {
/** Property description. */
property: string;
};
/**
* Brief description of what this function does.
*
* @remarks
* Only include critical prerequisites or warnings here.
*
* @param paramName - Brief parameter description
* @returns Brief return description (only if needed)
*
* @example
* ```typescript
* const result = myFunction(param);
* ```
*
* @see {@link RelatedFunction} for related functionality
* @public
*/
export const myFunction = (paramName: string): ReturnType => {
// Implementation
};
The first paragraph is always the main description. Keep it brief (1-2 sentences).
/**
* Creates an Aurora PostgreSQL cluster with optimized settings.
*/
@param - Parameter DocumentationOne-line description per parameter.
/**
* @param scope - The CDK construct scope
* @param id - Unique identifier for this construct
* @param props - Configuration properties
*/
@public / @internal / @private - API VisibilityAlways tag the visibility.
/**
* Creates an Aurora cluster for production use.
* @public
*/
@remarks - Critical Information OnlyUse only for critical prerequisites, warnings, or non-obvious behavior.
/**
* @remarks
* Requires VPC with at least 2 private subnets in different AZs.
*/
@returns - Return Value DescriptionOnly include if the return value needs clarification beyond the type signature.
/**
* @returns The created cluster with monitoring enabled
*/
@example - Single Simple ExampleOne example maximum. Keep it simple and basic usage only.
/**
* @example
* ```typescript
* const cluster = createAuroraCluster(this, 'MyCluster', {
* vpc: myVpc,
* databaseName: 'production-db',
* });
* ```
*/
@see - Related ReferencesLink to related types or functions.
/**
* @see {@link AuroraClusterProps} for configuration options
*/
@defaultValue - Default ValuesUse inline for optional properties.
/** Instance type for the cluster. @defaultValue `r6g.large` */
instanceType?: InstanceType;
@deprecated - Deprecation NoticeMark deprecated APIs with brief migration guidance.
/**
* @deprecated Use {@link createAuroraClusterV2} instead. Will be removed in v2.0.0.
*/
/**
* Configuration properties for Aurora PostgreSQL cluster.
*
* @example
* ```typescript
* const props: AuroraClusterProps = {
* vpc: myVpc,
* databaseName: 'production-db',
* };
* ```
*
* @public
*/
export type AuroraClusterProps = {
/** VPC where the cluster will be deployed. */
vpc: IVpc;
/** Name of the database to create. */
databaseName: string;
/** Instance type for the cluster. @defaultValue `r6g.large` */
instanceType?: InstanceType;
};
/**
* Creates an Aurora PostgreSQL cluster with production-ready configuration.
*
* @remarks
* Requires VPC with at least 2 private subnets in different AZs.
*
* @param scope - The CDK construct scope
* @param id - Unique identifier for this construct
* @param props - Configuration properties for the cluster
* @returns The created Aurora cluster instance
*
* @example
* ```typescript
* const cluster = createAuroraCluster(this, 'MyCluster', {
* vpc: myVpc,
* databaseName: 'production',
* });
* ```
*
* @see {@link AuroraClusterProps} for configuration options
* @public
*/
export const createAuroraCluster = (scope: Construct, id: string, props: AuroraClusterProps): DatabaseCluster => {
// Implementation
};
/**
* AWS Account ID enumeration for multi-account deployments.
*
* @example
* ```typescript
* const env = {
* account: Account.PROD,
* region: 'us-east-1',
* };
* ```
*
* @see {@link EnvironmentConfig} for environment configuration
* @public
*/
export enum Account {
/** Build account for CI/CD and artifact generation. */
BUILD = '000000000000',
/** Development account for active development and testing. */
DEV = '111111111111',
}
/**
* Creates a CodeArtifact repository with domain configuration.
*
* @example
* ```typescript
* new CodeArtifactStack(this, 'CodeArtifact', {
* account: Account.BUILD,
* region: Region.US_EAST_1,
* name: Environment.BUILD,
* owner: 'platform-team',
* codeArtifactDomainName: 'my-domain',
* codeArtifactRepositoryName: 'my-repo',
* });
* ```
*
* @public
*/
export class CodeArtifactStack extends Stack {
/**
* Creates a new CodeArtifact stack.
*
* @param scope - The parent construct
* @param id - Unique identifier for this stack
* @param props - Stack properties including environment config
*/
constructor(scope: Construct, id: string, props: CodeArtifactStackPropsWithEnv) {
// Implementation
}
}
export type Props = {
/**
* The name of the database.
*
* @remarks
* Must be 1-63 characters, alphanumeric and underscores only.
* Cannot start with a number. This follows AWS RDS naming conventions.
* The database will be created automatically during cluster provisioning.
*/
databaseName: string;
};
export type Props = {
/** Name of the database to create. */
databaseName: string;
};
/**
* @example
* Basic usage:
* ```typescript
* const cluster = create(...);
* ```
*
* @example
* Advanced usage:
* ```typescript
* const cluster = create(..., {advanced: true});
* ```
*/
/**
* @example
* ```typescript
* const cluster = create(this, 'Cluster', {vpc: myVpc});
* ```
*/
/**
* Loops through subnets and creates security groups using CDK's Subnet class
*/
/**
* Configures database in private subnets for security.
*/
/**
* @remarks
* This construct provides the following features:
* 1. Automatic backups with 7-day retention
* 2. CloudWatch monitoring with custom alarms
* 3. Secrets Manager integration for credentials
* 4. Multi-AZ deployment for high availability
* 5. Encryption at rest using KMS
* 6. Enhanced monitoring with 60-second granularity
*
* To use this construct, first create a VPC...
*/
/**
* @remarks
* Requires VPC with at least 2 private subnets in different AZs.
*/
Before committing, ensure:
@param@public, @internal, @private)/** */ format@example maximum@remarks only for critical prerequisites/warnings{@link TypeName} where relevant/docs)TSDoc comments integrate with:
Comprehensive guides belong in /docs directories within each subpackage.