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 🙏

© 2025 – Pkg Stats / Ryan Hefner

atlpm

v3.1.2

Published

ATProtocol Lexicon Package Manager

Downloads

28

Readme

ATProtocol Lexicon Package Manager

Concept Inspiration from lpm Forked from @atproto/lex-cli

NPM Github CI Status

This is a ATProto ...

... Package Manager.

Usage

pnpm add atlpm

atlpm init
atlpm install
atlpm add app.bsky.feed.post com.atproto.sync.subscribeRepos
atlpm publish com.example.instance

atlpm add -y \
  github:app.bsky.feed.post \
  local:com.example.test \
  https://raw.githubusercontent.com/bluesky-social/atproto/refs/heads/main/lexicons/:app.bsky.feed.like \
  https://raw.githubusercontent.com/bluesky-social/statusphere-example-app/refs/heads/main/lexicons/status.json:xyz.statusphere.status

コマンドの説明

publishに関して

atlpm publish <nsid>で、localで読み込める状態のlexiconをPDSにrecordとして書き込み、世界中の人があなたのlexiconを(nsidさえ知っていれば)このようなツールを使って読み込むことができるようにします。 lexicon schemaが必要なのはもちろんのこと、アカウントは何でもいいのでApp Passwordを使ってログインできる環境であることと、DNSのレコードを設定できる状況にあることが必須です。(既にDNSレコードを設定できている場合はログイン情報のみで大丈夫です。)

読み込みに関して

<nsid>で読み込むと、pds->github->localの優先順に対応しているregistryを自動的に探して設定します。 local:<nsid>で読み込むと、schemaDirで設定されているディレクトリ下のschemaを読み込むように設定します。 pds:<nsid>で読み込むと、こちらに書かれた方法でpdsからschemaを読み込むように設定します。 github:<nsid>で読み込むと、githubから自動でschemaを読み込むように設定します。今のところbsky.app, bsky.chat, atproto.com, ozone.tools, linkat.blue, whtwnd.com, unravel.fyi, smokesignal.events, pastesphere.link, psky.social, moji.blue, stellar.maril.blue, evex.land, skyblur.ukに対応しています。対応してほしいTLDがありましたら、お手数ですが作成者にお知らせください。 <url>:<nsid>で読み込むと、指定されたURLからschemaを読み込むように設定します。nsidのドットがそのままスラッシュに置き換わっているタイプのURLであれば、lexiconsディレクトリをURLに指定することでも読み込め、その場合依存関係を読み込む際にもそのURLが使われるようになります。

依存関係に関して

依存関係の読み込みに関しては、一度atlpm.jsonlexiconsに書かれているnsidのschemaをそこで指定されたregistryから全て読み込み、その後それらの依存関係を全てpds->github->依存関係が書かれた元のschemaを読み込んだURL->その他のURL->localの優先順(URLがschemaそのものを指定している場合そのURLはスキップされます)で読み込んでいます。 もし自動で読み込まれない依存関係が存在した場合は${nsid} could not be loaded in any registry!と表示されるようになっているので、そのようなschemaに関してはそれぞれatlpm.jsonlexiconsに追記してください。

将来的には...

読み込み時のnsidのワイルドカード表記に関しては、依存関係を別ディレクトリで管理できるようになってから対応させるつもりです。