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

groundfast

v0.8.1

Published

Toolkit de engenharia da Groundfast para Pi: índice ask-groundfast, pipeline de issues, scaffold Rust/Bun, PR, babysit, drain, release, wrap e discovery.

Readme

groundfast para Pi

Pacote Pi do toolkit de engenharia da Groundfast. Skills, scripts e references/ são gerados pelo gf-build a partir do corpo canônico em skills/ na raiz do repo (preâmbulo em host.md); aqui mora só o host.md, o package.json e uma extensão fina. Não edite o gerado. O pipeline de issues está incluído.

Instalar

pi install npm:groundfast     # versão publicada
pi install ./plugins/pi       # clone local, path relativo à raiz do repo

No path local o Pi adiciona às settings sem copiar. Depois de editar a extensão, /reload na sessão.

Verificar

bun install --frozen-lockfile
bun run typecheck
bun test/extension.smoke.ts   # ExtensionAPI falso: catálogo real e fixtures quebradas
npm pack --dry-run    # a lista tem de trazer skills/*/scripts/ e references/

Publicar

tools/release.sh publica junto com a tag e a GitHub Release, depois de confirmar no terminal (runbook: alvo plugin do ship). À mão, só quando o release parou em NPM PULADO:

cd plugins/pi && npm publish

Os arquivos são reais (gerados pelo gf-build, sem symlink) e o campo files do package.json decide o que entra no tarball: extensions/, skills/, scripts/ e references/, mais README e manifest.

Comandos

Um comando por diretório em skills/ (/pr, /babysit, …), montado do frontmatter do SKILL.md gerado: a primeira frase de description vira a descrição, metadata.bootstrap é o script que roda e cuja stdout é injetada (dado, não instrução) antes do corpo, e um metadata.argument-hint com rótulo ([alvo: a | b]) vira completion. Skill sem bootstrap manda só o corpo. Única exceção nomeada: /pipeline repassa ao issue-queue.sh só os tokens #N e owner/name. Skill com frontmatter inválido fica sem comando e aparece num aviso no session_start. Skill sem disable-model-invocation também aparece no system prompt, e /skill:nome continua válido para todas.

O que muda em relação ao plugin Claude

  • Não há !`${CLAUDE_SKILL_DIR}/…`. O comando injeta o estado; no /skill:nome o modelo corre o script no diretório da skill.
  • AskUserQuestion vira a tool ask_user.
  • Aprendizados do wrap vão para o arquivo de instruções que o repo-state.sh nomeia (AGENTS.md, ou CLAUDE.md quando ele é o dono), num arquivo só.
  • Sem memória nativa em ~/.claude/projects. Retomada: HANDOFF.md + .remember/remember.md (a extensão injeta o espelho no session_start).
  • pr, babysit e drain não abrem subagente — review, triagem, diagnóstico de CI e conflito na própria sessão.
  • pipeline pode fan-out apenas no Pi TUI, depois de medir RAM e dentro do limite da casa; o pacote não abre terminal extra.
  • allowed-tools do Claude não vale aqui. A garantia continua nos wrappers bash (push-pr.sh, stage.sh, gh-thread.sh, merge-pr.sh, …).

Scripts, references/ e skills/*/SKILL.md são gerados: edite skills/ na raiz do repo e rode o gf-build.

Plugins oficiais do Claude (mattpocock, firecrawl, …) não entram neste pacote — vivem no host, em ~/.pi/agent/vendor/ + packages do settings.json, filtrados para não explodir description always-on. Railway já está em ~/.agents/skills/use-railway. Cloudflare, remember, MCP (serena, browser-use) e commands Anthropic (code-review) ficam de fora desta leva.

Layout

plugins/pi/
├── package.json
├── bun.lock
├── tsconfig.json
├── extensions/index.ts
├── host.md                     # preâmbulo do Pi, colado antes do corpo canônico
├── scripts/                    # gerado
├── references/                 # gerado
└── skills/<nome>/              # gerado
    ├── SKILL.md
    ├── scripts/
    └── references/