solid-generic

SOLID Generic - TypeScript / Bun / Node.js

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "solid-generic" with this command: npx skills add fusengine/agents/fusengine-agents-solid-generic

SOLID Generic - TypeScript / Bun / Node.js

Agent Workflow (MANDATORY)

Before ANY implementation, use TeamCreate to spawn 3 agents:

  • fuse-ai-pilot:explore-codebase - Analyze project structure and existing patterns

  • fuse-ai-pilot:research-expert - Verify latest TypeScript/Bun docs via Context7

  • mcp__context7__query-docs - Check integration compatibility

After implementation, run fuse-ai-pilot:sniper for validation.

DRY - Reuse Before Creating (MANDATORY)

Before writing ANY new code:

  • Grep the codebase for similar function names, patterns, or logic

  • Check shared locations: modules/cores/lib/ , modules/cores/interfaces/ , modules/cores/errors/

  • If similar code exists -> extend/reuse instead of duplicate

  • If code will be used by 2+ modules -> create in modules/cores/

  • Extract repeated logic (3+ occurrences) into shared helpers

Absolute Rules (MANDATORY)

  1. Files < 100 lines
  • Split at 90 lines - Never exceed 100

  • Modules < 80 lines

  • Services < 60 lines

  • Validators < 40 lines

  1. Interfaces Separated (Modular MANDATORY)

modules/[feature]/src/interfaces/ # Feature types |- user.interface.ts - service.interface.ts modules/cores/interfaces/ # Shared types - shared.interface.ts

NEVER put interfaces in implementation files. NEVER use flat src/ structure - always modules/ .

  1. JSDoc Mandatory

/**

  • Parse configuration from file path.
  • @param filePath - Absolute path to config file
  • @returns Parsed configuration object
  • @throws ConfigError if file is invalid */ export function parseConfig(filePath: string): Config

SOLID Principles (Detailed Guides)

Principle Reference Key Rule

S Single Responsibility single-responsibility.md One file = one reason to change

O Open/Closed open-closed.md Extend via composition, not modification

L Liskov Substitution liskov-substitution.md Implementations honor interface contracts

I Interface Segregation interface-segregation.md Many focused interfaces > one fat interface

D Dependency Inversion dependency-inversion.md Depend on abstractions, inject dependencies

See solid-principles.md for overview and architecture-patterns.md for project structure.

Code Templates

Template Usage Max Lines

module.md TypeScript/Bun module 80

service.md Service with DI 60

interface.md TypeScript interfaces

validator.md Zod validation schemas 40

factory.md Factory pattern 60

error.md Custom error classes 40

test.md Bun test / Vitest

Forbidden

  • Files > 100 lines

  • Interfaces in implementation files

  • Business logic in entry points

  • Missing JSDoc on exports

  • any type

  • Barrel exports (index.ts re-exports)

  • Duplicating existing utility without Grep search first

  • Copy-pasting logic blocks instead of extracting shared function

  • Concrete dependencies without interface abstraction

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-quality

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-livewire

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-blade

No summary provided by upstream source.

Repository SourceNeeds Review