docs: @Post("/projects/{projectName}/repos")
      @StatusCode(201)
      @ResponseConverter(CreateApiResponseConverter.class)
      @RequiresRole(roles = ProjectRole.OWNER)
      public CompletableFuture<RepositoryDto> createRepository(ServiceRequestContext ctx, Project project,
                                                               CreateRepositoryRequest request,
                                                               Author author) {
          if (Project.isReservedRepoName(request.name())) {
              return HttpApiUtil.throwResponse(ctx, HttpStatus.FORBIDDEN,
                                               "A reserved repository cannot be created.");
          }
          return execute(Command.createRepository(author, project.name(), request.name()))
                  .thenCompose(unused -> mds.addRepo(author, project.name(), request.name()))
                  .handle(returnOrThrow(() -> DtoConverter.convert(project.repos().get(request.name()))));
      }