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

maat-ostraca

v0.5.0

Published

Translate the ghost in the machine into the poetry of human intent

Readme

maat-ostraca

maat-ostraca is a CLI that analyzes source files and returns structured, machine-friendly insights.

At a high level, the CLI is designed to:

  • Parse code from a file path or stdin
  • Run selected analysis rules on one source snapshot or a diff between two snapshots
  • Return predictable JSON output focused on maps and stable ordering
  • Help track code structure and evolution across time or across projects

The output model emphasizes direct key access (for example, function/method/class/interface maps), compact metrics, and optional delta-focused diff views for low-noise reporting.

Quick Start

Install and run locally:

npm install
npm run build
npm link
maat rules --language typescript --json

Or run without linking:

npx maat-ostraca rules --language typescript --json

Basic commands:

# Analyse one file
maat analyse --in testdata/determinism/wide-v1.ts --rules import_files_list,file_metrics,code_hash --language typescript --json

# Analyse all rules for one language
maat analyse --in testdata/go/determinism/wide-v1.go --rules '*' --language go --json

# Diff two snapshots
maat diff --from testdata/go/hash/v1.go --to testdata/go/hash/v2.go --rules code_hash --language go --json

# List rules for one language
maat rules --language dart --json

# Analyse from stdin when --in is omitted
cat testdata/dart/env/analyse.dart | maat analyse --rules env_names_list --language dart --json

Supported Commands

  • analyse
  • diff
  • rules

Language Support Matrix

  • typescript: imports, metrics, code hash, symbol maps, I/O counts, messages, env names, testcase titles
  • go: imports, metrics, code hash, symbol maps, I/O counts, messages, env names, testcase titles
  • dart: imports, metrics, code hash, symbol maps, I/O counts, messages, env names, testcase titles

Determinism Guarantees

  • Canonical JSON output with stable key ordering
  • Sorted and deduped list outputs where applicable
  • Golden-test coverage across analyse and diff flows
  • Repeated-run byte stability for the same inputs and rule selection

JSON output is the machine contract. Non-JSON output is human-oriented, but remains deterministic for the same command input.