Hello. I have some stake in this issue too. The proposed patch is ok, but I think that we can go for a more ambitious solution here that would require just a little more work, but would be a lot more useful. Maybe lets have a make-file-backend function, the output of which you can cons onto project-find-functions, so any file defined like this would be just another separate backend. This function in turn can be used by major mode developers and users to implement project backends. If we look at the list of projects supported by Projectile , we can see that this one function is enough already to implement most of them. Having such file backends also leaves the question of whether the particular file should have a higher priority than VC to the end user, depending on where he(or some major mode he's using) adds a particular one into the list. As for whether there should be some kind of default file marked project, sure, the user can just remove it if he want to.