When the punchcard is executed, it must identify the project root. The "project root" is a pretty vague term in this context:
Starting from pwd, look for a .git directory.
If .git is found, this is the project directory.
If not navigate to the parent directory. Repeat step 2.
This is complicated by Git submodules, and the presence (or absence) of a .punchcard configuration file or a .github directory (both of which may or may not exist, but could be more definitive than a .git directory because of submodules.
If no directory is found, return an Error (or a warning?).
When the
punchcard
is executed, it must identify the project root. The "project root" is a pretty vague term in this context:pwd
, look for a.git
directory..git
is found, this is the project directory.This is complicated by Git submodules, and the presence (or absence) of a
.punchcard
configuration file or a.github
directory (both of which may or may not exist, but could be more definitive than a.git
directory because of submodules.If no directory is found, return an Error (or a warning?).