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

create-evestack

v0.12.0

Published

Run AI agents on your own machine. One command gives you the whole stack: durable Postgres sessions, a Docker sandbox, memory, approvals, schedules, 1,000+ tool integrations, and a dashboard that drives the agent.

Readme

create-evestack

One command to a self-hosted eve agent: durable Postgres sessions, a Docker sandbox, long-term memory, and a dashboard you can actually drive. No Vercel account. $0 infrastructure.

npx create-evestack my-agent

That can be the whole setup. The scaffolder asks four questions up front — where, which model, whether you want Composio's tools, and whether it should bring the stack up for you — and then works while you walk away:

  1. Where — the project directory.
  2. Model — OpenAI, Anthropic or Ollama, and a key if you have one.
  3. Tools — Composio's one-click tool sign-in, on by default.
  4. Bring it up — start Postgres, create the schema, pull the dashboard.

Say yes to question 4 and it does all three, then offers to start the agent too, so there is nothing left to paste. Say no — or pass --yes, or leave Docker stopped — and it prints these four commands when it finishes instead:

cd my-agent
docker compose up -d postgres              # durable sessions
npm run db:bootstrap                       # create the workflow schema
docker compose --profile dashboard up -d   # the dashboard, usually on :4000
npm run dev                                # the agent — holds this terminal

The order matters: npm run dev is a foreground process that holds the terminal until you Ctrl-C it, so it goes last. The dashboard port is whichever one was free when you scaffolded, 4000 unless something already had it; .env.local and docker-compose.yml carry the real number, and npx evestack open prints it.

Either way you get a .env.local with a freshly generated auth password, and dependencies installed.

The only thing that costs money is model tokens.

Two names, one scaffolder

npx evestack create my-agent runs this exact code. evestack is the single command, and it answers to eight verbs — create, status, tour, open, verify, skills, attach, doctor — of which create and attach are routed straight into this package's own modules. create-evestack is the name npm's create-* convention leads people to, and it keeps working. Same prompts, same flags, one place a bug gets fixed.

This package is dependency-free on purpose, which is why the implementation lives here rather than the other way round: evestack doctor needs a Postgres driver, and nobody should download one to scaffold a project.

What you get

A project containing:

| | | | --- | --- | | agent/ | the eve agent — instructions, tools, channels, sandbox config | | lib/memory.ts | semantic long-term memory on your own Postgres via pgvector | | evals/ | a runnable eval suite (npx eve eval) | | docker-compose.yml | the pgvector Postgres that stores durable sessions — safe to commit, because the password is not in it | | .env.local | generated, gitignored, with a unique EVESTACK_AUTH_PASSWORD | | .env | generated, gitignored, holding EVESTACK_DB_PASSWORD — the one variable docker-compose.yml interpolates. Compose reads .env and never .env.local, which is the whole reason there are two files. Rotate it in both together: Postgres only applies a new password when the data volume is first created |

and, wired up for you:

  • Durable sessions on your Postgres via @workflow/world-postgres — restarting the process loses nothing, because the state never lived in the process.
  • A local Docker sandbox instead of hosted Vercel Sandbox.
  • HTTP Basic route auth, because eve's stock vercelOidc() / placeholderAuth() are both wrong off Vercel and fail closed.
  • Sign-in to 1,000+ tools through Composio, the managed-OAuth ones in one click, if you supply a key. Skipped cleanly if you don't.
  • Trace export to the evestack dashboard, if EVESTACK_DASHBOARD_URL is set.

Requirements

  • Node 24+
  • Docker, running — Postgres and the agent sandbox both need it
  • A model API key, or Ollama for a genuinely $0 stack. Check your free RAM before choosing Ollama: budget roughly both model sizes + 4 GB — long-term memory needs the chat model and a separate 274 MB embedding model loaded, not one of them.

Model providers

The scaffolder asks which one you want and writes both variables to .env.local. EVESTACK_PROVIDER is the one agent/agent.ts branches on — a model name written without it goes to whichever provider was already selected, so change them together:

| EVESTACK_PROVIDER | Key | Default EVESTACK_MODEL | | --- | --- | --- | | unset, or openai | OPENAI_API_KEY | gpt-5-mini | | anthropic | ANTHROPIC_API_KEY | claude-sonnet-5 | | openrouter | OPENROUTER_API_KEY | qwen/qwen3.8-27b | | ollama | none | qwen3:0.6b | | compatible | EVESTACK_COMPATIBLE_API_KEY (optional) | none — plus EVESTACK_BASE_URL |

openrouter is one key for 400+ models, open weights included. compatible is anything else speaking the OpenAI wire format — LM Studio, llama.cpp, vLLM, Groq, Together.

The dashboard

The agent is only half of evestack. The other half is an open replacement for Vercel's Agent Runs — sessions, turns, subagent trees, computed cost per turn, plus the ability to start sessions, stream replies and resolve approvals.

It is already in the docker-compose.yml this scaffolder writes, behind a profile so a plain docker compose up -d does not pull ~230 MB on someone who only asked for a database:

docker compose --profile dashboard up -d

Nothing to clone and nothing to build: the service pulls ghcr.io/sammytourani/evestack-dashboard, reads the same .env.local your agent reads, and reaches the same Postgres. Sign in with the EVESTACK_AUTH_USER / EVESTACK_AUTH_PASSWORD the scaffolder generated — it prints them when it finishes.

Set EVESTACK_DASHBOARD_IMAGE to run an image of your own instead.

Documentation

Full docs, architecture notes and troubleshooting live in the evestack repository.

License

Apache-2.0, same as eve. eve is a trademark of Vercel; evestack is an independent project and is not affiliated with or endorsed by Vercel.