Use this app for blog/news, podcasts, Keystatic content editing, and media-specific APIs.
- Workspace:
apps/media - Package:
solana-com-media - Default dev port:
3002 - Public route ownership:
/news,/podcasts,/keystatic
package.jsonnext.config.tskeystatic.config.tsxapp/content/
- Next.js App Router app with
next-intl - Keystatic is the CMS and
content/is the source of truth in local mode - Uses asset prefix
/media-assets - Shared nav/header behavior depends on
NEXT_PUBLIC_APP_NAME="media" - Tests exist in
__tests__/ande2e/
content/posts/*: article contentcontent/podcasts/*: podcast show and episode metadatacontent/authors/*,content/categories/*,content/tags/*: taxonomiescontent/global/*: site-wide CMS contentpublic/uploads/*: uploaded media assets
pnpm --filter solana-com-media dev
pnpm --filter solana-com-media build
pnpm --filter solana-com-media lint
pnpm --filter solana-com-media typecheck
pnpm --filter solana-com-media test
pnpm --filter solana-com-media screenshots- Local editing usually expects
NEXT_PUBLIC_KEYSTATIC_LOCAL=true - Asset bugs often come from
/media-assetsrewrites rather than component code - Content changes can affect runtime readers in
lib/as well as page output - If you touch header links or cross-app navigation, inspect
packages/ui-chrome/src/url-config.ts