def METHOD_NAME(project_dir, controller_class_name, controller_name):
    if not os.path.isabs(project_dir):
        return METHOD_NAME(
            os.path.abspath(project_dir), controller_class_name, controller_name
        )
    if controller_name is None:
        return METHOD_NAME(
            project_dir, controller_class_name, controller_class_name
        )
    repo = new_controller(
        project_dir,
        controller_class_name,
        controller_name,
        base_class="mc_control::fsm::Controller",
        base_use_conf=True,
        extra_includes=["mc_control/fsm/Controller.h"],
        extra_libs="mc_rtc::mc_control_fsm",
        min_code=False,
        controller_constructor=False,
    )
    with open(project_dir + "/etc/{}.in.yaml".format(controller_name), "w") as fd:
        fd.write(
            """---