Troubleshooting
| Symptom | Likely Cause | Fix |
clang-tidy: cannot find ... | .clang-tidy missing | metis init --enable-clang-tidy |
bash: pre-commit: No such file or directory | Hook not installed | metis install |
| Hook exits immediately with no output | File patterns don't match staged files | Run metis run --all-files to test outside hook |
git commit but hook doesn't run | Staged files don't match config checks | Check patterns in the [[checks]] sections of .metis.toml |
| CI workflow not created | github_actions is false in config | metis generate-gha (bypasses config) |
| GitLab CI not created | gitlab_ci is false in config | metis generate-gitlab (bypasses config) |
Dependency Troubleshooting
| Symptom | Cause | Fix |
✖ <dep> [missing version] | Dependency declared without a version | Add a version to the dep |
✖ <dep> [invalid semver: x] | Version is not valid semver | Use e.g. 10.2.1 |
✖ <dep> [not installed locally] | Conan/vcpkg manifest lists it but it is not available to CMake | Run conan install / vcpkg install |
| CMake configure fails with "FetchContent_Declare not found" | CMake < 3.11 | Upgrade to CMake ≥ 3.20 |
target_link_libraries fails | Wrong namespace | Edit CMakeLists.txt to match library's exported target |
Debug Mode
$ metis run --verbose --all-files
See the exact shell commands being executed.