archrip 0.2.9 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,10 +48,10 @@ MVC / Layered:
48
48
  - FastAPI: External(0) → Routers(1) → Services(2) → Repositories(3) → Domain(4)
49
49
 
50
50
  DDD / Clean Architecture / Hexagonal (use `"layout": "concentric"`):
51
- - Generic: External(0) → Adapters(1) [Controllers, DB impl, API clients] → Application Services(2) Ports(3) [domain-defined interfaces] → Domain(4)
52
- - Go (Hex): External(0) → Adapters(1) [Handlers, Repositories] → Use Cases(2) Ports(3) → Domain(4)
51
+ - Generic: External(0) → Adapters(1) [Controllers, DB impl, API clients] → Application Core(2) [Use Cases / Application Services, Ports] → Domain(3)
52
+ - Go (Hex): External(0) → Adapters(1) [Handlers, Repositories] → Application Core(2) [Use Cases, Ports] → Domain(3)
53
53
  - Flutter (Clean): External(0) → Data Sources(1) → Repositories(2) → Use Cases(3) → Domain(4)
54
- - Note: Ports are interfaces **defined by the domain** they belong near domain core, not at the adapter layer. Adapters implement/use Ports from the outside.
54
+ - Note: Ports are interfaces owned by the **application core** (use cases / application services; sometimes placed in domain, but not required). Adapters implement outbound Ports and call inbound Ports. For layering, Ports should be at the same layer as the application core (or 1 step closer to Domain), never at the adapter layer.
55
55
 
56
56
  CQRS / Event-Driven:
57
57
  - CQRS: External(0) → Command Handlers / Query Handlers(1) → Application Services(2) → Domain(3). Command and Query sides share the same layer structure but separate models
@@ -161,7 +161,7 @@ After writing the file:
161
161
 
162
162
  ### Node Rules
163
163
  - `id`: kebab-case, prefixed by category abbreviation (ctrl-, svc-, port-, adpt-, model-, db-, ext-, job-, dto-)
164
- - `layer`: non-negative integer. **Higher = closer to domain core / more stable. Lower = closer to external world / more volatile.** Dagre (TB) places higher layers lower on screen; concentric places them at center. Use as many layers as the architecture requires (typically 3-6). Example for DDD: 0=external, 1=adapters (controllers + infra), 2=app services, 3=ports, 4=domain. Example for MVC: 0=external, 1=controllers, 2=services, 3=domain.
164
+ - `layer`: non-negative integer. **Higher = closer to domain core / more stable. Lower = closer to external world / more volatile.** Dagre (TB) places higher layers lower on screen; concentric places them at center. Use as many layers as the architecture requires (typically 3-6). Example for DDD/Hex: 0=external, 1=adapters (controllers + infra), 2=application core (use cases/app services + ports), 3=domain. Example for MVC: 0=external, 1=controllers, 2=services, 3=domain.
165
165
  - `category`: one of controller, service, port, adapter, model, database, external, job, dto (or custom). Use `model` for domain entities/value objects (core business logic). Use `database` for DB tables, migrations, ORMs, and infrastructure persistence.
166
166
  - `label`: display name for the node
167
167
  - `description`: 1-3 sentences explaining responsibility + business context. Do NOT just echo the label. Cross-reference documentation for richer context (see Description Guidelines below)
@@ -48,10 +48,10 @@ MVC / Layered:
48
48
  - FastAPI: External(0) → Routers(1) → Services(2) → Repositories(3) → Domain(4)
49
49
 
50
50
  DDD / Clean Architecture / Hexagonal (use `"layout": "concentric"`):
51
- - Generic: External(0) → Adapters(1) [Controllers, DB impl, API clients] → Application Services(2) Ports(3) [domain-defined interfaces] → Domain(4)
52
- - Go (Hex): External(0) → Adapters(1) [Handlers, Repositories] → Use Cases(2) Ports(3) → Domain(4)
51
+ - Generic: External(0) → Adapters(1) [Controllers, DB impl, API clients] → Application Core(2) [Use Cases / Application Services, Ports] → Domain(3)
52
+ - Go (Hex): External(0) → Adapters(1) [Handlers, Repositories] → Application Core(2) [Use Cases, Ports] → Domain(3)
53
53
  - Flutter (Clean): External(0) → Data Sources(1) → Repositories(2) → Use Cases(3) → Domain(4)
54
- - Note: Ports are interfaces **defined by the domain** they belong near domain core, not at the adapter layer. Adapters implement/use Ports from the outside.
54
+ - Note: Ports are interfaces owned by the **application core** (use cases / application services; sometimes placed in domain, but not required). Adapters implement outbound Ports and call inbound Ports. For layering, Ports should be at the same layer as the application core (or 1 step closer to Domain), never at the adapter layer.
55
55
 
56
56
  CQRS / Event-Driven:
57
57
  - CQRS: External(0) → Command Handlers / Query Handlers(1) → Application Services(2) → Domain(3). Command and Query sides share the same layer structure but separate models
