Skip to content

feat(platform): extract non-chat apps into potato-os/apps - #311

Merged
slomin merged 1 commit into
mainfrom
feat/issue-282-extract-apps
Apr 8, 2026
Merged

slomin merged 1 commit into
mainfrom
feat/issue-282-extract-apps

Conversation

@slomin

@slomin slomin commented Apr 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Extract Permitato and Skeleton from potato-os/core into the new potato-os/apps repo
  • Add POTATO_APPS_REPO env var to install_dev.sh and prepare_imager_bundle.sh for sourcing apps from the external repo
  • Chat remains the only built-in app in core
  • Zero platform code changes — app discovery, supervisor, lifecycle, routes, and shell all work without modification

Changes

Apps repo (potato-os/apps):

  • Permitato (20+ source files, 13 Python + 6 Playwright tests) and Skeleton copied in
  • pytest.ini, playwright.config.js, requirements-dev.txt added
  • AGENTS.md with app contract docs and deployment instructions
  • GitHub Actions CI for Python tests

Core repo (this PR):

  • apps/permitato/ and apps/skeleton/ deleted
  • bin/install_dev.sh — added POTATO_APPS_REPO support, removed skeleton keep-always
  • bin/prepare_imager_bundle.sh — added POTATO_APPS_REPO support, removed skeleton keep-always
  • bin/publish_ota_release.sh — removed --exclude='apps/permitato' (nothing to exclude)
  • playwright.config.js — added testIgnore for .cache, .claude, references
  • tests/ui/icon-rail.spec.js — mock multi-app response for switcher tests
  • Removed 14 tests referencing extracted files, added 3 tests for POTATO_APPS_REPO
  • AGENTS.md updated to reference potato-os/apps

Test evidence

577 passed in 10.19s     (pytest)
118 passed (32.5s)       (playwright)
274 passed in 0.86s      (apps repo pytest)

Deployment

# Chat only (default)
./bin/install_dev.sh

# Chat + Permitato from external repo
POTATO_APPS_REPO=/path/to/apps-repo \
  POTATO_IMAGE_APPS=chat,permitato \
  ./bin/install_dev.sh

Closes #282

Moves non-chat apps out of potato-os/core into the new potato-os/apps
repository, keeping Chat as the only built-in app in the core repo.

Updates install and image-bundle flows to source selected external apps
through POTATO_APPS_REPO, removes the in-tree Permitato and Skeleton
copies, and keeps the platform app lifecycle and shell behavior working
without requiring non-chat apps to remain in core.

Fails fast when a selected external app cannot be found so installs and
image bundles cannot silently succeed with missing or stale app content.

Closes #282
Refs #264
@slomin
slomin force-pushed the feat/issue-282-extract-apps branch from 7970f42 to 7ec3230 Compare April 8, 2026 21:39
@slomin
slomin merged commit 35f5447 into main Apr 8, 2026
2 checks passed
@slomin
slomin deleted the feat/issue-282-extract-apps branch April 8, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(platform): extract non-chat apps into a separate repo under the potato-os organization

1 participant