Claude Code Plugins

Community-maintained marketplace

Feedback

naming-conventions

@JasonDocton/rad-claude
0
0

Consistent naming patterns for files, variables, types, and exports

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name naming-conventions
description Consistent naming patterns for files, variables, types, and exports

Naming Conventions

Purpose: Consistent, readable naming patterns (improve clarity, maintainability)

  • Keywords: naming, variable, function, class, interface, type, const, camelCase, PascalCase, kebab-case, snake_case

Quick Reference

Category Convention Examples
Files kebab-case order-form.tsx, checkout-modal.tsx
Files (Convex) snake_case convex/stripe_webhook.ts
Variables/Functions camelCase selectedAmount, handleSubmit
Types/Interfaces PascalCase PaymentMethod, ButtonProps
Constants camelCase + as const minOrderAmount
Generics Descriptive TItem, TData, TError
Booleans Prefixed isValid, hasError, canSubmit
DB/API Fields snake_case transaction_id, _creationTime

Clear Prefixes

// Functions
function handleSubmit() { }
function getOrderTotal() { }
function isValidEmail() { }
function buildPayload() { }

// Booleans
const isLoading = true
const hasError = false
const canProceed = true
const didComplete = false
const willExpire = true
const shouldRetry = false

Modern Constants

const bitcoinConfirmations = { mainnet: 3 } as const
const paymentMethods = ["card", "bitcoin"] as const

Avoid Old Patterns

// ❌ ALL_CAPS (outdated)
const MAX_AMOUNT = 100

// ❌ Single-letter generics (complex cases)
function map<T, U>(items: T[]): U[]

// ✅ Descriptive generics
function map<TItem, TResult>(items: TItem[]): TResult[]

Named Exports (Default)

// ✅ Prefer named
export function OrderForm() { }
export const config = { }

// Default only when framework requires (Next.js pages)
export default function Page() { }

Convex Exception

Convex requires snake_case for function files:

// ✅ convex/stripe_webhook.ts
// ✅ convex/bitcoin_mutations.ts

Props Naming

interface ButtonProps {
  variant: "primary" | "secondary"
  onClick: () => void
}

export function Button({ variant, onClick }: ButtonProps) { }