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

@ikenga/pkg-content

v0.4.0

Published

Content — Pipeline (kanban + list), Calendar, Published over the production content schema. Multi-file iframe pkg; deterministic CSS vendoring build.

Readme

com.ikenga.content

Content domain surface for the Ikenga desktop. Pipeline (kanban + list) · Calendar · Published.

Stage enum

Per the R-04 Pipeline-stages convention (plans/atelier/06-skill-action-contract.md §Pipeline-stages), the content domain owns the content_pieces.stage TEXT column. Values are lowercase:

| Stage | Description | Kanban dot colour | |---|---|---| | idea | Concept stage — not yet outlined | --fg-faint | | outline | Structure defined | --systemic | | draft | Writing in progress | --primary | | review | Agent or operator review | --achievement | | scheduled | Approved and scheduled for publish | --live |

Terminal stage: published — pieces that have been published are tracked in content_published.

Migration

0047_content_domain.sql — creates the three content-domain tables (STRICT, no FK, soft TEXT links):

  • content_pieces — full editorial pipeline record (id, title, content_type, channel, stage, owner, next_action, next_action_mode, format, due_at, created_at, calendar_id soft link)
  • content_published — published-performance record (id, piece_id soft link, title, content_type, channel, published_at, views, engagement_pct)
  • content_stage_transitions — per-piece stage history (id, piece_id soft link, from_stage, to_stage, transitioned_at, transitioned_by)

Views

| View | URL param | Description | |---|---|---| | Pipeline — kanban | ?view=0 (default, pipeMode=kanban) | .kb-col columns per stage; drag to advance; seg toggle for list | | Pipeline — list | ?view=0 + seg toggle | Piece rows grouped by stage; .ip-split list + detail | | Calendar | ?view=1 | Two-week .cal-grid Mon–Sun; .ct-cal-pill colour-coded by channel | | Published | ?view=2 | KPI cells + table of published pieces with views/engagement |

CSS naming

  • Kit classes: .frame* · .dense-row--pipeline · .ip-split* · .split-row* · .kb-* · .nav-group[data-kind] · .atelier-state.is-* · .tag · .chip · .btn* · .seg*
  • Domain residue (.ct-*): .ct-cal-grid · .ct-cal-pill · .ct-cal-legend · .ct-pub-kpis · .ct-pub-kpi · .ct-pub-table · .ct-mv-badge

Workspace tint

data-workspace="studio" — warm terracotta-red active nav indicator; differentiates from sales (amber-ochre) and outbound (red-orange).

Data sources

Tables declared in manifest.json sqlite.tables:

  • content_pieces — primary pipeline; created by 0047_content_domain.sql
  • content_published — published performance; created by 0047_content_domain.sql
  • content_stage_transitions — stage history; created by 0047_content_domain.sql
  • content_calendar — editorial scheduling (pre-existing)
  • social_queue — social post queue (pre-existing)
  • calendar_events — calendar-view overlays (pre-existing)

Mock contract 2 (calendar-derivation fallback)

When content_pieces is empty (first launch before any pieces are added), the pipeline falls back to deriving piece rows from content_calendar (mapping statusstage, typecontent_type). This derivation is a documented fallback; real piece creation flows through the piece-creation dock-chat action and writes to content_pieces directly. The fallback is demoted to a console warning once content_pieces has at least one real row.