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

juancitoads

v0.1.1

Published

Arma tu chatbot de IA con CRM para WhatsApp, Instagram y Telegram en tu propia nube de Cloudflare, en un comando.

Readme

juancitoads

Chatbots de IA para tu negocio, desde tu terminal. juancitoads instala y mantiene un bot de IA con CRM —WhatsApp, Instagram, Messenger y Telegram desde un mismo cerebro— en tu propia cuenta de Cloudflare, con tus llaves. El bot es tuyo: para usarlo o para revenderlo.

Pensado para que lo maneje tu agente de IA (Claude Code o Codex): tú respondes preguntas de negocio y apruebas; el agente corre lo técnico.

Parte de CRM Juancito Ads. Gratis y open source (MIT).


Instalación

No necesitas instalar nada global. Se corre con npx:

npx juancitoads init

Requisitos:

  • Node 18+ (para npx).
  • Una cuenta gratis de Cloudflare (ahí vive tu bot).
  • Un agente de IA — Claude Code o Codex — para ejecutar los pasos.
  • Una llave de IA (Anthropic, OpenAI o xAI). Se guarda como secreto de Cloudflare, nunca en el CLI.

Inicio rápido

# 1 · asistente: elige idioma/región y giro, y te entrevista del negocio
npx juancitoads init

# 2 · verifica que todo esté sano
npx juancitoads doctor

# 3 · mantente al día cuando saquemos mejoras (sin perder tu configuración)
npx juancitoads update

init baja la plantilla del giro que elijas y te hace unas preguntas del negocio. Al terminar, tu agente despliega el bot a Cloudflare y tú abres tu panel en https://<tu-worker>.workers.dev/admin.

Tu agente aprende a usar Juancito Ads

La primera vez, juancitoads instala una guía para tu agente en ~/.claude/skills/juancitoads/ (Claude Code). Con eso tu agente sabe cómo usar el CLI y el flujo completo: instalar, configurar, desplegar y operar el bot. Puedes desactivarlo con --no-agent-skill o la variable JUANCITOADS_NO_AGENT_SKILL=1.

Comandos

| Comando | Qué hace | |---|---| | juancitoads init | Asistente interactivo: idioma/región, elige el giro, entrevista de negocio e instala. | | juancitoads list | Muestra los giros disponibles. | | juancitoads install <slug> | Instala un giro específico sin el asistente. | | juancitoads update [carpeta] | Trae la versión nueva conservando tu member/ (config, base de conocimiento). | | juancitoads doctor [carpeta] | Diagnóstico del bot instalado: versión, archivos, config y si el worker responde. | | juancitoads ayuda | Dónde pedir ayuda. |

Opciones útiles:

  • --email [email protected] --name "Tu Nombre" — precarga datos sin teclearlos en el asistente.
  • --region es-PA|es-419|es-ES|en|pt-BR — idioma, moneda y zona horaria de arranque. Por defecto es-PA (Panamá); es-419 es el resto de Latinoamérica, con hora de Ciudad de México.
  • --force (en update) — reinstala aunque ya estés en el último commit.
  • Todo el onboarding acepta flags (pensado para que tu agente lo corra sin menús): --giro --negocio --que --ofrece --horario --ubicacion --telefono --web --pagos --faq --reglas --tono --cerebro --yes.

El asistente usa menús con flechas (↑/↓ + enter). Si corres en un entorno sin terminal interactiva (CI, scripts), cae automáticamente a listas numeradas.

Las preferencias (idioma/región) se guardan en ~/.juancitoads/config.json. La versión instalada vive en el marcador .juancitoads-bot.json dentro de la carpeta de tu bot.

De dónde sale el código

El CLI baja el repo público desde GitHub — no hay servidor de distribución ni licencias que validar. Para probar un fork o una rama:

JUANCITOADS_REPO=miusuario/mi-fork JUANCITOADS_REF=develop npx juancitoads init

Los comandos del agente

