npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@uniqent/spec

v0.2.0

Published

The canonical .uniqent bundle schema (source of truth).

Readme

@uniqent/spec

The canonical .uniqent bundle schema — the source of truth for the format.

Part of Uniqent — any brain, any agent: package an AI agent's whole brain into one open, signed .uniqent file and install it into whatever framework you run.

What it is

  • The zod schemas that define every file inside a .uniqent bundle:
    • Manifest — uniqent.json, the root descriptor (name, version, author, components, compatibility)
    • CredentialRequirement — what secrets the bundle needs (never the values themselves)
    • PermissionScope — the permission sheet shown to the user before any install write
    • McpServer / McpServersFile — MCP server declarations (streamable-http, sse, stdio)
    • MemoryItem / MemoryProfile — facts, decisions, preferences, milestones, episodic entries
    • Channel / ChannelsFile — messaging surfaces (Telegram, Discord, Slack, …)
    • ToolDecl / ToolsFile — native/built-in tool enablement
    • Task / TaskTrigger — scheduled and event-driven automations
    • RuntimeConfig — model/provider preferences, autonomy level, tool allowlist
    • Signature — detached Ed25519 signature over a canonical SHA-256 digest
  • A generated JSON Schema (Draft-07) shipped in schema/uniqent.schema.json for non-TypeScript consumers.
  • Common primitives: Slug, Semver, Autonomy, SPEC_VERSION.
  • A buildJsonSchema() helper and SCHEMA_REGISTRY for codegen and drift detection.
  • The format is versioned (specVersion: "0.1"); the spec text/schema is CC0 so anyone can build on it.

Install

npm install @uniqent/spec

Usage

import { Manifest } from '@uniqent/spec';

// Parse and validate a manifest object (throws on invalid input)
const manifest = Manifest.parse({
  specVersion: '0.1',
  name: 'my-agent',
  displayName: 'My Agent',
  version: '1.0.0',
  description: 'A portable AI agent brain.',
  author: { name: 'Alice' },
  license: 'MIT',
  tags: ['assistant'],
  components: {
    identity: true,
    memory: { facts: 12, episodic: 3, hasProfile: true },
    skills: ['web-search'],
    mcp: ['github'],
    tools: [],
    tasks: [],
    channels: [],
  },
  credentials: [],
  permissions: {
    filesystem: { read: [], write: [] },
    network: { endpoints: ['api.github.com'] },
    autonomy: 'suggest',
    spawnsProcesses: false,
  },
  compatibility: { targets: ['claude-code', 'hermes'] },
});

// Or use safeParse for non-throwing validation
const result = Manifest.safeParse(unknownData);
if (!result.success) {
  console.error(result.error.issues);
}

JSON Schema (non-TypeScript consumers)

import schema from '@uniqent/spec/schema';
// schema is the full Draft-07 JSON Schema document

Or reference the published file directly: node_modules/@uniqent/spec/schema/uniqent.schema.json

Where this fits

@uniqent/spec is consumed by @uniqent/core (bundle read/write, signing, secret-scan), @uniqent/builder (brain assembly engine), and every adapter (@uniqent/adapter-claude-code, @uniqent/adapter-hermes, @uniqent/adapter-openclaw). The full human-readable reference is docs/SPEC.md in the monorepo.

License

CC0-1.0 for the spec text/schema. See the Uniqent monorepo.