Architecture Tiers

Dependencies flow inward: a package may depend only on packages of the same or a lower tier. Tier 0 means it depends on no other Zudo package. The tiers below are the ones defined in scripts/package-tiers.js, the single source of truth the architecture tests enforce — a category spanning a range simply groups packages that sit at different tiers.

Tier 0–1
Foundation
Tier 1
Runtime Primitives
Tier 2
Application
Tier 3
Transport
Tier 1–2
Security
Tier 1–4
Platform / DX

Foundation

11 packages

The building blocks everything else rests on. @zudojs/errors and @zudojs/types are tier 0 — they depend on no other Zudo package. The other nine sit at tier 1, depending only on those two.

@zudojs/errors v1.3.0

Shared error base class, error codes, and error handling utilities for the Zudo framework.

No dependencies
@zudojs/types v1.2.0

Shared type guards, utility types, and type converters for the Zudo framework.

No dependencies
@zudojs/constants v1.1.2

Shared constants, enums, and type-safe literals for the Zudo framework.

depends on: errors
@zudojs/container v1.2.0

Token-based dependency injection container for managing application dependencies and service lifetimes.

depends on: errors
@zudojs/logger v1.4.0

Structured logging with transports, log levels, and context propagation for Zudo applications.

depends on: errors
@zudojs/crypto v1.3.1

Cryptographic primitives for hashing, encryption, tokens, and secure random generation.

depends on: constants, errors
@zudojs/validation v1.1.0

Schema validation with Zod integration, constraints, parsers, composers, and depth/size checks.

depends on: errors, constants, types
@zudojs/schema v1.2.0

Type-safe schema definition, parsing, and validation engine for data contracts.

depends on: errors, constants, types
@zudojs/config v1.3.0

Layered configuration management with multiple sources, validation, and environment-specific overrides.

depends on: errors, constants
@zudojs/middleware v1.1.0

Composable middleware pipeline with composition, timing, error handling, and context propagation.

depends on: errors
@zudojs/serialization v1.2.0

Data translation layer with JSON serializer, type transformers, envelopes, and registry.

depends on: constants, errors, types, validation

Runtime Primitives

11 packages

Infrastructure for events, messaging, lifecycle, storage, and background processing.

@zudojs/events v1.3.0

Event-driven architecture with event bus, emitter, middleware, and registry for decoupled communication.

depends on: errors, constants, middleware
@zudojs/messaging v1.2.0

In-process message bus infrastructure with handlers, middleware, and publish/subscribe patterns.

depends on: errors, constants, middleware
@zudojs/lifecycle v1.2.1

Application and component lifecycle orchestration with state machine, dependency ordering, graceful shutdown.

depends on: errors, constants
@zudojs/transactions v1.2.0

Transaction lifecycle and coordination with state machine, AsyncLocalStorage, savepoints, and hooks.

depends on: errors
@zudojs/cache v1.2.0

Caching primitives, abstractions, and adapters for the Zudo framework.

depends on: errors, constants, types, serialization
@zudojs/storage v1.2.0

Storage abstractions including database, object storage, repository, serialization, locking, and lifecycle.

depends on: errors, constants, types, serialization
@zudojs/queue v1.4.0

Background job and asynchronous task infrastructure with in-memory and adapter-based queue implementations.

depends on: errors, constants, serialization
@zudojs/scheduler v1.2.0

Scheduled task and job infrastructure with cron-like scheduling, persistence, and worker management.

depends on: errors, constants, types
@zudojs/adapters v1.2.1

Boundary layer between Zudo and external platforms with adapter contracts, registry, and transport abstractions.

depends on: errors
@zudojs/database v1.3.0

Database abstraction layer with clients, repositories, transactions, and query building.

depends on: errors, types, logger
@zudojs/observability v1.2.0

Structured logging, metrics, tracing, context propagation, and exporters for Zudo applications.

depends on: errors, logger

Application Architecture

7 packages

High-level application patterns: CQRS, runtime, API operations, auth, RPC, and OpenAPI.

Transport

2 packages

External interfaces — HTTP server and CLI tooling.

Security

4 packages

Authentication, authorization, input validation, and cryptographic security.

Platform & DX

4 packages

Multi-tenancy, feature flags, plugins, documentation infrastructure, and testing utilities.