I think this is a simple typo in DockerComposeFile:

        File base = (workingDirectory != null) ? workingDirectory : new File(".");
        if (!base.exists()) {
            return null;
        }
        Assert.isTrue(base.isDirectory(), () -> "'%s' is not a directory".formatted(base));
        Path basePath = workingDirectory.toPath();

where workingDirectory can be null (in fact it is the default) so there is an NPE. Fix it by replacing workingDirectory by base?

Comment From: philwebb

Thanks Dave. I'll fix this one before merging.