Skip to content

Repository files navigation

Contributors Forks Stars Issues

PackageHub

Find packages. Publish packages. PackageHub is the public storefront for discovery; pkgpublish is the publisher console for configuration and shipping.
packagehub.dev »

pkgpublish.dev · Report Bug · Request Feature

About The Project

Publish packages across registries from one dashboard (npm, PyPI, Crates.io).

Publish packages across registries from one dashboard. Connect GitHub, add trusted publishers once, and ship to npm, PyPI, Crates.io, and more — without storing API keys or juggling each registry’s setup.

Dual-domain brand (locked)

Domain Job

packagehub.dev

Public face: find, browse, search, package pages — attention and discovery

pkgpublish.dev

Publisher app: connect repos, configure registries, credentials, publish pipelines

Both share identity later via devcentr.org account. Do not collapse everything into one name: a hub people browse is a different job from a publish-config console.

The monorepo may keep the packagehub / PackageHub folder name; product copy and routes should speak both brands clearly.

PackageHub (browse) + pkgpublish (console) are a publishing-as-a-service family:

  • You sign in with GitHub (or Google) — eventually via DevCentr.org.

  • You connect a repo and choose which package registries to publish to (npm, PyPI, Crates.io, etc.).

  • You do a one-time "Trusted Publisher" setup in each registry (pointing at your repo and a managed workflow).

  • You publish from the dashboard or by triggering a workflow — no long-lived secrets in your repo, and packages stay under your branding.

  • The public PackageHub surface draws attention to packages that were published through the ecosystem.

Because most registries only trust a fixed set of OIDC issuers (e.g. GitHub Actions), the publisher path uses a proxy approach: it triggers a managed GitHub Actions workflow in your repo; that workflow does the OIDC handshake with each registry. The package page still shows your repo and "GitHub Actions."

Repo at a glance

  • Web app (apps/web): SolidStart — today includes dashboard flows that will split toward pkgpublish.dev; browse/marketing faces packagehub.dev.

  • Docs (apps/docs): Fumadocs (Next.js) — user and contributor docs; deployed via GitHub Actions.

Canonical path in code hive: Z:\code\github.com\dev-centr\PackageHub — clone or work from there to match the FOLDER_SCHEMA.

(back to top)

Built With

  • Web app

    • SolidStart

  • Docs

    • Fumadocs

  • Monorepo tooling

    • pnpm

(back to top)

Getting Started

See Install — Prerequisites and pnpm install.

Usage

pnpm install      # Install all workspace deps
pnpm dev          # Web app @ http://localhost:5173
pnpm dev:docs     # Docs @ http://localhost:3000 (open /docs)
pnpm build        # Build all
pnpm build:web    # Build web only
pnpm build:docs   # Build docs only

Documentation

The Fumadocs site in apps/docs covers:

  • Introduction and architecture

  • Getting started (sign in, connect repo, connect registries, publish)

  • Supported registries (npm, PyPI, Crates.io)

  • OIDC and trusted publishing

  • Writing adapters

Run pnpm dev:docs and open http://localhost:3000/docs.

To publish the docs site: enable GitHub Pages in the repo (Settings → Pages → Source: GitHub Actions). The workflow .github/workflows/docs.yml builds and deploys the Fumadocs site; live docs: https://dev-centr.github.io/packagehub/ (product site target remains https://packagehub.dev when DNS is ready).

Contributing

Contributions are welcome. Open an issue before large changes.

Top contributors

contributors

(back to top)

About

Publish packages across registries from one dashboard (npm, PyPI, Crates.io)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages