eser

design-principles

@eser/design-principles
eser
83
4 forks
Updated 1/6/2026
View on GitHub

Code design patterns: pure functions, immutability, composition, and async. Use when designing code or functions.

Installation

$skills install @eser/design-principles
Claude Code
Cursor
Copilot
Codex
Antigravity

Details

Repositoryeser/stack
Path.claude/skills/design-principles/SKILL.md
Branchmain
Scoped Name@eser/design-principles

Usage

After installing, this skill will be available to your AI coding assistant.

Verify installation:

skills list

Skill Instructions


name: design-principles description: Code design patterns: pure functions, immutability, composition, and async. Use when designing code or functions.

Code Design Principles

Patterns for writing clean, maintainable, and testable code.

Quick Start

// Pure function with immutability
function updateUser(user: User, age: number): User {
  return { ...user, age }; // new object, no mutation
}

Key Principles

  • Pure functions: no side effects, same input = same output
  • Immutability: create new objects/arrays instead of mutating
  • Single responsibility: one function = one task
  • Early returns: reduce nesting, improve readability
  • Composition over inheritance: inject dependencies
  • Promises over callbacks for async code
  • Template strings over concatenation
  • Plain objects for data, classes only for stateful services
  • Avoid global variables and getters/setters
  • Lazy initialization: no module-level side effects, wrap in getter functions

References

See rules.md for complete guidelines with examples.