The branded front door to a Mind pod — an app launcher, a
profile editor, and account management. The React hub on the shared
@mind-studio/ui design system that sits around the (separately-themed) Solid-server
login/consent pages.
This app installs @mind-studio/core and @mind-studio/ui from GitHub Packages.
A committed .npmrc scopes @mind-studio to that registry; before installing, export
a GitHub token with read:packages:
export NODE_AUTH_TOKEN=<a GitHub PAT with read:packages>
npm install- Launcher — a grid of your Mind apps, read from a pod-native registry
at
{pod}/home/apps.ttl(path owned by@mind-studio/core; seeded with the siblings; add/remove your own). - Profile — edit your name / bio / photo; saved to your pod
profile/card. - Account — manage pods, linked WebIDs, and app credentials, via your pod account (a separate sign-in, handled server-side).
It deliberately does NOT reimplement the OIDC login/consent screens — those are rendered by your pod's own server (themed separately in codespaces).
(cd ../.. && docker compose up -d) # shared Mind CSS on :3011 (see ../../SOLID-SERVER.md)
npm install
npm run dev # dock on :3080Open http://localhost:3080, sign in (issuer http://localhost:3011/,
alice@mind.local / dev-only-do-not-use-in-prod).
dock holds your WebID session (browser) for pod reads/writes (profile,
app registry). Account management needs your pod-account sign-in (a
different credential), held server-side by /api/account/* — the CSS account
cookie never reaches the browser and is encrypted at rest. See AGENTS.md.
| Service | Port |
|---|---|
| dock (Next.js) | 3080 |
| Pod host | shared Mind pod server (mind-node) :3011 (see ../../SOLID-SERVER.md) |
(:3081 / :3083 belong to mind-hermes.)
Versioning, CHANGELOG.md, and tags are automated with
release-please — don't tag or
edit CHANGELOG.md by hand.
- Commit to
mainusing Conventional Commits:fix:→ patch,feat:→ minor,feat!:/BREAKING CHANGE:→ major.chore:/docs:/refactor:/test:don't trigger a release. - release-please keeps an open "chore(main): release X.Y.Z" PR that rolls the
pending commits into
CHANGELOG.mdand bumps the version. - Merge that PR to release: it creates the
vX.Y.Ztag + GitHub Release, which firesrelease.ymlto build and push the Docker image to GHCR. - Deploying the image to production is a separate, manual GitOps step in
mindpods-infra(mind-deploy.sh).