Extensions → Discover: a tab for official non-shipped extensions

Open
#343 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
42/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript
Domain
frontend

Research direction

Start by reading the existing Discover view and extensions/defaults.json, then trace how the “Comes with Pithagoras” cards install extensions through the git-spec path. The issue leaves the catalog source and whether to combine the two repositories unresolved, so settle those choices before implementing the new section. Done means official extensions from both repositories are discoverable and installable in Discover, with links to the repositories added somewhere in the docs or README.

Written by the indexing model from the issue text.

Description

enhancement

The prometheion org now hosts official Pithagoras extensions that are not shipped with the portal:

Neither repo is linked from anywhere in the portal (not in the docs, not in the README). The only way to find them today is to already know they exist and install them manually via Settings → Extensions → Discover → Install by name (git:https://github.com/prometheion/pithagoras-extensions#office).

Request: give official non-shipped extensions their own place in the Discover view. The current sections are:

  1. Comes with Pithagoras — shipped extensions, installed from the portal's own folder
  2. Find packages — the pi package catalog on npm (most used first)
  3. Install by name — manual spec input

Something like a fourth section/tab between 1 and 2: Official extensions — curated list of the extensions in the two org repos, with the same card treatment (name, description, kinds, Install button) that Comes with Pithagoras already has. Installing should go through the existing git-spec path.

Questions to settle:

  • Where does the list live? Hardcoded like extensions/defaults.json, a small JSON in one of the org repos, or fetched from GitHub at runtime (fresh but network-dependent and slow).
  • How are entries kept in sync when an extension is added/renamed in an org repo — ideally that's a two-line change in one place.
  • Should the same section exist per-repo, or as one combined list with a pill showing which repo an extension comes from?

Also worth doing independently of the UI work: link both repos somewhere discoverable (docs and/or README).

Dominant language
TypeScript
Stars
297
Forks
81
Avg merge
8h 47m
Merged PRs (30d)
167

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from thecodacus/pithagoras

All issues in thecodacus/pithagoras

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.