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

aval-adr

v1.9.0

Published

Ask what the current architecture decision is, and get a typed answer

Readme

aval

Git is the history. ADRs are the evidence. aval resolve tells you what is true now.

Most ADR tooling helps you write and browse decision records. aval answers a different question, the one a coding agent actually needs before it writes a line of code: what is decided here, now. The records are the evidence, the current architecture is computed from them, and the answer is a verdict with an exit code:

$ aval resolve storage.object-store --scope homelab
active   ADR-0002   Ceph RGW
  scope: homelab
$ echo $?
0

and, just as importantly, it refuses to guess when it should not:

$ aval resolve data.realtime-processing
undecided   no accepted decision for data.realtime-processing
$ echo $?
4

$ aval resolve api.gateway
contradiction   2 heads for api.gateway; the corpus disagrees with itself
  ADR-0001  introduced in 8d68d23f
  ADR-0002  introduced in 7941cf9b
  Stop. Do not pick one; write the ADR that replaces both.
$ echo $?
5

An agent branches on a number. It never reads three documents and reasons its way to a plausible wrong answer.

Install

curl -fsSL https://raw.githubusercontent.com/fredericrous/aval/main/install/install.sh | sh

Or brew install fredericrous/tap/aval, cargo install aval, or npx aval-adr. Windows, version pins and gating a repository with one line of amont: installing and gating.

Use

| | | |---|---| | aval resolve <key> [--scope S] | the authoritative lookup | | aval relevant [--path P]… [--text W] [--changed] | which keys bear on what you are about to touch, ranked, each with its verdict. Advisory: it resolves nothing | | aval keys | the vocabulary: every key, and where it is decided | | aval check | every invariant; what the git hook and CI run | | aval heads [--write\|--check] | the HEADS.md projection | | aval hook install | put the heads in front of an agent at session start | | aval mcp | the same answers as read-only MCP tools | | aval add <source> | vendor another repository's decisions |

Every command, option and exit code: commands.

Documentation

The verdicts, their exit codes, the note strings, the --json field names and the frontmatter dialect are stable since 1.0; §15 of SEMANTICS.md says exactly what that covers.

Building

make check runs what CI runs. No external dependencies, by design and enforced in CI: aval runs on the pre-commit path, so it pulls in nothing. More in building.

License

MIT