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

roodex

v1.0.1

Published

Agentic toolchain for Robinhood Chain (chain id 4663). Generates AGENTS.md with the chain conventions, lints Solidity against eight Nitro-semantics rules, simulates deploy bundles on a fork, and signs receipts that gate the deploy in CI.

Readme

roodex

CLI for Robinhood Chain — chain id 4663, an Arbitrum Orbit / Nitro L2 with 100 ms blocks, an FCFS sequencer that ignores priority fee, and data availability through Ethereum blobs.

The chain reached mainnet on 1 July 2026 and never entered a training cut, so an agent left to itself substitutes Arbitrum One constants and counts blocks in the wrong units. This puts the chain's conventions in the repository, and enforces them in CI.

npx roodex init      # writes AGENTS.md + .roodex/

Node 20+, zero runtime dependencies.

Commands

roodex init [--local] [--rpc URL]     # AGENTS.md with the chain conventions
roodex demo [--fixed]                 # scaffold a project that shows the whole path
roodex lint <path...>                 # eight rules, exit 1 on any error
roodex simulate --bundle f.json [--receipt-out receipt.json]
roodex receipt publish receipt.json
roodex gate --receipt f --bundle f [--max-age 1800] [--require-clean-lint]
roodex call <tool> '{"json":"args"}'  # any of the twelve tools directly
roodex tools

init generates an AGENTS.md holding the chain id, RPC, precompile addresses, stock-token registry and the forbidden patterns. Codex, Claude Code and Cursor all read that file natively — the conventions reach the agent even where MCP is not available.

The whole path in a minute

npx roodex init
npx roodex demo            # a vault written the way an agent writes it
npx roodex lint src/       # 13 errors, 2 warnings → exit 1
npx roodex demo --fixed
npx roodex lint src/       # clean → exit 0
npx roodex simulate --bundle script/Deploy.bundle.json --receipt-out receipt.json
npx roodex receipt publish receipt.json
npx roodex gate --receipt receipt.json --bundle script/Deploy.bundle.json --require-clean-lint

The gate exits 0 only when the receipt is signed, fresh, published, and its bundleHash matches the deploy bundle. Edit receipt.json by hand and signature recovery catches it — which is the point: "simulate first" becomes a machine check instead of a claim in a pull request.

roodex demo also drops a GitHub Actions workflow wiring exactly that into CI.

Lint rules

RD001 block.number as an L2 block counter · RD002 ordering bought with priority fee · RD003 cached balanceOf/totalSupply of a stock token · RD004 transfer without handling compliance rejection · RD005 pricing or liquidation outside the trading session · RD006 msg.sender without L1→L2 aliasing · RD007 gas budget without the L1 component · RD008 windows sized for twelve-second blocks

Each finding carries a primary source and a replacement snippet.

Scope

Network access is modelled, not live: the RPC, archive reads and publication to RoodAttestations run against deterministic local fixtures. Everything that does not need a node — the linter, NYSE session and calendar logic, storage-slot math, ABI and revert decoding, gas decomposition, EIP-712 signing and verification — is real and runs offline.

See also

MIT.