Skip to content
← Public packages

@kentcdodds/skills

Store, retrieve, edit, version, and revert reusable agent skill documents via skillList then skillGet.

src/backend.ts

18 lines · 644 B · TypeScript
import { ensureSchema, getMeta } from './db.ts'

export type RegistryBackend = 'legacy' | 'repo'

export async function getBackend(): Promise<RegistryBackend> {
	await ensureSchema()
	const value = await getMeta('backend')
	return value === 'repo' ? 'repo' : 'legacy'
}

export async function assertRepoBackend(): Promise<void> {
	const backend = await getBackend()
	if (backend !== 'repo') {
		throw new Error(
			'Skills registry backend is still `legacy` (SQLite package storage). Run packages.invoke({ kodyId: "skills", exportName: "./migrate-to-repo" }) after the plain-repo copy is verified, or set registry_meta.backend=repo.',
		)
	}
}