Variable: projectile-project-root-files-bottom-up
projectile-project-root-files-bottom-up is a customizable variable
defined in projectile.el.
Value
(".git" ".hg" ".fslckout" "_FOSSIL_" ".bzr" "_darcs" ".pijul" ".sl"
".jj")
Documentation
A list of files considered to mark the root of a project.
The bottommost (parentmost) match has precedence.
This list holds only VCS markers (plus whatever you add yourself).
Per-language project manifests are deliberately *not* included, so an
enclosing VC root wins over a manifest sitting in a subdirectory - the
behavior most users and IDEs expect (the git repository is the
project). In a polyglot or monorepo layout where you want a deeper
subproject to win instead, drop a .projectile file in it;
projectile-root-marked runs before projectile-root-bottom-up, so
the marked subproject takes precedence over the outer VC root.
This variable was added, or its default value changed, in projectile version 0.11.0.
Source Code
;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defcustom projectile-project-root-files-bottom-up
'(".git" ; Git VCS root dir
".hg" ; Mercurial VCS root dir
".fslckout" ; Fossil VCS root dir
"_FOSSIL_" ; Fossil VCS root DB on Windows
".bzr" ; Bazaar VCS root dir
"_darcs" ; Darcs VCS root dir
".pijul" ; Pijul VCS root dir
".sl" ; Sapling VCS root dir
".jj" ; Jujutsu VCS root dir
)
"A list of files considered to mark the root of a project.
The bottommost (parentmost) match has precedence.
This list holds only VCS markers (plus whatever you add yourself).
Per-language project manifests are deliberately *not* included, so an
enclosing VC root wins over a manifest sitting in a subdirectory - the
behavior most users and IDEs expect (the git repository is the
project). In a polyglot or monorepo layout where you want a deeper
subproject to win instead, drop a `.projectile' file in it;
`projectile-root-marked' runs before `projectile-root-bottom-up', so
the marked subproject takes precedence over the outer VC root."
:group 'projectile
:type '(repeat string)
:package-version '(projectile . "0.11.0"))