|
1 |
| -# README |
| 1 | +# Qlty CLI |
| 2 | + |
| 3 | +Qlty CLI is a multi-language code linter, auto-formatter, and security scanner. |
| 4 | + |
| 5 | +Engineering teams use Qlty CLI for static analysis and auto-formatting of all of their code using a single tool with fast, consistent results. |
| 6 | + |
| 7 | +As a Git-aware tool, Qlty CLI makes adopting linting into the development workflow easy by limiting results to only _new_ issues. |
| 8 | + |
| 9 | +Qlty CLI is implemented in Rust, supported by [Qlty Software](https://qlty.sh), free to use, and is published under a [Fair Source](https://fair.io/) license. |
| 10 | + |
| 11 | +## Features |
| 12 | + |
| 13 | +- 🐞 Linting (for every programming language) |
| 14 | +- 🖌️ Auto-formatting |
| 15 | +- 🚨 Security scanning (IaC, SAST, SCA, and more) |
| 16 | +- 📊 Complexity metrics and duplication |
| 17 | +- 💩 Maintainability smells |
| 18 | + |
| 19 | +## Installation |
| 20 | + |
| 21 | +Qlty CLI is available for MacOS, Linux, and Windows. |
| 22 | + |
| 23 | +```bash |
| 24 | +# Install on MacOS or Linux: |
| 25 | +curl https://qlty.sh | bash |
| 26 | + |
| 27 | +# Install on Windows: |
| 28 | +powershell -c "iwr https://qlty.sh | iex" |
| 29 | +``` |
| 30 | + |
| 31 | +## Usage |
| 32 | + |
| 33 | +```bash |
| 34 | +# Setup Qlty within a Git repository: |
| 35 | +cd my_repo/ |
| 36 | +qlty init |
| 37 | + |
| 38 | +# View a sample of lint issues: |
| 39 | +qlty check --sample=5 |
| 40 | + |
| 41 | +# Auto-format the codebase |
| 42 | +qlty fmt --all |
| 43 | + |
| 44 | +# Scan for code smells like duplication: |
| 45 | +qlty smells --all |
| 46 | + |
| 47 | +# Review a summary of code quality metrics |
| 48 | +qlty metrics --all --max-depth=2 --sort complexity --limit 10 |
| 49 | +``` |
| 50 | + |
| 51 | +## Configuration |
| 52 | + |
| 53 | +Qlty CLI is configured using a `.qlty/qlty.toml` file in your Git repository. You can generate a default configuration with `qlty init` and then customize it. |
| 54 | + |
| 55 | +Read our documentation about [configuration](https://docs.qlty.sh/analysis-configuration) for more information. |
| 56 | + |
| 57 | +## Development |
| 58 | + |
| 59 | +Develpoing on Qlty CLI requires a working Rust toolchain. |
| 60 | + |
| 61 | +```bash |
| 62 | +cargo build |
| 63 | +cargo test |
| 64 | +``` |
| 65 | + |
| 66 | +## Contributing |
| 67 | + |
| 68 | +1. Read the Guide to Contributing in CONTRIBUTING.md |
| 69 | +2. Fork the repository and |
| 70 | +3. Submit a pull request. |
| 71 | + |
| 72 | +Contributions require agreeing to our [Contributor License Agreement](https://gist.github.com/brynary/00d59e41ffd852636a2f8a8f5f5aa69b) (CLA). |
| 73 | + |
| 74 | +## Support |
| 75 | + |
| 76 | +- Read the [documentation](https://docs.qlty.sh) |
| 77 | +- Join our [Discord](https://qlty.sh/discord) chat |
| 78 | +- [Community support](https://github.com/orgs/qltysh/discussions/categories/q-a) via GitHub Discussions |
| 79 | +- [Feature requests](https://github.com/orgs/qltysh/discussions/categories/feedback) via GitHub Discussions |
| 80 | +- [Bug reports](https://github.com/qltysh/qlty/issues/new/choose) via GitHub Issues |
| 81 | +- [Plugin request](https://github.com/qltysh/qlty/issues/new/choose) via GitHub Issues |
| 82 | + |
| 83 | +## License |
| 84 | + |
| 85 | +Qlty CLI is licensed under the Functional Source License (FSL). More details are available in LICENSE.md. |
| 86 | + |
| 87 | +## Acknowledgments |
| 88 | + |
| 89 | +We would like to thank all of the developers of code quality tooling like linters and meta-linters as well as everyone who has contributed to the field of open source static analysis. Qlty CLI stands on the shoulders of decades of this excellent work. |
| 90 | + |
| 91 | +Development of Qlty CLI is sponsored by [Qlty Software](https://qlty.sh). |
0 commit comments