unrag

Install and configure RAG primitives in a TypeScript codebase.

14|Updated Dec 17, 2025
One-click install
npx skills add https://github.com/BetterStacks/unrag --skill unrag
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unrag
Source: https://github.com/BetterStacks/unrag/tree/main/packages/unrag/skills/unrag
Command: npx skills add https://github.com/BetterStacks/unrag --skill unrag

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill simplifies the integration of Retrieval-Augmented Generation (RAG) into your TypeScript projects by providing auditable, drop-in source code primitives instead of complex frameworks.

Core Features & Use Cases

  • RAG Installation: Easily add RAG capabilities (ingest, retrieve, rerank, delete) directly into your codebase.
  • Component Swapping: Simple interfaces for embedding providers, store adapters, and extractors.
  • Local-First Development: Operates without external services, keeping your RAG implementation within your repository.
  • Use Case: Integrate a powerful search and retrieval system into your documentation site or internal knowledge base with minimal setup and full code ownership.

Quick Start

Initialize unrag in your project by running bunx unrag@latest init.

Frequently Asked Questions about unrag

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add retrieval-augmented generation to a TypeScript codebase without using a framework?

You can add retrieval-augmented generation by vendoring auditable source files directly into your TypeScript project, using simple primitives like `ingest()` and `retrieve()` for local-first development without external frameworks.

How does document ingestion and embedding generation work for local-first development?

Document ingestion and embedding generation use swappable interfaces for embedding providers and extractors, processing documents and storing vectors locally within your repository through simple function calls.

Can I swap embedding providers and vector store adapters in my RAG implementation?

Yes, embedding providers and vector store adapters are swappable. The implementation provides simple interfaces for these components, enabling you to customize your RAG pipeline's storage and embedding behavior within your codebase.

What is the best way to integrate a search and retrieval system into a documentation site?

The best way to integrate a search and retrieval system into a documentation site is by vendoring RAG primitives directly into your codebase, ensuring minimal setup, full code ownership, and no dependency on external services.

How do I initialize and configure RAG capabilities in my TypeScript project?

You initialize and configure RAG capabilities by running `bunx unrag@latest init` in your TypeScript project, which sets up vendored source files for document ingestion, embedding generation, vector storage, retrieval, and reranking.

Do I need external services or dependencies to operate a vector database for retrieval?

No external services or dependencies are required. The implementation operates local-first, keeping your vector database and RAG implementation entirely within your repository for full code ownership and auditability.