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

@thallylabs/cli

v0.8.89

Published

CLI for publishing Thally docs from Git and turning product changes into evidence-backed updates for human review.

Readme

thally CLI

Product knowledge, kept in step with your code.

Create a docs site, write and publish content, and prepare updates from product changes for your team to review.

npx @thallylabs/cli init my-docs --yes
cd my-docs
npx thally dev

init installs dependencies by default (--no-install skips it), and new sites include @thallylabs/cli as a dev dependency, so npx thally runs the project's own CLI. Once the preview is ready, thally dev prints the local llms.txt and /api/mcp endpoints and a claude mcp add --transport http command for connecting Claude Code.

Terminal output

Interactive terminals show the THALLY wordmark, task headings, and live progress. Running thally opens a short welcome; thally --help shows the command reference. The wordmark adapts to narrow terminals. Output automatically uses plain text in CI, when output is not a TTY, with TERM=dumb, or when NO_COLOR is set. thally --version prints only the installed version; MCP stdio and machine-readable check output keep their protocol format.

Setup and migration end with an olive next-action panel and one copyable preview command, including npm install when needed.

Scaffolding and migration keep subprocess logs quiet in interactive terminals. Pass --verbose to show installation and build logs as they happen:

thally init my-docs --yes --verbose
thally migrate https://github.com/your-org/your-docs --platform auto --verbose

Long-running steps show their current activity and elapsed time. Plain logs report an elapsed heartbeat every 15 seconds. Conversion, rendering, and content validation run off the terminal thread so progress keeps updating during larger imports.

Failures always show diagnostics, including without --verbose; quiet output retains the last 64 KiB. Non-interactive runs retain subprocess output for scripts and CI.

The model

You own the portable content and configuration surfaces:

  • src/content/ — MDX pages
  • docs.json — navigation, theme, and product configuration
  • src/data/site.ts — site identity, links, and brand defaults
  • src/mdx/custom-components.tsx — customer MDX components
  • snippets/ — reusable MDX
  • public/ and openapi.yaml — public assets and API specifications

Framework-owned paths are recorded in starter-release.json and managed by Thally. src/app/ is framework plumbing, but it is not the complete ownership contract. The thally commands keep the runtime invisible while preserving customer-owned paths during upgrades.

Commands

| Command | What it does | | --- | --- | | thally init [dir] [--yes] [--no-install] [--verbose] | Create a new documentation site | | thally new <page-id> [--title "..."] | Create a page and add it to navigation | | thally migrate <github-or-docs-url> [dir] [--platform <mintlify\|docusaurus\|fern\|auto>] [--verbose] | Import an existing documentation site | | thally translate --locale <code> | Translate content into a locale | | thally dev [-- <server options>] | Preview your site locally and print its agent endpoints | | thally build | Build the production site | | thally start | Serve the built production site | | thally deploy [--prod] [--cloudflare] | Build and publish through Vercel or Cloudflare | | thally check [dir] [--agents] [--fix] [--ci] [--drift] [--external] | Check content and agent readiness; --external also checks links to public hosts (warnings only) | | thally starter update [--apply] | Review or apply a site runtime update | | thally agent "<instruction>" | Draft updates from product changes for review | | thally track <add\|list\|test\|setup> | Turn merged product PRs into docs PRs | | thally mcp | Start the Model Context Protocol server (stdio) |

thally migrate writes a migration-report.json with content and production build check statuses. Failed checks return a nonzero status while retaining imported files for review. --skip-validation explicitly performs an unverified import. Fresh migrations install dependencies and validate the production build automatically, without an extra confirmation or execution flag. Migration runs project code locally, including imported MDX and components, so use sources you own or trust. --skip-validation also skips dependency installation.

thally migrate asks which platform currently hosts the docs and dispatches to the Mintlify, Docusaurus, or Fern adapter. Non-interactive callers can pass --platform mintlify, --platform docusaurus, --platform fern, or --platform auto.

Run thally --help for the full command reference and thally <command> --help for a command's options; help never runs the command. Unknown options are rejected. Options for the underlying dev server or build go after --, for example thally dev -- --port 4000.

thally deploy prints the deployed URL reported by Vercel or Wrangler (or your configured THALLY_SITE_URL) and the result of the Agent Readiness Score; a low score is reported but does not stop the deploy.

thally starter update is a dry run by default. It compares the previously recorded scaffold, the promoted target scaffold, and the current project. It automatically updates unchanged framework-owned files, preserves user-owned paths, and reports manual-review conflicts before --apply writes anything.

How it works

  • Framework commands (dev, build, start, deploy) prefer the project's npm scripts and fall back to invoking the framework directly — so the framework is an implementation detail, not part of your surface.
  • Authoring commands (init, migrate, translate) delegate to create-thally-docs; starter update uses the same immutable scaffold catalog and ownership-aware updater; mcp starts @thallylabs/mcp. All capabilities are reachable through the single thally binary.
  • check --agents runs content lint plus the Agent Readiness Score, with a CI-friendly non-zero exit code when the score is below the threshold.