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

@logtura/cli

v0.2.11

Published

OSS CLI for validating Logtura configs and generating Vector forwarder bundles.

Readme

@logtura/cli

OSS command-line tool for the Logtura renderer.

The CLI includes the current Logtura source drivers and destinations. It parses a human-authored logtura.yaml, feeds the existing @logtura/core renderer, and writes complete forwarder artifacts: vector.yaml, Dockerfile, .env, install script, and component manifest.

npm install -g @logtura/cli

Commands

logtura validate -c logtura.yaml
logtura validate -c logtura.yaml --vector-validate
logtura bundle -c logtura.yaml -o dist/logtura-forwarder
logtura install-zip -c logtura.yaml -o logtura-forwarder.tgz
logtura stats --metrics metrics.json
  • validate parses config and renders a bundle without writing files.
  • --vector-validate writes a temporary generated config and runs vector validate if Vector is installed locally.
  • bundle writes an unpacked self-hostable forwarder directory.
  • install-zip writes a gzipped tarball containing the same files.
  • stats reads Vector internal_metrics JSON/NDJSON and prints a simple component counter table.

Config

Minimal Cloudflare Workers -> Slack config:

sources:
  workers:
    provider: cloudflare-worker-tail
    account_id: env:CLOUDFLARE_ACCOUNT_ID
    api_token: env:CLOUDFLARE_API_TOKEN
    scripts:
      - dirtsignal
      - ipogrid

sinks:
  slack:
    type: slack
    webhook_url: env:SLACK_WEBHOOK_URL
    channel: "#alerts"

monitors:
  - name: worker-errors
    filter:
      - errors
      - rollup:
          window_secs: 30
          group_by: [script]
          max_samples: 5
    sinks: [slack]

env:NAME values are resolved from the local environment. Missing env values are reported by validate; the command exits with code 2 after confirming the rest of the config can render.

Source Examples

Fly apps:

sources:
  fly:
    provider: fly-log-tail
    account_id: personal
    api_token: env:FLY_API_TOKEN
    apps: [my-app]

Supabase Edge Functions and project gateway:

sources:
  supabase:
    provider: supabase-edge-logs
    account_id: env:SUPABASE_PROJECT_REF
    pat: env:SUPABASE_PAT
    gateway: true
    functions:
      - slug: agent-chat
        function_id: 00000000-0000-0000-0000-000000000000

Cloudflare AI Gateway:

sources:
  ai:
    provider: cloudflare-ai-gateway
    account_id: env:CLOUDFLARE_ACCOUNT_ID
    api_token: env:CLOUDFLARE_API_TOKEN
    gateways: [my-gateway]

Vercel Runtime Logs:

sources:
  vercel:
    provider: vercel-logs
    # Optional for team-owned projects.
    team_id: env:VERCEL_TEAM_ID
    api_token: env:VERCEL_API_TOKEN
    projects:
      - prj_xxx

Custom Vector source and sink:

sources:
  bob:
    provider: custom-vector
    display_name: Bob
    vector:
      include: ./vector/bob.yaml
      feed: bob_norm

sinks:
  joe:
    type: custom-vector
    vector:
      include: ./vector/joe.yaml

monitors:
  - name: bob-to-joe
    filter: [errors]
    sinks: [joe]

bob.yaml may define sources and transforms; feed names the component Logtura reads from. joe.yaml may define transforms and sinks; Logtura rewrites its single dangling input reference to the monitor output. Set vector.input when the sink graph has more than one dangling input.

Output

logtura bundle -o dist/logtura-forwarder writes:

  • Dockerfile
  • vector.yaml
  • manifest.json
  • .env
  • install.sh
  • README.md

Run the generated forwarder with:

cd dist/logtura-forwarder
./install.sh

Notes

The CLI starts from explicit config and environment variables. It validates, bundles, and installs a local forwarder from logtura.yaml.