hexagonal-architecture

Solid

Describes the hexagonal architecture (ports and adapters) used across the Packmind monorepo. This skill should be used when creating new domain packages, use cases, services, repositories, or any architectural component to follow established patterns.

AI & Automation 287 stars 14 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 85/100

Stars 20%
82
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Hexagonal Architecture - Packmind Monorepo ## Architecture Map Every domain package follows a three-layer hexagonal (ports & adapters) architecture. Dependencies flow **inward only**: Infrastructure -> Application -> Domain. ``` packages/{domain}/src/ ├── domain/ # Pure business logic, zero dependencies │ ├── entities/ # Domain entities and value objects │ ├── repositories/ # Repository interfaces (ports) │ ├── jobs/ # Delayed job definitions │ ├── errors/ # Domain-specific error classes │ ├── utils/ # Domain-specific utility functions │ └── types/ # Domain-specific type definitions │ ├── application/ # Orchestration & coordination │ ├── useCases/{name}/ # One folder per use case │ │ └── {name}.usecase.ts │ ├── services/ # Domain services + service aggregator │ ├── adapter/ # Outbound adapter (implements port) │ ├── listeners/ # Domain event listeners │ └── jobs/ # Delayed job implementations │ ├── infra/ # Concrete implementations │ ├── repositories/ # Repository implementations (TypeORM) │ ├── schemas/ # TypeORM EntitySchema definitions │ └── jobs/ # Job factories │ └── index.ts ...

Details

Author
PackmindHub
Repository
PackmindHub/packmind
Created
8 months ago
Last Updated
today
Language
TypeScript
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category