Agent skill

di-mockable-services

Design injectable, mockable services (interfaces + composition root)

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/di-mockable-services

Metadata

Additional technical details for this skill

stack
node-react-next
style
solid-clean-code

SKILL.md

What I do

Je standardise la DI (injection de dépendances) et la conception mockable.

Core rules

  • Écrire le contrat d'abord : IUserApi, UserRepository, etc.
  • Les hooks/use-cases dépendent des interfaces.
  • Les implémentations concrètes vivent dans infra/.
  • Le seul endroit qui instancie l'infra est le composition root.

Example (frontend service)

ts
export interface IUserApi {
  getById(id: string): Promise<UserDTO>;
}

export class UserApi implements IUserApi {
  constructor(private readonly http: HttpClient) {}
  getById(id: string) { return this.http.get(`/users/${id}`); }
}

export class FakeUserApi implements IUserApi {
  async getById(id: string) { return { id, name: 'Test' }; }
}

Testing guidance

  • En test, remplacer via le container : container.userApi = new FakeUserApi().
  • Éviter les mocks globaux non typés.

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results