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

archaeology

v0.1.0

Published

A local software archaeology CLI that maps complex projects into navigable site surveys.

Downloads

36

Readme

archaeology

archaeology is a local software archaeology CLI. It surveys a complex project and produces a navigable map of its areas, artifacts, actions, guides, procedures, prompts, menus, evidence, and uncertainty.

It is inspired by SCUMM/MUD/MOO interfaces, but repurposed for software systems that have become too large, too agent-built, or too implicit for a human to comfortably hold in memory.

npm i -g archaeology
cd bootstrap-5.3.8
archaeology

For local development before publishing:

cd archaeology
npm link
cd ../bootstrap-5.3.8
archaeology

Why this exists

Modern AI-assisted projects can accumulate hidden powers: scripts, helpers, assistant prompts, procedures, tests, generated features, and forgotten workflows. archaeology makes those powers visible.

It asks:

  • What kind of software site is this?
  • What areas exist?
  • What artifacts matter?
  • What actions are safe?
  • What guides should exist?
  • What procedures operate the system?
  • What evidence proves an action worked?
  • What remains uncertain?

Current status

This is a strong initial project scaffold. It has:

  • A dependency-free Node CLI.
  • An interactive two-line menu.
  • A project survey pass.
  • XML generation for the software site survey.
  • SOTA capture prompt generation.
  • Guide prompt artifacts.
  • Procedure and menu scaffolds.

Commands

archaeology                 # open interactive menu in the current directory
archaeology survey [path]   # survey a project and write .archaeology artifacts
archaeology menu [path]     # print generated menu XML if present
archaeology sota [path]     # refresh SOTA capture bundle
archaeology [path]          # shorthand for survey path

Generated files

Running archaeology survey . creates:

.archaeology/
  archaeology.xml
  survey.xml
  map.xml
  artifacts.xml
  actions.xml
  guides.xml
  prompts.xml
  procedures.xml
  menu.xml
  evidence.xml
  uncertainty.xml
  index.json
  reports/
    survey.md
    sota-capture.md
  workorders/

Two-line menu law

Every menu item must display as:

Title
Description

Example:

A) Look Around
   Show the generated site map, areas, artifacts, actions, guides, and next safe actions.

Philosophy

Every system must reveal its areas, artifacts, actions, guides, procedures, evidence, and uncertainty.

No hidden powers.
No invisible helpers.
No parser guessing.
No unexplained workflows.
The menu is the treaty between human and machine.

Project structure

bin/archaeology.mjs       # executable entrypoint
src/cli.mjs               # command routing and readline menu
src/survey.mjs            # project survey and XML generation
src/menu.mjs              # menu model and rendering
src/prompts.mjs           # generated SOTA/local guide prompts
src/classify.mjs          # heuristic file and domain classification
src/fswalk.mjs            # dependency-free filesystem walker
src/xml.mjs               # tiny XML writer helpers
examples/bootstrap-mini/  # small demo fixture

First implementation priorities

  1. Bind submenus to artifact selection.
  2. Add archaeology ask to query a selected generated guide prompt.
  3. Add archaeology workorder to produce bounded local-agent tasks.
  4. Add archaeology teach to promote a SOTA capture back into XML.
  5. Add project-specific detectors for CSS frameworks, Web Components, agent systems, and build systems.

Safety model

The first version only reads the target project and writes .archaeology/. Future commands that modify project files should declare:

  • write scope
  • risk level
  • evidence required
  • human confirmation requirement