Initial Commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
---
|
||||
name: idempotency
|
||||
description: Use when implementing or debugging code that uses @suaveplan/idempotency: Idempotency key guard and dedup: store adapters (memory, database, redis), distributed locking, middleware, key generation, metrics, OTel instrumentation.
|
||||
---
|
||||
|
||||
# @suaveplan/idempotency
|
||||
|
||||
Idempotency key guard and deduplication for async operations. The package provides a complete `pending → completed | failed` state machine, three store backends (memory, database, Redis), distributed locking across multiple processes, request middleware, key generation with payload fingerprinting, version history management, and OTel metrics instrumentation. It is designed to protect any operation that must not execute more than once per request — payment charges, email sends, record creation — regardless of retries or race conditions.
|
||||
|
||||
## When to use this skill
|
||||
|
||||
- Implementing or debugging code that imports `@suaveplan/idempotency`.
|
||||
- The task touches: see package README.
|
||||
- You need API guidance for this package's exports.
|
||||
|
||||
## Quick reference
|
||||
|
||||
```ts
|
||||
import { /* see API Reference below */ } from "@suaveplan/idempotency";
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
Workspace dependencies: `@suaveplan/error`, `@suaveplan/events`, `@suaveplan/types`
|
||||
|
||||
## Where to read more
|
||||
|
||||
This skill is intentionally short. The package's own documentation is the authoritative source — read these in order:
|
||||
|
||||
1. **`packages/foundation/idempotency/README.md`** — overview, install, quick-start, module index
|
||||
2. **`packages/foundation/idempotency/src/**/*.md`** — co-located docs per implementation file (Purpose, Features, Basic + Advanced examples, full API reference, Implementation notes — all packages ship ≥200 words per module)
|
||||
3. **`packages/foundation/idempotency/package.json`** `exports` map — every subpath you can import from
|
||||
|
||||
When the user asks an API question, read the relevant co-located `.md` first; do not answer from training-data memory.
|
||||
|
||||
## See also
|
||||
|
||||
- `@suaveplan/error`
|
||||
- `@suaveplan/events`
|
||||
- `@suaveplan/types`
|
||||
|
||||
---
|
||||
|
||||
_This SKILL.md is auto-generated by `suaveplan-skills/scripts/generate-skills.ts` from the package's README. Do not edit by hand — re-run the generator after the README changes._
|
||||
Reference in New Issue
Block a user