Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,8 @@ examples/
smoke/
*/ smoke tests verifying published packages
```

## Roadmap

See the project roadmap:
https://github.com/dfsyncjs/dfsync/blob/main/ROADMAP.md
48 changes: 48 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# dfsync Roadmap

This document outlines the planned direction for **dfsync** and its packages.

## @dfsync/client

A lightweight HTTP client for reliable service-to-service communication.

### 0.4.x — Request lifecycle

**Focus**: request control and lifecycle management.

Planned features:

- AbortSignal support for request cancellation
- request context object for passing metadata through lifecycle
- correlation ID support (e.g. `x-request-id`)
- improved hook context with additional execution details

---

### 0.5.x — Observability

**Focus**: logging, monitoring, and request insights.

Planned features:

- request duration tracking
- retry metadata (attempt number, delay, etc.)
- support for `Retry-After` response header
- retry lifecycle hooks (`onRetry`)

---

### 0.6.x — Integration safety

**Focus**: safer and more predictable integrations.

Planned features:

- response validation (custom or schema-based)
- idempotency key support for safe retries

### Notes

- Versions below `1.0.0` may introduce breaking changes.
- The API will be stabilized before the `1.0.0` release.
- The roadmap may evolve based on real-world usage and feedback.
10 changes: 3 additions & 7 deletions packages/client/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const client = createClient({
const users = await client.get('/users');
```

## Features
## Main features

- typed responses
- request timeout support
Expand All @@ -59,9 +59,5 @@ A request in `@dfsync/client` follows this flow:

## Roadmap

The goal of dfsync is to become a reliable toolkit for service-to-service communication.

Planned next steps:

- Tracing support
- Extended hooks and observability features
See the project roadmap:
https://github.com/dfsyncjs/dfsync/blob/main/ROADMAP.md