uncomment-cli
Version:
A fast Rust-based CLI tool for removing comments from source code
102 lines (65 loc) • 2.46 kB
Markdown
# uncomment-cli
[](https://badge.fury.io/js/uncomment-cli)
[](https://github.com/Goldziher/uncomment/blob/main/LICENSE)
A blazing fast Rust-based command-line tool that removes comments from your source code. Perfect for cleaning up AI-generated code that comes with excessive explanations.
## Why Use This?
- 🚀 **Lightning Fast** - Built in Rust for maximum performance
- 🎯 **100% Accurate** - Never accidentally removes code that looks like comments
- 🛡️ **Safe by Default** - Preview changes before applying them
- 🌍 **Multi-language** - Supports 12+ programming languages
- 🔧 **Zero Dependencies** - Downloads a self-contained binary
## Installation
```bash
npm install -g uncomment-cli
```
The installer will automatically download the appropriate pre-compiled Rust binary for your platform (Windows, macOS, or Linux).
## Quick Start
Remove comments from a single file:
```bash
uncomment main.py
```
Preview changes without modifying files:
```bash
uncomment --dry-run src/
```
Process all Python files in a directory:
```bash
uncomment "src/**/*.py"
```
## Key Features
### Smart Comment Detection
Unlike simple regex-based tools, `uncomment` understands your code's structure:
```python
# This comment will be removed
code = "# But this won't - it's in a string!"
```
### Preserves Important Comments
Keeps what matters:
- `TODO` and `FIXME` comments (configurable)
- License headers and copyright notices
- Linting directives (`eslint-disable`, `@ts-ignore`, etc.)
- Documentation strings and JSDoc comments (configurable)
### Supported Languages
Python, JavaScript, TypeScript, Rust, Go, Java, C/C++, Ruby, YAML, Terraform/HCL, Makefile, and more!
## Common Use Cases
**Clean up AI-generated code:**
```bash
uncomment generated_code.js
```
**Remove all comments including TODOs:**
```bash
uncomment --remove-todo --remove-fixme src/
```
**Remove documentation comments:**
```bash
uncomment --remove-doc api.ts
```
**Use multiple threads for large codebases:**
```bash
uncomment --threads 8 entire_project/
```
## Documentation
For detailed documentation, advanced options, and examples, visit:
[https://github.com/Goldziher/uncomment](https://github.com/Goldziher/uncomment)
## License
MIT - see [LICENSE](https://github.com/Goldziher/uncomment/blob/main/LICENSE) for details.