Skip to main content

code-quality-excellence

Enforces code quality standards for Black Trigram — maintainable, type-safe TypeScript with low complexity, organized imports, explicit error handling, and search-before-create discipline

Informations de source

Dépôt
Hack23/blacktrigram
Dernière activité de la source
17 avril 2026 à 18:48
Langue détectée de SKILL.md
anglais
Étoiles
8
Forks
7

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
code-quality-excellence
description
Enforces code quality standards for Black Trigram — maintainable, type-safe TypeScript with low complexity, organized imports, explicit error handling, and search-before-create discipline
license
MIT
# ✨ Code Quality Excellence Skill > **Strategic Principle**: High-quality code is reusable, type-safe, maintainable, and testable by design. ## 🎯 Purpose Enforce code quality standards for Black Trigram, ensuring every line of code contributes to a maintainable, secure, and efficient codebase following Hack23 AB standards. **Reference**: [Hack23 ISMS Secure Development Policy](https://github.com/Hack23/ISMS-PUBLIC/blob/main/Secure_Development_Policy.md) ## Enforcement Rules ### Rule 1: Code Reusability ``` IF (creating new code) THEN (search existing src/types/, src/utils/, src/components/ first) ELSE (reject duplicate code - extend existing implementations) ``` ### Rule 2: Strict TypeScript ``` IF (any TypeScript code) THEN (no 'any' types, no type assertions without justification, readonly properties for interfaces) ELSE (reject - type safety is non-negotiable) ``` ### Rule 3: Function Complexity ``` IF (function cyclomatic complexity > 10 OR lines > 50) THEN (refactor into smaller, focused functions) ELSE (maintain single responsibility principle) ``` ### Rule 4: Import Organization ``` IF (import statements in file) THEN (organize: 1) React/Three.js 2) External libs 3) Internal modules 4) Types 5) Constants) ELSE (maintain consistent import ordering) ``` ### Rule 5: Error Handling ``` IF (operation can fail: async, DOM access, external data) THEN (handle errors explicitly with try/catch or null coalescing) ELSE (unhandled errors crash the game) ``` ## Core Patterns ### Reusable Code Locations ``` src/types/ → Type definitions (constants.ts, common.ts) src/utils/ → Utility functions src/components/ui/ → Reusable UI components src/systems/ → Game systems (combat, audio) src/hooks/ → Custom React hooks ``` ### Type Safety ```typescript // ✅ GOOD: Strict types with readonly export interface CombatResult { readonly damage: number; readonly stanceBonus: number; readonly vitalPointHit: boolean; readonly effects: readonly StatusEffect[]; } // ❌ BAD: Loose types interface CombatResult { damage: any; stanceBonus: number; vitalPointHit: boolean; effects: StatusEffect[]; } ``` ### Null Safety ```typescript // ✅ GOOD: Null coalescing const playerName = player?.name ?? 'Unknown'; const damage = calculateDamage(attack) ?? 0; // ❌ BAD: Truthy check (misses 0, '') const damage = calculateDamage(attack) || 0; ``` ### Function Design ```typescript // ✅ GOOD: Small, focused, typed export function calculateEffectiveDamage( baseDamage: number, stanceMultiplier: number, archetypeBonus: number, ): number { return Math.round(baseDamage * stanceMultiplier * (1 + archetypeBonus)); } // ❌ BAD: Large function doing too many things export function combat(attacker: any, defender: any) { // 100+ lines of mixed concerns } ``` ## Anti-Patterns - ❌ `as any` type assertions - ❌ Non-null assertions (`value!`) without justification - ❌ `console.log` in production code (use proper logging) - ❌ Magic numbers without named constants - ❌ Mutable state where immutable works - ❌ Deep nesting (>3 levels) - ❌ Functions with >5 parameters (use options object) ## Quality Metrics | Metric | Target | Tool | |--------|--------|------| | TypeScript errors | 0 | `npm run check` | | ESLint warnings | 0 | `npm run lint` | | Test coverage | >90% | `npm run coverage` | | Unused code | 0 | `npm run find:unused` | | License compliance | 100% | `npm run test:licenses` | ## Compliance - **ISO 27001:2022**: A.8.25 (Secure development lifecycle) - **NIST CSF 2.0**: PR.DS (Data Security) - **CIS Controls v8.1**: 16 (Application Software Security) - **Hack23 ISMS**: Secure Development Policy --- **흑괘의 품질** - _Quality of the Black Trigram_
Voir sur GitHub