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.
From fuse-solidnpx claudepluginhub fusengine/agents --plugin fuse-solidThis skill uses the workspace's default tool permissions.
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.mdImplements eval-driven development (EDD) for Claude Code with capability/regression evals, pass@k metrics, and code/model/human graders for measuring agent reliability.
Prevents silent EVM token decimal mismatch bugs via runtime decimals() queries, chain-token caching, bridged asset handling, and normalization. For Python/Web3, TypeScript/ethers, Solidity in bots, dashboards, DeFi.
Manages long-lived agent workloads with runtime lifecycle, observability, safety controls, metrics tracking, incident response, and integrations for PM2, systemd, containers, CI/CD.
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