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

@ur-wesley/fabrik

v2.1.0

Published

Fabrik: Scoped session orchestrator, low-token YAML config, and task workflow CLI for Cursor, OpenCode, and Pi

Readme

Fabrik

One cross-platform AI workflow for Cursor, OpenCode, Pi, and Antigravity: grill → land in Beads → build with backpressure → remember in Engram → map with Graphify.

Models stay in each app's picker. All orchestration and hub content are handled by the standalone Go CLI.

Quick start

npm i -g @ur-wesley/fabrik
# or: bun add -g @ur-wesley/fabrik
# or: go install github.com/ur-wesley/fabrik/cli/cmd/fabrik@latest
cd /path/to/your-repo && fabrik setup   # inits repo first; prompts for apps; --dry-run to preview

No postinstall script — npm/bun install the prebuilt binary for your platform via optionalDependencies (fabrik on PATH comes from bin/fabrik.js).

Or download fabrik-windows-amd64.exe / fabrik-linux-amd64 / fabrik-linux-arm64 / fabrik-darwin-arm64 from the GitHub release. Version lives in package.json (mirrored to cli/package.json + npm/*/package.json via npm run versions:sync); releases are tagged v<version>.

fabrik setup [--apps cursor,pi,antigravity,opencode] [--repo PATH]  # prompts for apps when omitted
fabrik init [PATH] [--apps ...]          # per-repo .fabrik hub + selective app wiring
fabrik check [--json]                   # probe bd, engram, graphify, pi, uv
fabrik update-deps --deps install/deps.json  # refresh pins from GitHub/PyPI
fabrik version

Dev: cd cli && go test ./.... Release targets: win32-x64, linux-x64, linux-arm64, darwin-arm64.

Per repo (Go CLI)

fabrik init [/path/to/your-repo]      # thin .fabrik hub + selective app wiring (Cursor/OpenCode/Pi/Antigravity)
fabrik show <key>                  # hub content: workflow, readme, prompt <plan|build>, skill <name>, agent <name>
fabrik list <skills|agents|all>    # what `fabrik show` can print
fabrik run [--auto -p "goals"]     # align → plan → build
fabrik loop <plan|build> [--max N] # plan once, or build until no ready issues
fabrik migrate --prune [--dry-run] # delete legacy generated dumps (keeps config.yaml, docs/, specs/)

.fabrik/ on disk holds only config.yaml + docs/ + specs/. All other hub content is embedded in the CLI and printed via fabrik show — no shell scripts or external dependencies.

Session loop (all apps)

  1. Orient — Engram mem_context / mem_search. Query Graphify if graphify-out/ exists.
  2. Align — Grill (/grill-with-docs). Optional /to-prd → .fabrik/docs/PRD.md.
  3. Land — bd create, bd dep add for blockers.
  4. Build — bd ready → bd update <id> --claim → TDD/backpressure → bd close <id>.
  5. Remember — Engram mem_save / mem_session_summary.

AFK factory (OpenCode)

fabrik run --auto -p "your goals"  # grill → plan → build, non-interactive
fabrik loop plan                   # plan wave only, then review before build
fabrik loop build --max 5          # build wave, capped at 5 iterations

Stack

Pinned in install/deps.json:

| Layer | Tool | |-------|------| | Issues | Beads (bd) | | Memory | Engram | | Code map | Graphify (graphifyy) | | Pi MCP | @piarium/pi-mcp-adapter |

Beads owns tasks. Engram owns memory. Do not use bd remember for the same facts.

Files

| Path | Role | |------|------| | cli/ | Go CLI (fabrik setup|init|check|update-deps|version|show|list|run|loop|migrate), versioned via cli/package.json (synced from root) | | bin/fabrik.js | npm/bun fabrik launcher (no postinstall, resolves platform package) | | npm/fabrik-*/ | Per-platform packages with prebuilt binary (optionalDependencies) | | scripts/sync-versions.mjs | Keeps root + cli/package.json + gui/Cargo.toml + npm/*/package.json in sync | | install/deps.json | Pinned versions (embedded copy in CLI + sync test) | | install/templates/ | Template sources embedded in the CLI (fabrik show, fabrik init) |

See PLAYBOOK.md for the full method.

Tests

cd cli && go test ./...
cd cli && go build ./cmd/fabrik

Issue commands (fabrik issue …) talk to the embedded Dolt store (.fabrik/dolt) and need a CGO_ENABLED=1 build plus a C toolchain: npm run cli:build-cgo (or mise run cli:build-cgo) fails fast with a gcc missing error when no compiler is on PATH (Windows: winget install -e --id BrechtSanders.WinLibs.POSIX.UCRT; releases build Windows via msys2 mingw-w64-x86_64-toolchain mingw-w64-x86_64-icu). Graph commands (fabrik graph …) are pure Go (modernc.org/sqlite) and work without gcc.