Initial upload: curl-converter-cli with CI/CD workflow

This commit is contained in:
2026-03-22 10:44:32 +00:00
parent 4b3d847295
commit 7aa8f99cba

137
README.md
View File

@@ -1,3 +1,138 @@
# curl-converter-cli
A CLI tool that converts curl commands into code snippets in multiple programming languages (Python, JavaScript, Go, Ruby, PHP).
A powerful CLI tool that converts curl commands into code snippets in multiple programming languages.
## Features
- Convert curl commands to **Python**, **JavaScript**, **Go**, **Ruby**, and **PHP**
- Parse and extract URL, HTTP method, headers, body data, authentication, cookies
- Support for Basic Auth, Bearer Token, and API Key authentication
- Handle JSON and form data automatically
- Interactive CLI mode for pasting curl commands
- Output to file or stdout
## Installation
```bash
# Clone the repository
git clone https://github.com/yourusername/curl-converter-cli.git
cd curl-converter-cli
# Install in development mode
pip install -e .
# Or install with dev dependencies
pip install -e ".[dev]"
```
## Usage
### Convert curl to Python
```bash
curlconverter convert -c "curl -X POST https://api.example.com/data -d '{\"key\":\"value\"}'" -l python
```
### Convert curl to JavaScript
```bash
curlconverter convert -c "curl -H 'Authorization: Bearer token' https://api.example.com" -l javascript
```
### Convert curl to Go
```bash
curlconverter convert -c "curl -X POST -d 'name=test' https://api.example.com/users" -l go
```
### Convert curl to Ruby
```bash
curlconverter convert -c "curl -u user:pass https://api.example.com" -l ruby
```
### Convert curl to PHP
```bash
curlconverter convert -c "curl -H 'Content-Type: application/json' https://api.example.com" -l php
```
### Interactive Mode
```bash
curlconverter convert -i
```
### List Supported Languages
```bash
curlconverter languages
```
Output:
```
python - Python (requests)
javascript - JavaScript (fetch)
go - Go (net/http)
ruby - Ruby (Net::HTTP)
php - PHP (cURL)
```
### Analyze a curl Command
```bash
curlconverter analyze -c "curl https://example.com"
```
Output:
```
Parsed curl command:
URL: https://example.com
Method: GET
```
### Output to File
```bash
curlconverter convert -c "curl https://api.example.com" -l python -o output.py
```
## Supported Languages
| Language | Library/Module | Description |
|----------|---------------|-------------|
| python | requests | Python HTTP library |
| javascript | fetch | Native Fetch API |
| go | net/http | Go standard library |
| ruby | Net::HTTP | Ruby standard library |
| php | cURL | PHP extension |
## Supported curl Options
- `-X, --request` - HTTP method
- `-H, --header` - Custom headers
- `-d, --data` - Request body data
- `--data-raw` - Request body data (raw)
- `-u, --user` - Basic authentication
- `-b, --cookie` - Cookies
- `-A, --user-agent` - User-Agent header
- `-L, --location` - Follow redirects
- `-s, --silent` - Silent mode
## Development
### Run Tests
```bash
pytest tests/ -v
```
### Run Tests with Coverage
```bash
pytest tests/ -v --cov=curlconverter --cov-report=html
```
## License
MIT License - see [LICENSE](LICENSE) file for details.