skills/ddd-skills/ddd-hexagonal-architecture/SKILL.md
Provides comprehensive guidance for hexagonal architecture including ports and adapters, domain isolation, and dependency inversion. Use when the user asks about hexagonal architecture, needs to implement ports and adapters pattern, or structure applications with hexagonal architecture.
npx skillsauth add partme-ai/full-stack-skills ddd-hexagonal-architectureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill whenever the user wants to:
// Domain port — no framework dependencies
public interface UserRepository {
Optional<User> findById(UserId id);
void save(User user);
}
public interface EventPublisher {
void publish(DomainEvent event);
}
@RestController
@RequestMapping("/api/users")
public class UserController {
private final CreateUserUseCase createUserUseCase;
public UserController(CreateUserUseCase createUserUseCase) {
this.createUserUseCase = createUserUseCase;
}
@PostMapping
public ResponseEntity<UserDto> create(@RequestBody CreateUserRequest request) {
User user = createUserUseCase.execute(request.toCommand());
return ResponseEntity.ok(UserDto.from(user));
}
}
@Repository
public class JpaUserRepository implements UserRepository {
private final SpringDataUserRepository springRepo;
@Override
public Optional<User> findById(UserId id) {
return springRepo.findById(id.value()).map(UserEntity::toDomain);
}
@Override
public void save(User user) {
springRepo.save(UserEntity.fromDomain(user));
}
}
com.example.app/
├── domain/
│ ├── model/ # Entities, Value Objects
│ ├── port/ # Repository and service interfaces
│ └── service/ # Domain services
├── application/
│ └── usecase/ # Use cases orchestrating domain logic
├── adapter/
│ ├── inbound/ # HTTP controllers, message consumers
│ └── outbound/ # Database, HTTP clients, message publishers
└── config/ # Dependency injection wiring
hexagonal architecture, ports and adapters, domain isolation, dependency inversion, inbound adapter, outbound adapter, clean boundaries, DDD
development
Provides per-component and per-API examples with cross-platform compatibility details for uni-app, covering built-in components, uni-ui components, and APIs (network, storage, device, UI, navigation, media). Use when the user needs official uni-app components or APIs, wants per-component examples with doc links, or needs platform compatibility checks.
tools
Creates new uni-app projects via the official CLI or HBuilderX with Vue 2/Vue 3 template selection, manifest.json and pages.json configuration, and directory structure setup. Use when the user wants to scaffold a new uni-app project, initialize project files with a single command, or set up the development environment.
tools
Browses, installs, configures, and manages plugins from the uni-app plugin market (ext.dcloud.net.cn) including component plugins, API plugins, and template plugins with dependency handling. Use when the user needs to find and install uni-app plugins, configure plugin settings, manage plugin dependencies, or integrate third-party components.
tools
Develops native Android and iOS plugins for uni-app including module creation, JavaScript-to-native communication, and plugin packaging for distribution. Use when the user needs to build custom native modules, extend uni-app with native capabilities (camera, Bluetooth, sensors), or create publishable native plugins.