Files
ermnvldmr.com/services/docs/content/en/root/reference/source.md
T

2.0 KiB

title, description, weight
title description weight
The `source/` Directory Conceptual overview of the self-contained source directory structure. 52

The source/ directory at the repository root contains the core components and projects that the Root framework orchestrates. It is designed for maximum isolation and self-containment.

Core Philosophy

The source/ directory is not just a place to store code; it is a collection of independent Projects. Each project within this directory should follow these principles:

  1. Isolation: Each project lives in its own subdirectory (e.g., source/my-app/).
  2. Self-Documentation: Each project directory MUST contain its own README.md file describing its purpose, dependencies, and configuration.
  3. Internal Logic: Projects handle their own build processes, Dockerfiles, and internal configurations. The Root framework's Actions simply orchestrate these existing components.

Directory Structure

A typical project within the source/ directory might look like this:

{{< filetree/container >}} {{< filetree/folder name="source" state="open" >}} {{< filetree/folder name="happ-subscription-generator" state="open" >}} {{< filetree/file name="Dockerfile" >}} {{< filetree/file name="generator.py" >}} {{< filetree/file name="README.md" >}} {{< /filetree/folder >}} {{< /filetree/folder >}} {{< /filetree/container >}}

Relationship with Actions

Root actions (like compose or sync) interact with the source/ directory by referencing paths within it. For example, the compose action might use a docker-compose.yml file that points to a Dockerfile located in source/app/.

This separation of concerns ensures that the orchestration logic (Actions) remains decoupled from the implementation details (Source).


See also: