break functionality up into subcommands
- Dominant language
- Python
- Stars
- 6.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the desired feature
We should improve Slither's command line interface by replacing flags that are used to toggles "modes" into subcommands. This would allow for less noise in help menus. We should also cleanup the configurations and add additonal validation to ensure the behavior is intuitive yet configurable.
`slither . --detect` -> `slither detect`
`slither . --print` -> `slither print`
Perhaps tools could become subcommands instead of alternative entry points. This would allow us to make them opt-in i.e.
`slither-read-storage` would become `slither read-storage` and its dependencies would only be installed if you run `pip install slither[read-storage]`
Related (https://github.com/crytic/slither/issues/759 https://github.com/crytic/slither/issues/1458)
Contributor guide
Assessment
This issue has not been assessed yet.