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

sectionflow-cli

v0.2.6

Published

CLI for installing SectionFlow v2 scroll-driven section transitions (persistent-layer architecture)

Readme

SectionFlow CLI

A shadcn-style CLI for adding scroll-driven section transitions to your React project.

Quick Start

# Initialize SectionFlow in your project
npx sectionflow-cli init

# Add a transition
npx sectionflow-cli add wave-reveal

# Add multiple transitions at once
npx sectionflow-cli add card-stack cinematic-zoom depth-layers

# Browse all available transitions
npx sectionflow-cli list

Commands

init

Detects your project structure and installs the two core files:

components/sectionflow/
└── core/
    ├── types.ts              ← TransitionProps & LayerHandle interfaces
    ├── section-flow.tsx      ← Sticky scroll staging components
    └── registry.ts           ← Auto-updated transition map

Supports:

  • Next.js App Router and Pages Router
  • src/ and non-src/ layouts
  • Automatic npm package detection (npm / yarn / pnpm)

add <transition(s)>

Installs one or more transitions:

npx sectionflow-cli add wave-reveal
npx sectionflow-cli add page-burn pixel-melt starfield-warp

Each transition is written to:

components/sectionflow/transitions/<slug>.tsx

Core files are auto-installed if not already present. Existing files prompt for confirmation before overwriting.

Invalid transition names show fuzzy suggestions:

✖ Transition not found: wave-revael

Did you mean?
  - wave-reveal
  - ripple-reveal

list

Displays all available transitions grouped by category with engine labels:

  ✦ Creative
    wave-reveal          framer-motion   Wave Reveal
    circular-portal      framer-motion   Circular Portal
    ...

  ⊞ Split & Fragment
    ...

  55 transitions available

Usage After Installation

import { SectionFlow, Section } from '@/components/sectionflow/core/section-flow';

export default function Page() {
  return (
    <main>
      <SectionFlow>
        <Section transition="wave-reveal">
          <div className="h-screen w-full bg-zinc-950 flex items-center justify-center text-white">
            <h2>Outgoing section</h2>
          </div>
        </Section>

        <Section>
          <div className="h-screen w-full bg-zinc-900 flex items-center justify-center text-white">
            <h2>Incoming section</h2>
          </div>
        </Section>
      </SectionFlow>
    </main>
  );
}

Transition Timeline

Every transition follows the same scroll timing convention:

| Progress | Phase | |-----------|---------------------| | 0% – 25% | Content viewing | | 25% – 75% | Transition buildup | | 75% – 100%| Section handoff |

The first 25% of scroll is always a safe zone — sections are fully readable before any animation begins.

File Structure

components/
└── sectionflow/
    ├── core/
    │   ├── types.ts
    │   ├── section-flow.tsx
    │   └── registry.ts
    └── transitions/
        ├── wave-reveal.tsx
        ├── card-stack.tsx
        └── ...

Dependencies

  • Framer Motion transitions require: framer-motion

The CLI installs required packages automatically using your project's package manager (npm/yarn/pnpm).

Adding New Registry Entries

To register a new transition for the CLI itself, add an entry to the canonical metadata file src/library/registry.ts:

{ slug: 'my-transition', name: 'My Transition', category: 'Creative', engine: 'framer-motion', description: '...' },

Then create the source file at src/library/transitions/my-transition.tsx in the main project. The CLI copies files directly from the canonical library during npm run sync:sources.

License

MIT