---
globs: clients/**/*.ts
---

# HTTP Clients Rules

1. All HTTP calls MUST be in clients/domains/
2. Each domain MUST have its own client
3. Clients MUST use the base HTTP client
4. Clients MUST type their responses

Example of correct client:

```typescript
import { HttpClient } from "@/clients/base/http-client";
import { MyData } from "@/lib/types";

export class MyClient {
  constructor(private httpClient: HttpClient) {}

  async getData(): Promise<MyData[]> {
    return this.httpClient.get("/api/data");
  }
}
```

❌ FORBIDDEN:

- Direct fetch calls
- Business logic in clients
- Untyped responses
