Implement usethis arch command#1451
Conversation
Co-authored-by: nathanjmcdougall <18602289+nathanjmcdougall@users.noreply.github.com> Agent-Logs-Url: https://github.com/usethis-python/usethis-python/sessions/92db8a8e-3c40-4dd8-b880-e8edb1ba6739
Co-authored-by: nathanjmcdougall <18602289+nathanjmcdougall@users.noreply.github.com> Agent-Logs-Url: https://github.com/usethis-python/usethis-python/sessions/92db8a8e-3c40-4dd8-b880-e8edb1ba6739
usethis arch command
|
@copilot let's say "architecture analysis tools" instead of "architecture tools" everywhere |
…where Co-authored-by: nathanjmcdougall <18602289+nathanjmcdougall@users.noreply.github.com> Agent-Logs-Url: https://github.com/usethis-python/usethis-python/sessions/de1c1413-5ad8-48d8-ad0a-c891ad648a87
Updated all 7 occurrences across |
|
@copilot you need to update the docs folder to match the readme. See |
Co-authored-by: nathanjmcdougall <18602289+nathanjmcdougall@users.noreply.github.com> Agent-Logs-Url: https://github.com/usethis-python/usethis-python/sessions/91cebf61-4055-4b9a-bcfe-bb20736ea740
Added the |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
@copilot please add a test to cover the case of |
Co-authored-by: nathanjmcdougall <18602289+nathanjmcdougall@users.noreply.github.com> Agent-Logs-Url: https://github.com/usethis-python/usethis-python/sessions/10727609-7afc-4268-91ea-8bdc4e5e7c52
Added |
There was a problem hiding this comment.
Pull request overview
Adds a new top-level usethis arch CLI command to manage architecture analysis tooling (wrapping Import Linter), and integrates it into project initialization and documentation alongside existing usethis lint, usethis typecheck, etc.
Changes:
- Introduces
usethis archcommand (UI interface + toolset) and registers it in the main Typer app. - Adds
usethis init --arch/--no-archflag (defaulting to opt-out) to include architecture tooling during init. - Updates docs/README and Import Linter layer contracts; adds tests for the new command and init flag.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/usethis/_ui/interface/arch.py |
New arch CLI interface wiring options/config context to toolset. |
src/usethis/_toolset/arch.py |
New toolset entrypoint delegating to Import Linter core tool function. |
src/usethis/_ui/app.py |
Registers usethis arch as a top-level command under “Manage Tooling”. |
src/usethis/_ui/interface/init.py |
Adds --arch/--no-arch and runs architecture tooling during init when enabled. |
tests/usethis/_ui/interface/test_arch.py |
Adds CLI-level tests for usethis arch. |
tests/usethis/_ui/interface/test_init.py |
Adds coverage for usethis init --arch output. |
docs/cli/reference.md |
Documents usethis arch and init --arch. |
docs/cli/overview.md |
Adds usethis arch to CLI overview list. |
README.md |
Mirrors CLI overview update for the new command. |
.importlinter |
Adds arch to the ui_interface layering contract. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Adds
usethis archas a top-level command for architecture analysis tools, wrapping Import Linter — following the same pattern asusethis lint,usethis typecheck, etc.Changes
usethis arch— CLI interface (_ui/interface/arch.py), toolset (_toolset/arch.py), registered inapp.pyunder "Manage Tooling"usethis init --arch— Opt-in flag (defaults to--no-arch) to include architecture analysis tooling during project initializationdocs/cli/reference.md,docs/cli/overview.md, andREADME.mdupdated.importlinter— Addedarchto theui_interfacecontract layerstest_arch_includedintests/usethis/_ui/interface/test_init.pyto coverusethis init --archOriginal prompt
usethis arch#1233⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.