Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

OpenTUI package index

This repository contains the package entries for opentui.com/packages.

Each package has one MDX file in the packages/ directory. OpenTUI loads these files when it builds the website.

Add or update a package

Add one <id>.mdx file to the packages/ directory. A pull request review checks the package and its description before the entry becomes part of the index.

Entry format

Use lowercase words separated by hyphens for id. The ID is permanent and becomes /packages/<id>. The filename and id must match.

Write the package metadata in YAML frontmatter. Write a longer description or examples in the optional MDX body.

---
id: example-widgets
name: Example Widgets
summary: Reusable OpenTUI widgets for forms and navigation.
kind: component
official: false
maintainers:
  - "@example"
source:
  url: https://github.com/example/opentui-widgets
surfaces:
  - name: TypeScript
    language: typescript
    import: example-widgets
distributions:
  - type: npm
    identifier: example-widgets
    install: bun add example-widgets
links:
  docs: https://github.com/example/opentui-widgets#readme
categories:
  - components
---

Example Widgets provides form controls that use OpenTUI Core renderables.

Fields

  • id, name, summary, kind, official, source, and distributions are required.
  • kind is native-library, library, renderer, component, application, tool, integration, examples, or documentation.
  • official must be false for community packages.
  • maintainers lists one or more GitHub handles and is required for community packages.
  • source has a repository url and an optional monorepo directory.
  • surfaces lists APIs by display name and language. Each surface can include an import and a documentation docs URL.
  • distributions lists one or more source, npm, jsr, or github-release distributions. A distribution can include an identifier and an install command.
  • links can include homepage, docs, issues, and changelog URLs.
  • categories contains one to three search tags. Each tag can use free text up to 32 characters.
  • status is active, archived, or deprecated. The default is active.

Do not add versions, licenses, stars, entrypoints, platform packages, platform targets, or Zig metadata to an MDX entry. A daily workflow writes versions, licenses, and GitHub star counts to packages/facts.json. The workflow uses npm metadata, GitHub releases, and GitHub repository metadata. Do not edit this file by hand.

Generated facts

The facts workflow runs at 02:17 UTC. It uses the workflow's built-in GITHUB_TOKEN for authenticated GitHub API requests, so it does not need a personal access token. The updater reuses each response for packages that share a repository and commits only when a value changes.

Stars come from source.url. For community versions and licenses, the first npm distribution takes priority. When an entry has no npm distribution, the updater uses its first GitHub release distribution. GitHub repository metadata supplies a license when registry metadata does not.

For local updates, set GITHUB_TOKEN and run the updater from an OpenTUI checkout:

cd packages/web
GITHUB_TOKEN="$(gh auth token)" \
  bun scripts/update-package-facts.ts ~/src/opentui-index/packages

Include the generated packages/facts.json change when you add or remove a package. Do not edit its values directly.

Checks

Continuous integration checks all community and first-party IDs together. It also checks that each npm package and source repository exists.

Run the same schema check from an OpenTUI checkout:

cd packages/web
bun scripts/validate-packages.ts ~/src/opentui-index/packages

After the merge

The facts workflow runs once each day and commits only when a fact changes. The website rebuilds once each day and on each OpenTUI push. The package appears at opentui.com/packages/<id> after the next build.

About

testing something

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages