coding-standardslisted
Install: claude install-skill AppVerk/av-marketplace
# Coding Standards — TypeScript + React
## Overview
Foundational rules for TypeScript + React development. Enforced in all code:
- Strict TypeScript configuration
- React best practices
- Feature-based architecture (Bulletproof React)
- Three-layer separation of concerns
- Naming conventions
- ESLint rules
---
## TypeScript Hard Rules
<HARD-RULES>
These rules are NON-NEGOTIABLE. Violating any of them is a bug.
- NEVER use `any` — use `unknown` + type guards instead
- NEVER use `as` type assertions except `as const`
- NEVER use `!` non-null assertion — use optional chaining `?.` and nullish coalescing `??`
- NEVER use `enum` — use `as const` objects + derived union types
- NEVER use `@ts-ignore` — use `@ts-expect-error` with comment if absolutely unavoidable
- ALWAYS use `interface` for object shapes, `type` for unions/intersections
- NEVER use `I` prefix on interfaces (`User`, not `IUser`)
- ALWAYS use `import type { }` for type-only imports
- ALWAYS annotate all function parameters and return types explicitly
- NEVER use `export *` or barrel exports >5 re-exports
- NEVER leave unused imports or variables
</HARD-RULES>
### Configuration Requirements
**tsconfig.json MUST include:**
```json
{
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true,
"isolatedModules": true,
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictBindCallApply": true,
"strictProperty