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

acac-cli

v0.2.7

Published

Show recent AtCoder AC history as a weekly ccusage-style table

Readme

acac-cli

test release npm downloads Socket score OpenSSF Scorecard License: MIT

(日本語READMEはこちら)

ABOUT

A CLI tool written in Haskell for checking your recent AtCoder AC count and the problems you solved, from the command line.

Inspired by ccusage.

It uses the AtCoder Problems API to fetch the AC history.


HOW TO USE

npx acac-cli <atcoder-username>
┌──────────────────┬────┬───────────────────────────────────────────────────┐
│ Date             │ AC │ Problems                                          │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ 2026-05-26 (Tue) │ 2  │ abc081B abc290A                                   │
│ 2026-05-29 (Fri) │ 1  │ abc342C                                           │
│ 2026-05-30 (Sat) │ 6  │ abc460A abc460B abc460C abc460D awc0001A awc0001B │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ week total       │ 9  │                                                   │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ 2026-05-31 (Sun) │ 1  │ abc460C                                           │
│ 2026-06-01 (Mon) │ 1  │ abc460D                                           │
│ 2026-06-06 (Sat) │ 3  │ abc461A abc461B abc461C                           │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ week total       │ 5  │                                                   │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ 2026-06-07 (Sun) │ 1  │ abc461C                                           │
│ 2026-06-08 (Mon) │ 1  │ abc144B                                           │
│ 2026-06-09 (Tue) │ 5  │ abc106B abc120B abc122B abc136B abc150B           │
│ 2026-06-10 (Wed) │ 1  │ abc057C                                           │
│ 2026-06-11 (Thu) │ 1  │ abc095A                                           │
│ 2026-06-12 (Fri) │ 1  │ sumitrust2019D                                    │
│ 2026-06-13 (Sat) │ 3  │ abc462A abc462B abc462C                           │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ week total       │ 13 │                                                   │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ 2026-06-15 (Mon) │ 5  │ APG4bA APG4bPythonA abc128C abc462B abc462D       │
│ 2026-06-17 (Wed) │ 3  │ abc145C abc147C abc150C                           │
│ 2026-06-18 (Thu) │ 2  │ abc054C abc448B                                   │
│ 2026-06-19 (Fri) │ 5  │ abc054C abc245B abc273A abc425B awc0001B          │
│ 2026-06-20 (Sat) │ 6  │ abc029C abc153D abc247C abc463A abc463B abc463C   │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ week total       │ 21 │                                                   │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ 2026-06-22 (Mon) │ 2  │ abc292B abc350B                                   │
├──────────────────┼────┼───────────────────────────────────────────────────┤
│ week total       │ 2  │                                                   │
└──────────────────┴────┴───────────────────────────────────────────────────┘

It displays your recent AC history as a weekly table.

supported

The following binaries are built.

| OS | binary type | Verified on real device | | ------- | ------------ | ----------------------- | | Linux | linux-x64 | ✅ | | Linux | linux-arm64 | | | macOS | darwin-arm64 | ✅ | | macOS | darwin-x64 | | | Windows | win32-x64 | ✅ |

If you have verified acac on a real device other than the ✅ ones, please let us know via an Issue.

If you use another environment, we would appreciate a request/PR on an Issue, but you can also set it up by referring to For Developer Memo.

Supply chain / build transparency

For supply chain transparency, the distributed artifacts are produced as follows.

  • All binaries are built on GitHub Actions from the acac-cli source. Nothing is published from a local machine.
    • Linux (linux-x64 / linux-arm64) is a reproducible musl static build via Nix (nix build .#static).
    • macOS / Windows are built on each OS's native runner with GHC 9.12.2 + cabal.
  • Publishing to npm is done by CI with provenance (--provenance, OIDC trusted publishing). Each release can be verified back to the workflow run and commit it came from.
  • Releases are cut from v*.*.* tags using GitHub Immutable Releases (the release is created by the CI bot, not by hand).
  • Each GitHub Release binary is signed with cosign (keyless) — every acac-<os>-<arch> ships an accompanying .sig (signature) and .pem (certificate), plus a acac.intoto.jsonl SLSA provenance attestation for the release. This is what OpenSSF Scorecard's Signed-Releases checks (Immutable Releases and npm provenance alone do not satisfy it).
  • Platform binaries are distributed as acac-<os>-<arch> optionalDependency packages, so the main package has no runtime dependencies.