AgentSkillsCN

import-conventions

为类型、函数、文件与资源制定命名规范。适用于创建新代码或审查命名模式时使用。强调以类型驱动开发为核心。

SKILL.md
--- frontmatter
name: import-conventions
description: Import conventions and ordering rules. Use when writing imports or organizing import statements. Enforces explicit named imports, never wildcards.

Import Conventions

Explicit Named Imports

ALWAYS use explicit named imports. NEVER use wildcard imports.

typescript
// CORRECT
import {Stack, Duration, RemovalPolicy} from 'aws-cdk-lib';
import {Bucket, BucketEncryption, BlockPublicAccess} from 'aws-cdk-lib/aws-s3';
import {Function, Runtime, Code} from 'aws-cdk-lib/aws-lambda';

// INCORRECT - Never do this
import * as cdk from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';

Import Order

Organize imports in this order:

  1. Node.js built-in modules
  2. External dependencies (@aws-sdk/*, third-party)
  3. AWS CDK (constructs, aws-cdk-lib)
  4. Internal monorepo packages (@cdk-constructs/*)
  5. Local imports (./, ../)
typescript
import {readFileSync} from 'fs';

import {SecretsManagerClient} from '@aws-sdk/client-secrets-manager';

import {Construct} from 'constructs';
import {Stack, Duration} from 'aws-cdk-lib';
import {Bucket} from 'aws-cdk-lib/aws-s3';

import {Account, Region, Environment} from '@cdk-constructs/aws';
import {CodeArtifactStackProps} from '@cdk-constructs/codeartifact';

import {MyLocalType} from './types/my-types';

Workspace Package Imports

When importing from workspace packages, use the package name:

typescript
// CORRECT
import {Account, Region} from '@cdk-constructs/aws';
import {createCodeArtifact} from '@cdk-constructs/codeartifact';

// INCORRECT - Don't use relative paths to packages
import {Account} from '../../packages/aws/src';