For Developmentยถ

If you want to try the latest version or contribute to RD-Agent. You can install it from the source and follow the commands in this page.

git clone https://github.com/microsoft/RD-Agent

๐Ÿ”งPrepare for developmentยถ

  • Set up the development environment.

    make dev
    
  • Run linting and checking.

    make lint
    
  • Some linting issues can be fixed automatically. We have added a command in the Makefile for easy use.

    make auto-lint
    

Code Structureยถ

๐Ÿ“‚ src
โžฅ ๐Ÿ“‚ <project name>: avoid namespace conflict
  โžฅ ๐Ÿ“ core
  โžฅ ๐Ÿ“ components/A
  โžฅ ๐Ÿ“ components/B
  โžฅ ๐Ÿ“ components/C
  โžฅ ๐Ÿ“ scenarios/X
  โžฅ ๐Ÿ“ scenarios/Y
  โžฅ ๐Ÿ“‚ app
โžฅ ๐Ÿ“ scripts

Folder Name

Description

๐Ÿ“ core

The core framework of the system. All classes should be abstract and usually canโ€™t be used directly.

๐Ÿ“ component/A

Useful components that can be used by others (e.g., scenarios). Many subclasses of core classes are located here.

๐Ÿ“ scenarios/X

Concrete features for specific scenarios (usually built based on components or core). These modules are often unreusable across scenarios.

๐Ÿ“ app

Applications for specific scenarios (usually built based on components or scenarios). Removing any of them does not affect the systemโ€™s completeness or other scenarios.

๐Ÿ“ scripts

Quick and dirty things. These are candidates for core, components, scenarios, and apps.

Conventionsยถ

File Naming Conventionยถ

Name

Description

conf.py

The configuration for the module, app, and project.