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

puls-dev

v0.5.0

Published

Monorepo for Puls intent-driven IaC

Downloads

2,259

Readme

[!IMPORTANT] DEPRECATION NOTICE: The monolithic puls-dev package has been split into scoped sub-packages to eliminate dependency bloat. Please install @puls-dev/core and the specific provider packages you need (e.g. @puls-dev/aws) instead.

Visit pulsdev.io for migration guides and documentation.

Pulsdev.io

State-free, eager-discovery Infrastructure-as-Code for TypeScript.

Live Documentation License


What is Puls?

Pulsdev.io is a modern, developer-centric Infrastructure-as-Code (IaC) framework. Instead of using complex configuration languages or managing centralized, brittle state files (terraform.tfstate), Puls allows you to define and manage cloud infrastructure as pure, strongly-typed TypeScript stacks.

Key Philosophy

  • Zero State Files: Puls queries your live cloud environment directly. There is no state file to get corrupted, desynchronized, or locked.
  • Eager Discovery: Resource discovery queries execute in the background the moment you declare a builder. By the time deployment begins, the current infrastructure state is already resolved.
  • Idempotent by Default: Running the same stack multiple times is always safe. Puls automatically detects existing resources, skipping them or applying in-place updates.

What Puls Solves

1. Eliminates State Management Overhead

Traditional IaC tools require a shared state file stored in S3/GCS. If a deployment fails or state becomes desynchronized, developers must manually edit state files or run complex imports. Puls solves this by treating the cloud provider itself as the single source of truth.

2. Speeds Up Developer Feedback Loops

Puls executes resource discovery asynchronously in the background. Because compilation and discovery happen concurrently, dry-runs (puls plan) and state drift comparisons (puls diff) complete in seconds rather than minutes.

3. Native TypeScript Integration

No custom DSLs (like HCL) or YAML templates. Write stacks using standard TypeScript classes, decorators, and libraries. Share configuration, secrets, and utilities using standard npm modules and environment configs.


Code Example

import { Stack, Deploy } from "@puls-dev/core";
import { AWS, REGION, RUNTIME } from "@puls-dev/aws";

@Deploy({ region: REGION.US_EAST_1 })
class AppStack extends Stack {
  // 1. Declare database
  db = AWS.RDS("app-db").engine("postgres").size("db.t3.micro");

  // 2. Declare Lambda function referencing the database endpoint
  api = AWS.Lambda("app-api")
    .code("./dist/api")
    .runtime(RUNTIME.NODEJS_20)
    .env({
      DB_HOST: this.db.endpoint,
    });
}

Quick Start

Installation

npm install @puls-dev/core @puls-dev/aws

Install CLI

Run the one-time launcher setup to invoke puls directly in your terminal:

npx puls install-shell

Command Cheat Sheet

puls plan    infra/stack.ts   # Dry-run stack: view changes without making writes
puls deploy  infra/stack.ts   # Apply the declared stack to your cloud provider
puls diff    infra/stack.ts   # Check for drift against live cloud state
puls destroy infra/stack.ts   # Teardown the stack

Key Capabilities

  • Governance (Policy-as-Code): Enforce declarative compliance policies pre-flight.
  • Drift Detection: Run puls diff --fail-on-drift to identify external modifications instantly.
  • Resource Adoption: Bring existing cloud resources under Puls management via .adoptId().
  • Universal Provisioning: Eagerly bake VM templates and run Ansible playbooks with change-aware metadata.
  • Parallel Execution: Automatically resolves resource DAGs and deploys independent nodes concurrently.

Documentation

For full guides, provider credentials setup, and API references, visit the Live Documentation.