@@ -161,7 +161,7 @@ After writing the file:
161
161
 
162
162
  ### Node Rules
163
163
  - `id`: kebab-case, prefixed by category abbreviation (ctrl-, svc-, port-, adpt-, model-, db-, ext-, job-, dto-)
164
- - `layer`: non-negative integer. **Higher = closer to domain core / more stable. Lower = closer to external world / more volatile.** Dagre (TB) places higher layers lower on screen; concentric places them at center. Use as many layers as the architecture requires (typically 3-6). Example for DDD: 0=external, 1=adapters (controllers + infra), 2=app services, 3=ports, 4=domain. Example for MVC: 0=external, 1=controllers, 2=services, 3=domain.
164
+ - `layer`: non-negative integer. **Higher = closer to domain core / more stable. Lower = closer to external world / more volatile.** Dagre (TB) places higher layers lower on screen; concentric places them at center. Use as many layers as the architecture requires (typically 3-6). Example for DDD/Hex: 0=external, 1=adapters (controllers + infra), 2=application core (use cases/app services + ports), 3=domain. Example for MVC: 0=external, 1=controllers, 2=services, 3=domain.
165
165
  - `category`: one of controller, service, port, adapter, model, database, external, job, dto (or custom). Use `model` for domain entities/value objects (core business logic). Use `database` for DB tables, migrations, ORMs, and infrastructure persistence.
166
166
  - `label`: display name for the node
167
167
  - `description`: 1-3 sentences explaining responsibility + business context. Do NOT just echo the label. Cross-reference documentation for richer context (see Description Guidelines below)
@@ -48,10 +48,10 @@ MVC / Layered:
48
48
  - FastAPI: External(0) → Routers(1) → Services(2) → Repositories(3) → Domain(4)
49
49
 
50
50
  DDD / Clean Architecture / Hexagonal (use `"layout": "concentric"`):
51
- - Generic: External(0) → Adapters(1) [Controllers, DB impl, API clients] → Application Services(2) Ports(3) [domain-defined interfaces] → Domain(4)
52
- - Go (Hex): External(0) → Adapters(1) [Handlers, Repositories] → Use Cases(2) Ports(3) → Domain(4)
51
+ - Generic: External(0) → Adapters(1) [Controllers, DB impl, API clients] → Application Core(2) [Use Cases / Application Services, Ports] → Domain(3)
52
+ - Go (Hex): External(0) → Adapters(1) [Handlers, Repositories] → Application Core(2) [Use Cases, Ports] → Domain(3)
53
53
  - Flutter (Clean): External(0) → Data Sources(1) → Repositories(2) → Use Cases(3) → Domain(4)
54
- - Note: Ports are interfaces **defined by the domain** they belong near domain core, not at the adapter layer. Adapters implement/use Ports from the outside.
54
+ - Note: Ports are interfaces owned by the **application core** (use cases / application services; sometimes placed in domain, but not required). Adapters implement outbound Ports and call inbound Ports. For layering, Ports should be at the same layer as the application core (or 1 step closer to Domain), never at the adapter layer.
55
55
 
56
56
  CQRS / Event-Driven:
57
57
  - CQRS: External(0) → Command Handlers / Query Handlers(1) → Application Services(2) → Domain(3). Command and Query sides share the same layer structure but separate models
@@ -161,7 +161,7 @@ After writing the file:
161
161
 
162
162
  ### Node Rules
163
163
  - `id`: kebab-case, prefixed by category abbreviation (ctrl-, svc-, port-, adpt-, model-, db-, ext-, job-, dto-)
164
- - `layer`: non-negative integer. **Higher = closer to domain core / more stable. Lower = closer to external world / more volatile.** Dagre (TB) places higher layers lower on screen; concentric places them at center. Use as many layers as the architecture requires (typically 3-6). Example for DDD: 0=external, 1=adapters (controllers + infra), 2=app services, 3=ports, 4=domain. Example for MVC: 0=external, 1=controllers, 2=services, 3=domain.
164
+ - `layer`: non-negative integer. **Higher = closer to domain core / more stable. Lower = closer to external world / more volatile.** Dagre (TB) places higher layers lower on screen; concentric places them at center. Use as many layers as the architecture requires (typically 3-6). Example for DDD/Hex: 0=external, 1=adapters (controllers + infra), 2=application core (use cases/app services + ports), 3=domain. Example for MVC: 0=external, 1=controllers, 2=services, 3=domain.
165
165
  - `category`: one of controller, service, port, adapter, model, database, external, job, dto (or custom). Use `model` for domain entities/value objects (core business logic). Use `database` for DB tables, migrations, ORMs, and infrastructure persistence.
166
166
  - `label`: display name for the node
167
167
  - `description`: 1-3 sentences explaining responsibility + business context. Do NOT just echo the label. Cross-reference documentation for richer context (see Description Guidelines below)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archrip",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "Generate interactive architecture diagrams from your codebase using AI agents",
5
5
  "type": "module",
6
6
  "bin": {