The src/ directory should contain handwritten implementation source files. Developers should place Node implementations, reusable runtime utilities, shared constants, command handlers, status publishers, Configuration readers, logging helpers, and other handwritten runtime code under this directory.
The team should organise src/ by implementation concern and, where useful, by language. For example, if Phase 0 uses more than one implementation language, the Repository may separate source code into language-specific subdirectories.
A representative structure is:
src/
nodes/
common/
control-plane/
data-plane/
The src/nodes/ directory should contain Node-specific implementation code. The src/common/ directory should contain reusable support code that more than one Node uses. The src/control-plane/ directory should contain Control Plane support code, such as status reporting and command handling. The src/data-plane/ directory should contain Data Plane support code where Phase 0 requires it.
Developers should not place generated code in src/. Generated code should live under generated/ so that reviewers can distinguish handwritten implementation from reproducible generation output.
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.