Repository navigation
Run every command from anywhere inside the model (closes #7) - #9
Merged
Merged
Conversation
Commands resolved the model dir from the exact directory the user stood in, so adding an entity, generating docs, and the rest each only worked from one specific folder — forcing a cd back and forth between the project root and the model. ModelRepo.load and apply_command now walk UP from the given path to the nearest ancestor holding mdl-project.yaml (new find_project_root in repo.py), so any command works from the model dir or any subdirectory of it. When no project is found (e.g. run from the root ABOVE the model), the error now names the model subdir and how to target it — "no mdl-project.yaml in . — the model is in my-model/ (run from there, or pass -m my-model)" — instead of a bare, confusing message. The `new` CLI commands also catch that FileNotFoundError and print it plainly rather than a traceback. Note: current source already used mdl-project.yaml consistently, so the reporter's secondary ".yml vs .yaml" mismatch (v0.1.1) no longer exists. Tests: new test_project_root.py covers load/add from nested dirs and both error messages. 553 passed, 1 skipped; ruff clean; verified on the CLI against the issue's exact layout.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commands resolved the model dir from the exact directory the user stood in, so adding an entity, generating docs, and the rest each only worked from one specific folder — forcing a cd back and forth between the project root and the model.
ModelRepo.load and apply_command now walk UP from the given path to the nearest ancestor holding mdl-project.yaml (new find_project_root in repo.py), so any command works from the model dir or any subdirectory of it. When no project is found (e.g. run from the root ABOVE the model), the error now names the model subdir and how to target it — "no mdl-project.yaml in . — the model is in my-model/ (run from there, or pass -m my-model)" — instead of a bare, confusing message. The
newCLI commands also catch that FileNotFoundError and print it plainly rather than a traceback.Note: current source already used mdl-project.yaml consistently, so the reporter's secondary ".yml vs .yaml" mismatch (v0.1.1) no longer exists.
Tests: new test_project_root.py covers load/add from nested dirs and both error messages. 553 passed, 1 skipped; ruff clean; verified on the CLI against the issue's exact layout.