smithery.ai

naming-conventions

Naming conventions for types, functions, files, and resources. Use when creating new code or reviewing naming patterns. Emphasizes type-driven development.

First seen Mar 21, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,372 B
  • docs SUMMARY.md 181 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Naming Conventions

Type Naming

Use type declarations, not interface. This codebase follows type-driven development.

Type Convention Example
Types, Enums PascalCase EnvironmentConfig, CodeArtifactStackProps, BucketProps
Functions, Variables camelCase createBucket, bucketName
AWS Resource Names kebab-case my-bucket-dev-use1
Enum Values SCREAMINGSNAKECASE Account.PROD, Region.USEAST1

Type Naming Pattern:

// CORRECT - Use type declarations
export type BucketProps = {
    bucketName: string;
    env: EnvironmentConfig['env'];
};

export type EnvironmentConfig = {
    name: string;
    region: string;
    account: string;
};

// INCORRECT - Don't use interface
export interface BucketProps {
    // ❌
    bucketName: string;
}

Resource Naming Pattern

Include environment and region to prevent naming collisions:

// Resource naming pattern
`${resourceName}-${props.env.name}-${props.env.region}`
// Examples
`aurora-cluster-dev-use1``api-gateway-prod-use1``waf-acl-staging-use1`;

Function Naming

Use verbNoun pattern for function names:

// CORRECT
export const createBucket = () => {};
export const getVpcConfig = () => {};
export const updateSecurityGroup = () => {};

// INCORRECT
export const bucketCreate = () => {};
export const VpcConfigGet = () => {};

File Naming

  • Constructs: kebab-case.ts (e.g., api-gateway.ts)
  • Types: kebab-case-type.ts or kebab-case.ts in types directory
  • Enums: kebab-case-enum.ts or kebab-case.ts in enum directory
  • Utilities: kebab-case.ts in util directory

Export Patterns

  • Each package exports from src/index.ts
  • Root package exports from src/index.ts
  • Use named exports, avoid default exports where possible