---
name: bijection-slugs
description: "Evaluate and integrate the Slugs component with Bijection."
---

# Slugs

Unique slug and handle registry with rename redirects, as a Bijection component

- Package: @bijectionhq/slugs
- Category: Database & Backend
- Status: Preview
- License: MIT
- Bijection source (repository access required): https://github.com/bijectionhq/slugs/tree/724a8414f44e9f661a7d7410471df85ba39eb507
- Upstream: https://github.com/vllnt/convex-slugs/tree/2051641ebf8c7a3a0ceebc347ed0af5a5c3047d7
- Documentation: https://docs.bijection.com/components/using
- Directory: https://bijection.com/components/slugs

## Get the source

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

```sh
git clone https://github.com/bijectionhq/slugs.git
cd slugs
git checkout 724a8414f44e9f661a7d7410471df85ba39eb507
```

## 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 @vllnt/convex-slugs. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


> Agents: read this skill fully before writing code that uses Slug Registry. Follow the installation and configuration steps exactly.

# Slug Registry

## Instructions

@vllnt/convex-slugs maps a readable name to an opaque resource reference. Your app can reuse the same registry pattern for profiles, workspaces, content, or any resource that needs a unique human-readable identifier.

reserve enforces uniqueness within a scope. resolve finds the resource, and slugForResource performs a reverse lookup. rename records redirect mappings and collapses redirect chains. Configure length, character patterns, reserved words, and case sensitivity; Unicode NFC normalization is supported.

Your backend authorizes name changes and your router applies redirects. The component does not create web routes or handle impersonation policy. Normalization does not eliminate every visually similar Unicode name; choose validation rules appropriate to your product.

Maintained by [bntvllnt](https://bntvllnt.com) at [VLLNT](https://vllnt.com). Find the author on [GitHub](https://github.com/bntvllnt) and [X](https://x.com/bntvllnt).

### Installation

```bash
npm install @vllnt/convex-slugs
```

Current npm version: `@vllnt/convex-slugs@0.1.0`

## Use cases

- Social and mobile apps: reserve a unique profile handle.
- SaaS products: give each workspace a readable URL segment.
- Publishing tools: map article or collection slugs to content records.
- Games and communities: reserve team names or public creator handles.

## How it works

reserve enforces uniqueness within a scope. resolve finds the resource, and slugForResource performs a reverse lookup. rename records redirect mappings and collapses redirect chains. Configure length, character patterns, reserved words, and case sensitivity; Unicode NFC normalization is supported.

Your backend authorizes name changes and your router applies redirects. The component does not create web routes or handle impersonation policy. Normalization does not eliminate every visually similar Unicode name; choose validation rules appropriate to your product.

## 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 Slug Registry is not needed

## Resources

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