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

@libra-mcp/libra-test

v0.1.6

Published

Zero-config CLI to run static and LLM rules against a codebase — day-one wow moment for Libra

Readme

libra-test

Run static rules against your codebase based on your Cursor and Claude rules.

Usage

Run rules from your repo’s .libra/rules/ — runs every .rule.js, .rule.ts, and .rule.sh in that folder:

npx @libra-mcp/libra-test

Or use a built-in template (no setup):

npx @libra-mcp/libra-test --template baseline-ui

Multiple templates:

npx @libra-mcp/libra-test --template baseline-ui --template fixing-accessibility --template fixing-metadata

Options: --template <name> (repeatable), --strict (exit 1 on warnings too), --json, --list (show templates).

What it does

  • Project mode (no --template): Looks for a .libra/rules/ folder in the current directory. If present, runs every .rule.js, .rule.ts, and .rule.sh in it (.rule.ts is run via tsx); .rule.md files are counted as LLM rules (skipped in CLI). If the folder is missing, you’ll get a short message and exit code.
  • Template mode (--template <name>): Runs predefined static rules from a built-in template (e.g. baseline-ui) against the current working directory.
  • Output: File-specific violations with paths and line numbers. Failures (✗) and warnings (⚠) are listed separately. LLM rules are counted and skipped with a pointer to libra-mcp.com.
  • Severity: Rules that say “unless requested” (e.g. no gradient, no tracking) use warn severity: they are reported under “Warnings” and do not set a non-zero exit code. Use --strict to make warnings fail the run (e.g. in CI).
  • Exit code: Non-zero if any static rule failed (errors). Warnings alone do not fail; add --strict to fail on warnings too.

Templates

  • baseline-ui — Opinionated UI baseline (Tailwind, accessibility, layout). From ui-skills baseline-ui. Includes 6 static rules (h-dvh, icon button aria-label, no arbitrary z-index, 200ms interaction feedback, no gradient/tracking unless requested) and 8 LLM rules (skipped in CLI; run via GitHub App).
  • 12-principles-of-animation — Audit animation quality using Disney's 12 principles adapted for web (timing, easing, physics, staging), with file:line findings format. Includes 3 static rules and 3 LLM rules.
  • fixing-accessibility — Audit and fix HTML accessibility (ARIA labels, keyboard, focus, forms, contrast, motion). Includes 4 static rules (icon-button aria-label, no div/span as button, no tabindex > 0, empty link) and 9 LLM rules.
  • interaction-design — Design and implement microinteractions, transitions, loading states, gesture interactions, and feedback patterns with accessibility and performance guidance. Includes 2 static rules and 3 LLM rules.
  • fixing-metadata — Audit and fix HTML/SEO metadata (titles, descriptions, canonical, OG, Twitter cards, favicons, JSON-LD). Includes 4 static rules (no duplicate title, html has lang, viewport meta, no duplicate meta description) and 8 LLM rules.
  • fixing-motion-performance — Audit and fix animation performance issues (layout thrashing, compositor properties, scroll-linked motion, blur/filter usage, and tool boundaries). Includes 4 static rules (no layout transition, no scroll-event animation, no will-change layout, animation requires reduced-motion) and 4 LLM rules.
  • swiftui-ui-patterns — Best practices and examples for SwiftUI view composition, state ownership, environment injection, TabView/NavigationStack wiring, and sheet patterns. Includes 2 static rules and 3 LLM rules.
  • tailwind-patterns — Production-ready Tailwind CSS component patterns for layouts, cards, navigation, forms, buttons, typography, responsive behavior, dark mode, and correction rules for common mistakes. Includes 5 static rules and 3 LLM rules.
  • ui-ux-pro-max — Comprehensive UI/UX design intelligence for accessibility, interaction, performance, responsive layout, typography/color, animation, style selection, and chart guidance with stack/domain search workflows. Includes 2 static rules and 4 LLM rules.
  • wcag-audit-patterns — WCAG 2.2 accessibility audit checklist and remediation guidance across POUR principles, automated testing, and common fix patterns. Includes 6 static rules and 4 LLM rules.