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

@agentxm/cli-maintenance

v0.30.2

Published

CLI maintenance policies and application contracts for self-update and compatibility between the running AXM CLI and its official skill. Unstable and unsupported — use the axm.sh CLI.

Readme

@agentxm/cli-maintenance

Owns policies for maintaining the running AXM CLI. CLI maintenance is strategically supporting even when its outcomes are directly requested by a user. Its policies must not become rules for unrelated extensions.

The self-update frontstage capability owns installation facts, supported platforms, version comparison, equal-version reinstall, downgrade refusal, and eligibility for an automatic upgrade. These decisions are published through ./self-update/domain and depend only on explicit facts.

./self-update/application prepares the immutable upgrade candidate: it checks platform eligibility, requires installation ownership before release selection, and decides the action shared by preview and application. It owns the InstallationInspection and CliReleaseCatalog contracts, the invocation directory, command evidence, and typed upgrade failures. The ./self-update/adapters/releases implementation reads the public stable channel and derives immutable GitHub coordinates; ./self-update/composition connects it to the caller's HTTP client. Substitute catalogs exercise selection policy without HTTP, installation state, or a CLI. Native host implementations live beside the application in self-update/adapters/native; their Layers are selected through ./self-update/composition/native. The CLI owns concrete progress observation and cache-path selection in its composition. The same application owns package and script upgrade execution: availability checks, checksum and exact-version acceptance, backup and replacement order, rollback verification, and recording only accepted installations. Native adapters implement PackageInstaller, ScriptReleaseAssets, ScriptExecutableInstaller, and InstallationRecorder.

assessUpgrade is a separate read-only query. It needs inspection, release selection, the invocation directory, and InstallerInstructions; no mutation or cache-write service is required. It returns a typed prospective command or executable replacement. ./self-update/adapters/cli supplies preview wording and the assessment document. applyUpgrade accepts the prepared candidate and uses the mutation contracts. Installer command and recovery grammar remain behind InstallerInstructions, shared with the concrete native protocols. ./self-update/adapters/native exposes native service contracts and ./self-update/testing/native supplies controlled installation fixtures. Native trials run without delivery observation; the CLI owns the experience specifications and their operation-lifecycle fixture. Capability boundaries remain enforced inside this package without a separate native-adapter package.

The same capability owns informational startup checks: suppression, cache freshness, version eligibility, conditional refresh, and the decision that an unavailable check cannot fail an explicit command. UpdateCheckCache and StableChannelCheck are application contracts. The cache reports a validated snapshot; the application evaluates it once and returns version facts. Its optional refresh belongs to the invocation scope, with a three-second bound. The HTTP adapter validates the release authority's response; filesystem storage is supplied by the native cache adapter. The CLI reads environment and invocation signals and formats human or agent notifications. These decisions can be exercised without either adapter or a delivery interface.

The official-skill backstage capability has four published entry points:

  • ./official-skill/domain evaluates release metadata, bounded version ranges, compatibility, and the recovery outcome from explicit facts.
  • ./official-skill/application owns the injectable compatibility contract and its unavailable-policy failure.
  • ./official-skill/composition binds the running CLI version to that contract.
  • ./official-skill/adapters/cli renders the selected recovery action into CLI commands and the CLI's compatibility document. Domain results contain the action and version targets, independent of command grammar.

Domain and application code cannot import filesystem, provider, or delivery mechanisms. Source descriptors in tools/architecture/config.mjs enforce these roles within this package. The backstage compatibility capability cannot import the frontstage self-update capability. Byte acquisition and workspace inspection supply the facts; they do not own compatibility decisions.

Unstable and unsupported — use the axm.sh CLI.

FSL-1.1-MIT © 2025-2026 AgentXM, Inc.