Skip to content

Repository files navigation

Bub Hub

Ecosystem directory for Bub plugins, skills, distributions, and friends.

Live athub.bub.build

Structure

hub/
├── build.py # Static site generator (Jinja2)
├── data.yml # All ecosystem items (add new entries here)
├── logos/ # Logo assets (copied to dist/logos/ on build)
├── templates/
│ ├── base.html # Base layout
│ ├── index.html # Main page template
│ ├── style.css # Terminal-style CSS (dark theme)
│ ├── hub.js # Client-side filtering & search
│ └── partials/
│ └── card.html # Card component
├── dist/ # Generated output
├── pyproject.toml # Project metadata & dependencies
└── uv.lock

Usage

# Install dependencies
uv sync
# Build the site
uv run python build.py

Adding items

Edit data.yml. All items share a unified schema:

categories:
- name: Plugins # or Skills, Distributions, Friendssubcategories:
- name: Channels # grouping within the categoryitems:
- name: my-plugindescription: What it does.kind: plugin # plugin | skill | distribution | friendlogo: my-plugin.svghomepage_url: https://...repo_url: https://github.com/...install: "uv add my-plugin --git https://github.com/..."

Field reference

FieldTypeRequiredDescription
namestrDisplay name
descriptionstrOne-line summary
kindenumplugin | skill | distribution | friend
logostrFilename in logos/
homepage_urlstrPrimary link
repo_urlstrSource repository
docs_urlstrDocumentation URL
authorstrAuthor or organization
licensestrSPDX identifier
installstrInstall command
builtinboolShipped with Bub core
source_pathstrPath within a monorepo (repo link renders as repo_url/tree/main/{source_path})
skill_filestrURL to SKILL.md
bundled_pluginslist[{name, url}] for distributions (max 3 shown)

Build validates required fields, kind enum, and rejects unknown fields.

About

An overview of Bub, its ecosystem, and Bub's friends.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages