# Engineering Standards

> Use when writing or refactoring Java, Spring Boot, React, or TypeScript code to ensure clean code, SOLID principles, immutability, and robust exception handling.

- Skill: `sahilkhan30/engineering-standards` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sahilkhan30/engineering-standards`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sahilkhan30/engineering-standards/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: SahilKhan30 (https://skillmd.com/u/sahilkhan30)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/sahilkhan30/engineering-standards

---


# Engineering Standards Skill

## Purpose
Enforce clean code practices, SOLID principles, immutability, and strong error handling across full-stack financial codebases.

---

## 1. Core Principles

### MANDATORY
- **Immutability**: Use Java `record` types for DTOs/API contracts and TypeScript `readonly` / immutable patterns.
- **Explicit Error Handling**: Centralize exception handling in Spring `@RestControllerAdvice` and React Error Boundaries.
- **Fail Fast**: Validate request payloads using standard annotations (`@NotNull`, `@NotBlank`, `@Positive`) at REST boundaries.

### MUST NOT
- Catch generic `Exception` blindly without logging or proper HTTP status mapping.
- Suppress stack traces or return empty generic error bodies (`500 Internal Error` without error code).
- Invent requirements or force unneeded abstractions.

