# UniKVS > Documentation for UniKVS ## 日本語 ### Docs - [UniKVS](https://tai-kun.github.io/unikvs/ja): TypeScript 製のモジュラーな KVS クライアント UniKVS の概要とドキュメント案内です。 - [はじめに](https://tai-kun.github.io/unikvs/ja/getting-started): UniKVS のインストールから基本操作までの最短手順を説明します。 - [基本概念](https://tai-kun.github.io/unikvs/ja/concepts): UniKVS のトランスフォーマーとストレージの組み合わせ、値の型、変数について説明します。 ### ガイド - [ガイド](https://tai-kun.github.io/unikvs/ja/guides): 目的別の使い方をまとめたガイドの一覧です。 - [複数ストレージ](https://tai-kun.github.io/unikvs/ja/guides/multi-storage): 複数の保存先への並列書き込みとパイプライン分岐の設計方法を説明します。 - [ストリーミング](https://tai-kun.github.io/unikvs/ja/guides/streaming): 大容量データのストリーム保存と読み取り方法を説明します。 - [自作プラグイン](https://tai-kun.github.io/unikvs/ja/guides/custom-plugin): Storage と Transformer の自作方法と実装時の注意点を説明します。 - [エラーと診断](https://tai-kun.github.io/unikvs/ja/guides/errors): UniKVS のエラーの見分け方と対処の目安を説明します。 ### パッケージリファレンス - [UniKVS](https://tai-kun.github.io/unikvs/ja/packages/unikvs): 設定ビルダーと KVS クライアントを提供するメインパッケージ UniKVS の使い方を説明します。 - [@unikvs/core](https://tai-kun.github.io/unikvs/ja/packages/core): 全パッケージで共有する型と共通エラーを提供する @unikvs/core の概要です。 - [@unikvs/utils](https://tai-kun.github.io/unikvs/ja/packages/utils): @unikvs/utils の使い方です。ファイル名の検証、バイト列操作、ストリーム変換を提供します。 - [@unikvs/compression](https://tai-kun.github.io/unikvs/ja/packages/compression): gzip / deflate / deflate-raw でバイト列を透過的に圧縮・展開する Transformer プラグインの使い方を説明します。 - [@unikvs/checksum](https://tai-kun.github.io/unikvs/ja/packages/checksum): バイト配列のハッシュ値を検証するトランスフォーマー群の使い方を説明します。 - [@unikvs/hex](https://tai-kun.github.io/unikvs/ja/packages/hex): バイト列を 16 進文字列として表すバイト列へ透過的に変換する Transformer プラグインの使い方を説明します。 - [@unikvs/base64](https://tai-kun.github.io/unikvs/ja/packages/base64): バイト列を標準の base64 文字列として表すバイト列へ透過的に変換する Transformer プラグインの使い方を説明します。 - [@unikvs/base64url](https://tai-kun.github.io/unikvs/ja/packages/base64url): バイト列を URL 安全な base64 文字列として表すバイト列へ透過的に変換する Transformer プラグインの使い方を説明します。 - [@unikvs/memory](https://tai-kun.github.io/unikvs/ja/packages/memory): UniKVS のインメモリーストレージ @unikvs/memory の使い方です。 - [@unikvs/fs.node](https://tai-kun.github.io/unikvs/ja/packages/fs-node): Node.js のローカルファイルシステムにバイト列を保存するストレージプラグインの使い方を説明します。 - [@unikvs/fs.bun](https://tai-kun.github.io/unikvs/ja/packages/fs-bun): Bun のローカルファイルシステムにバイト列を保存するストレージプラグインの使い方を説明します。 - [@unikvs/redis.bun](https://tai-kun.github.io/unikvs/ja/packages/redis-bun): Bun の Redis クライアントで Redis にバイト列を保存するストレージプラグインの使い方を説明します。 - [@unikvs/s3.node](https://tai-kun.github.io/unikvs/ja/packages/s3-node): Node.js で S3 互換オブジェクトストレージに保存する @unikvs/s3.node の使い方を説明します。 - [@unikvs/s3.bun](https://tai-kun.github.io/unikvs/ja/packages/s3-bun): Bun の S3 クライアントで S3 互換オブジェクトストレージに保存する @unikvs/s3.bun の使い方を説明します。 - [@unikvs/opfs](https://tai-kun.github.io/unikvs/ja/packages/opfs): ブラウザーの OPFS にバイト列を保存するストレージプラグインの使い方を説明します。 - [@unikvs/indexeddb](https://tai-kun.github.io/unikvs/ja/packages/indexeddb): ブラウザーの IndexedDB に任意のデータを保存するストレージプラグインの使い方を説明します。 - [@unikvs/localstorage](https://tai-kun.github.io/unikvs/ja/packages/localstorage): ブラウザーの localStorage に文字列を保存するストレージプラグインの使い方を説明します。 - [@unikvs/writeonly](https://tai-kun.github.io/unikvs/ja/packages/writeonly): 既存のストレージを書き込み専用にする @unikvs/writeonly の使い方を説明します。 - [@unikvs/debug](https://tai-kun.github.io/unikvs/ja/packages/debug): 読み書きされる操作とデータを @logtape/logtape で記録する @unikvs/debug の使い方を説明します。 - [@unikvs/passthrough](https://tai-kun.github.io/unikvs/ja/packages/passthrough): データを何も変換せずそのまま透過させる @unikvs/passthrough の使い方を説明します。 - [@unikvs/json](https://tai-kun.github.io/unikvs/ja/packages/json): 値を JSON や JSON Lines (JSONL) でシリアライズする Transformer プラグインの使い方を説明します。 - [@unikvs/superjson](https://tai-kun.github.io/unikvs/ja/packages/superjson): Date や Map、Set、BigInt、undefined、循環参照を保持したまま値を JSON へシリアライズする Transformer プラグインの使い方を説明します。 - [@unikvs/cbor](https://tai-kun.github.io/unikvs/ja/packages/cbor): 値と CBOR シーケンスを透過的に変換する Transformer プラグインの使い方を説明します。 - [@unikvs/v8-serde](https://tai-kun.github.io/unikvs/ja/packages/v8-serde): Node.js の v8.serialize で値を高速にシリアライズする Transformer プラグインの使い方を説明します。 - [@unikvs/redis.node](https://tai-kun.github.io/unikvs/ja/packages/redis-node): Node.js の ioredis で Redis にバイト列を保存するストレージプラグインの使い方を説明します。 - [@unikvs/http](https://tai-kun.github.io/unikvs/ja/packages/http): UniKVS の HTTP 汎用ストレージ。fetch だけで読み書きする方法を説明します。 ### リファレンス - [ストレージ比較](https://tai-kun.github.io/unikvs/ja/reference/comparison): 保存先の選択に使うストレージ比較表と選択指針を説明します。 ## English ### Docs - [UniKVS](https://tai-kun.github.io/unikvs/en): Overview and documentation guide for UniKVS, a modular KVS client built with TypeScript. - [Getting started](https://tai-kun.github.io/unikvs/en/getting-started): The shortest path from installing UniKVS to basic operations. - [Concepts](https://tai-kun.github.io/unikvs/en/concepts): How UniKVS combines Transformers and Storages, Value types, and variables. ### Guides - [Guides](https://tai-kun.github.io/unikvs/en/guides): A collection of task-oriented guides. - [Multi-Storage](https://tai-kun.github.io/unikvs/en/guides/multi-storage): Explains parallel writes to multiple destinations and pipeline branching design. - [Streaming](https://tai-kun.github.io/unikvs/en/guides/streaming): Explains how to store and read large data with streams. - [Custom Plugins](https://tai-kun.github.io/unikvs/en/guides/custom-plugin): Explains how to implement Storage and Transformer and what to watch for. - [Errors and Diagnostics](https://tai-kun.github.io/unikvs/en/guides/errors): How to tell UniKVS errors apart and what to do about them. ### Package Reference - [UniKVS](https://tai-kun.github.io/unikvs/en/packages/unikvs): Explains how to use the main package UniKVS, which provides the configuration builder and KVS client. - [@unikvs/core](https://tai-kun.github.io/unikvs/en/packages/core): Overview of @unikvs/core, which provides the types and shared errors for UniKVS. - [@unikvs/utils](https://tai-kun.github.io/unikvs/en/packages/utils): How to use @unikvs/utils for filename validation, byte operations, and stream conversion. - [@unikvs/compression](https://tai-kun.github.io/unikvs/en/packages/compression): Explains how to use the Transformer plugin that transparently compresses and decompresses byte sequences with gzip / deflate / deflate-raw. - [@unikvs/checksum](https://tai-kun.github.io/unikvs/en/packages/checksum): Explains how to use the transformer group that verifies hash values of byte arrays. - [@unikvs/hex](https://tai-kun.github.io/unikvs/en/packages/hex): Explains how to use the Transformer plugin that transparently converts byte sequences to hex strings represented as bytes. - [@unikvs/base64](https://tai-kun.github.io/unikvs/en/packages/base64): Explains how to use the Transformer plugin that transparently converts byte sequences to bytes representing a standard base64 string. - [@unikvs/base64url](https://tai-kun.github.io/unikvs/en/packages/base64url): Explains how to use the Transformer plugin that transparently converts byte sequences to bytes representing a URL-safe base64 string. - [@unikvs/memory](https://tai-kun.github.io/unikvs/en/packages/memory): How to use @unikvs/memory, the in-memory storage for UniKVS. - [@unikvs/fs.node](https://tai-kun.github.io/unikvs/en/packages/fs-node): Learn how to use the storage plugin that saves byte sequences to the local file system in Node.js. - [@unikvs/fs.bun](https://tai-kun.github.io/unikvs/en/packages/fs-bun): Learn how to use the storage plugin that saves byte sequences to the local file system in Bun. - [@unikvs/redis.bun](https://tai-kun.github.io/unikvs/en/packages/redis-bun): Learn how to use the storage plugin that saves byte sequences to Redis with Bun's Redis client. - [@unikvs/s3.node](https://tai-kun.github.io/unikvs/en/packages/s3-node): Learn how to use @unikvs/s3.node to store data in S3-compatible object storage from Node.js. - [@unikvs/s3.bun](https://tai-kun.github.io/unikvs/en/packages/s3-bun): Learn how to use @unikvs/s3.bun to store data in S3-compatible object storage from Bun. - [@unikvs/opfs](https://tai-kun.github.io/unikvs/en/packages/opfs): Learn how to use the storage plugin that saves byte sequences to the browser's OPFS. - [@unikvs/indexeddb](https://tai-kun.github.io/unikvs/en/packages/indexeddb): Learn how to use the storage plugin that saves arbitrary data to the browser's IndexedDB. - [@unikvs/localstorage](https://tai-kun.github.io/unikvs/en/packages/localstorage): Learn how to use the storage plugin that saves strings to the browser's localStorage. - [@unikvs/writeonly](https://tai-kun.github.io/unikvs/en/packages/writeonly): Learn how to use @unikvs/writeonly, which turns an existing storage into a write-only storage. - [@unikvs/debug](https://tai-kun.github.io/unikvs/en/packages/debug): Explains how to use @unikvs/debug, which logs read and write operations and data with @logtape/logtape. - [@unikvs/passthrough](https://tai-kun.github.io/unikvs/en/packages/passthrough): Explains how to use @unikvs/passthrough, which passes data through without transforming it. - [@unikvs/json](https://tai-kun.github.io/unikvs/en/packages/json): Explains how to use the Transformer plugin that serializes values with JSON and JSON Lines (JSONL). - [@unikvs/superjson](https://tai-kun.github.io/unikvs/en/packages/superjson): Explains how to use the Transformer plugin that serializes values to JSON while preserving Date, Map, Set, BigInt, undefined, and circular references. - [@unikvs/cbor](https://tai-kun.github.io/unikvs/en/packages/cbor): Explains how to use the Transformer plugin that transparently converts values to and from CBOR sequences. - [@unikvs/v8-serde](https://tai-kun.github.io/unikvs/en/packages/v8-serde): Explains how to use the Transformer plugin that serializes values fast with Node.js v8.serialize. - [@unikvs/redis.node](https://tai-kun.github.io/unikvs/en/packages/redis-node): Learn how to use the storage plugin that saves byte sequences to Redis with ioredis on Node.js. - [@unikvs/http](https://tai-kun.github.io/unikvs/en/packages/http): Learn how to read and write with @unikvs/http, the generic HTTP storage for UniKVS, using only fetch. ### Reference - [Storage comparison](https://tai-kun.github.io/unikvs/en/reference/comparison): Explains the storage comparison table and selection guide for choosing a persistence backend. ## Changelog - [v0.0.12](https://tai-kun.github.io/unikvs/changelog/v0-0-12) - [v0.0.10](https://tai-kun.github.io/unikvs/changelog/v0-0-10) - [v0.0.9](https://tai-kun.github.io/unikvs/changelog/v0-0-9) - [v0.0.8](https://tai-kun.github.io/unikvs/changelog/v0-0-8) - [v0.0.7](https://tai-kun.github.io/unikvs/changelog/v0-0-7) - [v0.0.6](https://tai-kun.github.io/unikvs/changelog/v0-0-6) - [v0.0.5](https://tai-kun.github.io/unikvs/changelog/v0-0-5) - [v0.0.4](https://tai-kun.github.io/unikvs/changelog/v0-0-4) ## RSS Feeds - [UniKVS — Changelog](https://tai-kun.github.io/unikvs/changelog/rss.xml) ## Agent resources - [llms-full.txt](https://tai-kun.github.io/unikvs/llms-full.txt): The full Markdown of every page in one file. - [Page Markdown](https://tai-kun.github.io/unikvs/index.md): Append `.md` to any page URL to fetch that page as raw Markdown. - [JSON API](https://tai-kun.github.io/unikvs/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://tai-kun.github.io/unikvs/openapi.json. - [API catalog](https://tai-kun.github.io/unikvs/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here. - [AI catalog](https://tai-kun.github.io/unikvs/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs). - [agent-readability.json](https://tai-kun.github.io/unikvs/agent-readability.json): Manifest of every agent-facing artifact on this site. - [Sitemap](https://tai-kun.github.io/unikvs/sitemap.xml): Every indexable page URL with its last-modified date.