Back to skills
extension
Category: Development & EngineeringNo API key required

libindex

libindex - Base index class for storage-backed data. Index class provides JSONL storage operations and filtering logic. BufferedIndex adds high-volume write support with periodic flushing. Use for building custom indexes, implementing data stores, and managing persistent collections.

personAuthor: jakexiaohubgithub

libindex Skill

When to Use

  • Building custom storage-backed indexes
  • Implementing JSONL-based data stores
  • Creating searchable collections with filtering
  • Managing high-volume write workloads

Key Concepts

Index: Base class providing read/write/filter operations on JSONL files. Subclass to create domain-specific indexes.

BufferedIndex: Extends Index with write buffering for high-throughput scenarios, flushing periodically.

Usage Patterns

Pattern 1: Create custom index

import { Index } from "@copilot-ld/libindex";

class UserIndex extends Index {
  constructor(storage) {
    super(storage, "users");
  }

  async findByEmail(email) {
    return this.filter((user) => user.email === email);
  }
}

Pattern 2: High-volume writes

import { BufferedIndex } from "@copilot-ld/libindex";

const index = new BufferedIndex(storage, "logs", { flushInterval: 5000 });
await index.append(logEntry); // Buffered
await index.flush(); // Force flush

Integration

Base class for VectorIndex, TraceIndex, ResourceIndex and other domain indexes.