Skip to content

Developer guide

Abada combines a Java/Spring workflow engine, two TypeScript applications, a Java worker SDK, Docker-based infrastructure and this documentation site. Contributions must preserve the database-authoritative runtime and the frozen public contracts.

Component Required tool
Engine and SDK Java 21 and engine/mvnw
Tenda, Orun and documentation Node.js 24.18.x and npm 11+
Persistence tests Docker Desktop/Engine for PostgreSQL Testcontainers
Local/production composition Docker Compose v2
  1. Read the contract. Identify the BPMN, runtime, API, worker, security or deployment promise affected by the change.
  2. Find the command boundary. Trace the controller or scheduler into its core @AtomicRuntimeCommand service and repositories.
  3. Add evidence. Write parser/unit tests and PostgreSQL behavior tests in proportion to the change.
  4. Implement narrowly. Prefer existing command, parser, DTO and repository patterns over speculative abstractions.
  5. Update the guide and contract. Architecture is part of the behavior; keep claims and tests aligned.
  6. Run the verification matrix. Execute every component check required by the changed surface.