Help us improve
Share bugs, ideas, or general feedback.
From fuse-solid
SOLID principles for generic TypeScript, Bun, and Node.js projects. Files < 100 lines, interfaces separated, JSDoc mandatory. Use for CLI tools, libraries, scripts, hooks, and non-framework TypeScript code.
npx claudepluginhub fusengine/agents --plugin fuse-solidHow this skill is triggered — by the user, by Claude, or both
Slash command
/fuse-solid:solid-genericThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before ANY implementation, use `TeamCreate` to spawn 3 agents:
references/architecture-patterns.mdreferences/dependency-inversion.mdreferences/interface-segregation.mdreferences/liskov-substitution.mdreferences/open-closed.mdreferences/single-responsibility.mdreferences/solid-principles.mdreferences/templates/error.mdreferences/templates/factory.mdreferences/templates/interface.mdreferences/templates/module.mdreferences/templates/service.mdreferences/templates/test.mdreferences/templates/validator.mdSOLID principles for React 19. Files < 100 lines, hooks separated, interfaces in src/interfaces/, JSDoc mandatory. Use for React architecture and code quality.
This skill should be used when the user asks about "SOLID principles", "Next.js architecture", "modular structure", "code organization", "file size limits", "interface separation", or "JSDoc documentation". Enforces files < 100 lines with mandatory JSDoc and separated interfaces.
SOLID principles for Python 3.12+. Files < 100 lines, interfaces separated, modular architecture. Modules MANDATORY.
Share bugs, ideas, or general feedback.
Before ANY implementation, use TeamCreate to spawn 3 agents:
After implementation, run fuse-ai-pilot:sniper for validation.
Before writing ANY new code:
modules/cores/lib/, modules/cores/interfaces/, modules/cores/errors/modules/cores/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/.
/**
* 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
| # | 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.
| 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 | - |
any type