Hexagonal Architecture Feature Scaffolder

Scaffold TypeScript/Next.js features across Hexagonal Architecture layers.

1|Updated Dec 23, 2024
One-click install
npx skills add https://github.com/Qualis/www-qual-is --skill hexagonal-architecture-feature-scaffolder
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Hexagonal Architecture Feature Scaffolder
Source: https://github.com/Qualis/www-qual-is/tree/main/.claude/skills/hexagonal-architecture-scaffolder
Command: npx skills add https://github.com/Qualis/www-qual-is --skill hexagonal-architecture-feature-scaffolder

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill automates the creation of new features within a TypeScript/Next.js project that adheres to Hexagonal Architecture principles, ensuring proper layer separation and maintainability.

Core Features & Use Cases

  • Automated Scaffolding: Generates all necessary files (ports, use cases, repositories, services, DI entries) for a new feature across architectural layers.
  • Enforces Best Practices: Ensures adherence to dependency rules, constructor injection, and colocated testing.
  • Use Case: When a developer needs to add a new "Product" entity to the system, they can use this Skill to generate the IProductRepository, InMemoryProductRepository, FileSystemProductRepository, GetProductBySlugUseCase, ProductService, and update the DI container, all with a single request.

Quick Start

Use the Hexagonal Architecture Feature Scaffolder to create a new feature named 'User'.

Frequently Asked Questions about Hexagonal Architecture Feature Scaffolder

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scaffold a new feature in a TypeScript Next.js project using hexagonal architecture?

Scaffolding a new feature in a TypeScript Next.js project using hexagonal architecture automatically generates domain port interfaces, repository implementations, use cases, services, and dependency injection container updates across all architectural layers.

What files are generated when adding a domain-driven design entity to a hexagonal architecture codebase?

Adding a domain-driven design entity to a hexagonal architecture codebase generates port interfaces, in-memory and file system repository implementations, application use cases, service orchestration methods, and colocated testing patterns to ensure strict layer separation.

Can I automatically update the dependency injection container when creating new use cases in TypeScript?

Yes, you can automatically update the dependency injection container when creating new use cases in TypeScript. The scaffolder modifies the DI container directly to ensure proper constructor injection for newly generated services and repositories.

Does this scaffolding tool enforce constructor injection and layer boundaries in Next.js applications?

Yes, this scaffolding tool enforces constructor injection and layer boundaries in Next.js applications. It ensures strict adherence to hexagonal architecture dependency rules during automated file generation across domain and application layers.

What is the best way to generate in-memory and file system repositories for a hexagonal architecture feature?

The best way to generate in-memory and file system repositories for a hexagonal architecture feature is using an automated scaffolder that creates both implementations alongside port interfaces and use cases to maintain consistent domain-driven design patterns.

Why do I need to colocate testing patterns when scaffolding hexagonal architecture features?

You need to colocate testing patterns when scaffolding hexagonal architecture features to ensure tests remain adjacent to the generated use cases and repository implementations, maintaining strict architectural consistency and simplifying validation of layer boundaries.