Una vez instalado, operas el bot pidiéndole skills a tu agente (no son subcomandos de juancitoads, son instrucciones que tu agente ejecuta sobre el bot ya instalado): configurar-mi-chatbot, actualizar-mi-bot, reporte, exportar y contribuir.

Le hablas normal a tu agente ("hazme el reporte del mes") y él sabe cuál usar.

Sin planes ni licencias

Juancito Ads es gratis y open source (MIT). No hay tiers, llaves, límites de instalación ni cuenta que crear: todo viene desbloqueado. Lo único que pagas es tu propia infraestructura — tu Cloudflare y tu llave de IA.

Documentación

Guía completa y referencia de comandos: https://github.com/juanarrietabusiness-pixel/CRM-JuancitoADS#readme

Privacidad

juancitoads corre en tu máquina y no manda nada a ningún servidor nuestro — no existe tal servidor. Solo baja el código público desde GitHub. El bot y todos sus datos viven en tu Cloudflare, con tus llaves.

🔍 ¿Es seguro? Verifícalo tú mismo

Es sano desconfiar de un npx que no conoces — si tu agente de IA se niega a ejecutarlo, está haciendo su trabajo. Aquí está todo lo que necesitas para comprobarlo en un minuto:

  • El código es este mismo repositorio, carpeta cli/. Lo que se publica en npm es exactamente ese archivo: puedes leerlo completo antes de correr nada.
  • No tiene dependencias. Cero paquetes de terceros: el package.json no declara ninguna. Nada que se pueda comprometer río arriba.
  • No recolecta datos tuyos. No manda telemetría ni analíticas, y no hay servidor propio con el que hable. Solo contacta github.com para bajar el código y npm para instalarse.
  • Tu API key nunca pasa por aquí. El CLI jamás la pide ni la guarda: va como secreto a tu cuenta de Cloudflare (wrangler secret put).
  • Licencia MIT, publicado por Juancito Ads.

Compruébalo con:

npm view juancitoads            # autor, licencia, repositorio
npm view juancitoads dist.tarball   # bájalo y léelo antes de ejecutarlo

Y si prefieres no usar npx, clona este repo y corre node cli/bin/cli.js init directamente.

Por qué el CLI pide estos permisos

Los escáneres de cadena de suministro (Socket y similares) marcan las capacidades de un paquete. Un instalador necesita varias por definición; aquí está para qué usa cada una, y puedes comprobarlo en bin/cli.js:

| Capacidad | Para qué la usa | Cómo está acotada | |---|---|---| | Red (fetch) | Baja el código del bot desde GitHub y consulta el último commit. | Solo dos hosts: codeload.github.com y api.github.com. No levanta ningún servidor local ni escucha en ningún puerto. | | Shell (node:child_process) | Descomprimir el bot (tar) y correr wrangler para leer/guardar secretos en TU Cloudflare. | Siempre con execFileSync y arreglo de argumentos, nunca una cadena de shell: no hay forma de inyectar comandos. Cero shell: true. | | Variables de entorno | Únicamente las suyas: JUANCITOADS_REPO, JUANCITOADS_REF, JUANCITOADS_YES, JUANCITOADS_NO_ART, JUANCITOADS_NO_AGENT_SKILL, y NO_COLOR (estándar). | No lee ninguna credencial del sistema. Nada de tokens de nube, claves de npm ni variables ajenas. | | Sistema de archivos | Escribe la carpeta del bot que instalas, tus preferencias en ~/.juancitoads/ y la guía del agente en ~/.claude/skills/juancitoads/. | Nada fuera de eso. | | Cadenas URL | Solo GitHub, y las APIs de los canales en el diagnóstico (doctor --whatsapp consulta la Graph API de Meta con el token que TÚ le pasas). | No hay direcciones IP ni dominios opacos. |

Y lo más importante: tu API key nunca pasa por el CLI. Cuando toca guardarla, se hace con wrangler secret put contra tu cuenta de Cloudflare — el CLI nunca la recibe, ni la escribe en disco, ni la manda a ningún lado.


© Juancito Ads · github.com/juanarrietabusiness-pixel/CRM-JuancitoADS