[Feature:System] Migrate CLI from Submitty monorepo - #2
Open
prestoncarman wants to merge 4 commits into
Open
Conversation
Moves the CLI code from Submitty's tools/submitty-cli/ (feature/submitty-cli-1-scaffold) into this dedicated repo at the root, with a self-contained CI workflow (flake8, pylint, pytest+coverage) so the project no longer depends on the monorepo's lint config or CI setup. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Trimmed from Submitty's monorepo dependabot.yml to just the two ecosystems that apply here (no PHP/JS in this repo). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…itty Pulls in the CLI features added upstream in Submitty/tools/submitty-cli since the last sync: config-file-backed auth (login/logout, saved server/token/user), the course command group (list/create/config get/config set), and matching test coverage. Also brings dependency/lint config up to date (pylint-pytest plugin) and expands README with the new command reference and sbin migration table. Re-applies the flake8-bugbear fix in client.py (APIError forwarding status_code to super().__init__) since the fresh copy reverted it; not yet fixed upstream. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Aug 6, 2026
_raise_for_status() already parsed response.json() to check for an application-level "fail" status; get/post/put then parsed it again to return the body. Have _raise_for_status() return the parsed body so callers reuse it instead of decoding twice. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Why is this Change Important & Necessary?
Submitty's Python CLI (
submitty auth ...) was scaffolded inside the monorepo attools/submitty-cli/(seeSubmitty/feature/submitty-cli-1-scaffold, PR adding[Feature:CLI] Add submitty-cli: unified sysadmin CLI scaffold). It was decided this CLI is better served by its own repo — separate release cadence, its own CI, no coupling to the monorepo's lint/dependency config. This PR brings the CLI source over soSubmittyCLIbecomes the CLI's home going forward.What is the New Behavior?
src/submitty_cli/,tests/, andpyproject.tomlnow live at this repo's root (previously nested undertools/submitty-cli/in the monorepo).README.mdno longer references monorepo-relative paths: thesbin/link now points atgithub.com/Submitty/Submitty, and thecd tools/submitty-clistep is removed since commands run from repo root..github/workflows/ci.yml(flake8, pylint, pytest + coverage/Codecov upload) plus standalone.flake8/.pylintrc, so this repo no longer depends on the monorepo's lint config or CI job wiring.flake8-bugbear:APIError.__init__wasn't forwardingstatus_codetosuper().__init__(), so it was silently lost on pickle/copy.The
tools/submitty-cli/folder in the Submitty monorepo is untouched for now — it lives on a feature branch that hasn't merged tomain, so there's nothing there to clean up yet. That branch will be abandoned once this repo is the CLI's canonical home.What steps should a reviewer take to reproduce or test the bug or new feature?
pip install -e ".[dev]"(oruv run ...) from the repo root.flake8— should report 0 issues.pylint --recursive=y src tests— should report 10.00/10.pytest --cov=submitty_cli --cov-report=xml -v— 22 tests should pass.Automated Testing & Documentation
No new functionality was added — this is a lift-and-shift of existing, already-tested code plus CI plumbing. Existing unit tests (22, unchanged in behavior) continue to cover the CLI. No submitty.org documentation changes needed.
Other information
Not a breaking change and no migrations needed — this is an internal repo relocation.
CODECOV_TOKENneeds to be configured as a secret on this repo for the coverage upload step to succeed (separate from Submitty's monorepo token).