checkmate-cli 0.4.1

Checkmate - API Testing Framework CLI
# Quick Start

Get Checkmate running in 5 minutes.

## 1. Install

```bash
# Clone and build
git clone https://github.com/your-org/checkmate
cd checkmate
cargo build --release

# Add to PATH
export PATH="$PATH:$(pwd)/target/release"
```

Verify: `cm --version`

## 2. Initialize

Navigate to your project and initialize:

```bash
cd your-project
cm init --url http://localhost:8080
```

This creates `.checkmate/` with your project configuration.

## 3. Create a Test

Create `.checkmate/tests/health.yaml`:

```yaml
name: "Health Check"

tests:
  api_responds:
    description: "API should return healthy status"
    endpoint: /health
    method: GET
    expect_status: 200
    assertions:
      - query: "$[status]"
        expect: "ok"
```

## 4. Run Tests

```bash
cm test run
```

Output:
```json
{
  "suite": "Health Check",
  "summary": {
    "total": 1,
    "passed": 1,
    "failed": 0
  }
}
```

## 5. View History

```bash
cm history
```

```
✓ cm-run-a3f 2024-01-15 1/1 passed @ abc1234
```

## Next Steps

- **More assertions**: See [ASSERTIONS.md]ASSERTIONS.md
- **Multi-request tests**: See [TEST_SPECS.md]TEST_SPECS.md
- **Configuration**: See [CONFIG.md]CONFIG.md
- **Full CLI**: See [CLI_REFERENCE.md]CLI_REFERENCE.md

## Common Patterns

### POST with Body

```yaml
requests:
  create_user:
    body:
      name: "Test User"
      email: "test@example.com"

tests:
  user_creation:
    endpoint: /api/users
    method: POST
    requests: [create_user]
    expect_status: 201
    assertions:
      - query: "$[id]"
        expect_type: string
```

### Authentication

```yaml
requests:
  authenticated:
    headers:
      Authorization: "Bearer your-token"
    body:
      data: "value"

tests:
  protected_endpoint:
    endpoint: /api/protected
    requests: [authenticated]
```

### Check Field Exists

```yaml
assertions:
  - query: "$[optional_field]?"
    expect: true
    message: "Optional field should be present"
```

## Troubleshooting

**"No .checkmate/ found"**
```bash
cm init --url http://your-api-url
```

**Tests not discovered**
- Check files are in `.checkmate/tests/`
- Check extension is `.yaml` or `.yml`

**Connection refused**
- Verify your API is running at the configured `base_url`
- Check `cm config show` for current settings