23 apps (MetaCore, the library/network/client tiers and 13 MetaFeeder*) move out of the general-purpose Worph/AppStore into their own store so the MetaMesh family releases on its own cadence. - asset URLs repointed to cdn.jsdelivr.net/gh/Worph/MetaAppStore@main - store scaffolding added (category/recommend/featured lists, licence, contributing, gitattributes) - psd-source/meta-icons-v2 icon generator follows the apps MetaMCP stays in Worph/AppStore: it is third-party metatool-ai software, not part of MetaMesh.
3.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Repository Overview
MetaAppStore is the CasaOS / Yundera 3rd-party app store for the MetaMesh
application family only. It was split out of Worph/AppStore — the
general-purpose fork — so the MetaMesh apps release on their own cadence. Apps
that are not MetaMesh (Jellyfin, Nextcloud, MetaMCP — third-party
metatool-ai software despite the name, …) stay in Worph/AppStore and must
not be added here.
⚠ Asset URLs are repo-scoped. Everything in this repo must reference
https://cdn.jsdelivr.net/gh/Worph/MetaAppStore@main/Apps/{AppName}/. A file
copied over from Worph/AppStore will carry the old
.../gh/Worph/AppStore@main/... URL and its icon will silently 404 in the store
listing. Grep after any import:
grep -rn 'gh/Worph/AppStore@main' Apps/ # must be empty
Structure
Apps/{AppName}/— one dir per app:docker-compose.yml— compose +x-casaosmetadata (the store entry)icon.png,thumbnail.png,screenshot-{1,2,3}.png- optional
rationale.md,README.md,pre-install/
category-list.json— onlyMediaandDeveloperare used hererecommend-list.json,featured-apps.json— store front placementpsd-source/meta-icons-v2/— procedural icon generator for the family (gen_mesh.pymesh sphere +meta_icons.pyper-app badge); see its README
Conventions
- Storage:
/DATA/AppData/{appname}/; media under/DATA/Media/,/DATA/Downloads/ - Networking:
expose, notports; main services join the externalpcsnetwork for Caddy routing. Three caddy labels per public service:caddy_0gateway domain (appname-${APP_DOMAIN},gateway_tlsimport),caddy_1nip.io,caddy_2sslip.io (Let's Encrypt, no import) store_app_idis the lowercased app name (MetaFeederTMDB→metafeedertmdb)- Images:
ghcr.io/worph/meta*pinned to:lateston purpose; the Yundera perimeter images (nginx-hash-lock,appshield) stay version-pinned - Install order:
MetaCorefirst — every other app depends on it - Multi-language: descriptions/taglines carry
en_us,fr_fr,es_es,zh_cn,ko_kr,de_de
Cross-repo notes
- Apps here are the deployable face of the services in
MetaMesh/meta-root-v2; this repo is vendored there aspackages/MetaAppStore. A compose change made directly on a box (e.g.holyhorse,watch.nsl.sh) is overwritten by a store reinstall — port anything load-bearing back here. - Non-Meta companions live in
Worph/AppStore: Suwayomi (chapter tier forMetaFeederSuwayomi) and SegmentPlayer. Cross-references between the two stores are prose-only; don't add hard dependencies.
Validation
docker compose -f Apps/{AppName}/docker-compose.yml config # compose validity
jq . category-list.json recommend-list.json featured-apps.json
grep -rn 'gh/Worph/AppStore@main' Apps/ # must be empty