Initial Commit

This commit is contained in:
2026-05-27 23:29:53 +01:00
commit fbc70f96e6
10000 changed files with 1102152 additions and 0 deletions

View File

@@ -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._