---
name: bijection-kv
description: "Evaluate and integrate the Key-Value Store component with Bijection."
---

# Key-Value Store

Hierarchical Key-Value store for Bijection

- Package: @bijectionhq/kv
- Category: Database & Backend
- Status: Preview
- License: Apache-2.0
- Bijection source (repository access required): https://github.com/bijectionhq/kv/tree/be9c95758a19f50f17a2bb6b6b4e151af0f32fb5
- Upstream: https://github.com/hamzasaleem2/convex-kv/tree/07b8b693a8b3b290de0a24f07c1eaa48abd55f3f
- Documentation: https://docs.bijection.com/components/using
- Directory: https://bijection.com/components/kv

## Get the source

Bijection repository access is required. Request access at https://bijection.com/contact.

```sh
git clone https://github.com/bijectionhq/kv.git
cd kv
git checkout be9c95758a19f50f17a2bb6b6b4e151af0f32fb5
```

## Before using this component

Read the package README at the recorded revision for setup, dependencies, and API examples. Upstream documentation describes the original package and may differ from the Bijection adaptation. This is a source candidate for evaluation. Catalog inclusion does not establish npm availability or runtime qualification. Check compatibility with your SDK and deployment before adoption. External providers run their own compute.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes @hamzasaleemorg/convex-kv. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


# @hamzasaleemorg/convex-kv

## Instructions

Use @hamzasaleemorg/convex-kv to store hierarchical key-value data in convex with namespaced paths, supporting nested keys and efficient queries for configuration and metadata. This Convex component integrates directly with your backend.

### Installation

```bash
npm install @hamzasaleemorg/convex-kv
```

### Capabilities

- Store configuration and metadata with hierarchical keys like 'app/settings/theme' for organized data access
- Query nested key structures efficiently without complex database schemas or table relationships
- Manage application state and settings with familiar key-value patterns while leveraging Convex reactivity
- Access and update deeply nested configuration values with simple get/set operations

## Examples

### how to store app configuration in Convex

@hamzasaleemorg/convex-kv enables storing configuration with hierarchical keys like 'app/theme/colors/primary'. You can organize settings by namespace and query specific branches of your configuration tree without creating multiple tables.

### Convex key value store with nested keys

This component provides a hierarchical key-value interface over Convex tables, supporting nested paths like 'users/123/preferences/notifications'. You can set and get values at any level of the hierarchy while maintaining Convex's real-time reactivity.

### store metadata in Convex database

@hamzasaleemorg/convex-kv allows storing metadata with structured keys like 'resources/images/upload-settings'. You can organize metadata by category and retrieve specific subsets without complex queries or table joins.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by @hamzasaleemorg/convex-kv is not needed

## Troubleshooting

**How does @hamzasaleemorg/convex-kv handle nested key structures?**

@hamzasaleemorg/convex-kv uses path-like keys with forward slashes to create hierarchical structures. You can store values at paths like 'app/settings/theme/mode' and query all keys under a specific namespace like 'app/settings'. The component handles the path parsing and storage internally while providing a simple get/set API.

**Can I query all keys under a specific namespace?**

Yes, @hamzasaleemorg/convex-kv supports namespace queries where you can retrieve all key-value pairs under a specific path prefix. For example, querying 'app/settings' would return all configuration keys that start with that path, enabling you to fetch entire configuration sections at once.

**Does this component work with Convex real-time updates?**

@hamzasaleemorg/convex-kv maintains full compatibility with Convex's real-time reactivity. When you update a key-value pair, any queries or subscriptions watching that key or its parent namespace will automatically update, providing live updates to your application state and configuration changes.

**What's the difference between this and regular Convex tables?**

@hamzasaleemorg/convex-kv provides a key-value abstraction over Convex tables specifically designed for hierarchical data. Instead of designing schemas for configuration or metadata tables, you can use familiar key-value operations with nested paths. It's ideal for settings, feature flags, and metadata that doesn't fit well into structured table schemas.

## Resources

- [npm package](https://www.npmjs.com/package/%40hamzasaleemorg%2Fconvex-kv)
- [GitHub repository](https://github.com/hamzasaleem2/convex-kv)
- [Live demo](https://convex-kv.vercel.app)
- [Convex Components Directory](https://www.convex.dev/components/hamzasaleemorg/convex-kv)
- [Convex documentation](https://docs.convex.dev)