Projectile is a project interaction library for Emacs.
It provides a powerful set of features operating at the project
level, as well as simple heuristics to identify projects.

See the README and https://docs.projectile.mx for more details.