daytona-electron-den
Electron and Den, desktop plus cloud, two-sandbox e2e, cloud auth, marketplace, org policy, worker proxy, provider sync, desktop handoff. Validate Electron against a Daytona Den server with unified proof.
git clone --depth 1 https://github.com/Devin-AXIS/iPolloWork /tmp/daytona-electron-den && cp -r /tmp/daytona-electron-den/.opencode/skills/daytona-electron-den ~/.claude/skills/daytona-electron-denSKILL.md
# Daytona Electron Against Den
Use this skill for full-stack cloud behavior: one Daytona sandbox runs Den, and a
separate Daytona sandbox runs the real Electron app pointed at that Den server.
## Start The Server Sandbox
Use the server skill first:
```bash
bash .devcontainer/test-server-on-daytona.sh <branch-or-commit>
```
Record the printed values:
- `SERVER_SANDBOX`
- `DEN_WEB_URL`
- `DEN_API_URL`
- `DEN_WORKER_PROXY_URL`
Validate server health:
```bash
curl -sf "$DEN_WEB_URL/api/den/health"
curl -sf "$DEN_API_URL/health"
```
## Start Electron Against Den
```bash
bash .devcontainer/test-on-daytona.sh <branch-or-commit> \
--den-base-url "$DEN_WEB_URL" \
--den-api-base-url "$DEN_API_URL" \
--artifacts-volume
```
Add `--require-signin` when the expected behavior must be signed-out until cloud
auth completes. Add `--record-video --recording-name <name>` when PR evidence is
needed.
## Validate Bootstrap
Before testing cloud behavior, prove Electron is using the Daytona Den server:
```js
JSON.stringify({ hash: location.hash, text: document.body.innerText.slice(0, 1000) })
```
Then inspect the desktop bootstrap file:
```bash
daytona exec "$SANDBOX" -- 'cat /workspace/.ipollowork-daytona/desktop-bootstrap.json'
```
Expected: `baseUrl` is `DEN_WEB_URL` and `apiBaseUrl` is `DEN_API_URL`, not
production.
## Desktop Handoff Pattern
For seeded/demo auth, create the handoff URL from the Den API, then paste it into
Electron's Cloud Account sign-in code field. Do not rely on browser navigation
alone as proof that desktop auth completed.
Validate all of these:
- Electron Cloud Account shows signed-in user/org state.
- Den API logs show handoff exchange or `/v1/me/orgs`.
- Electron UI can refresh cloud providers/workers/marketplace without production URLs.
## Marketplace, Policy, Provider Sync
For each cloud feature, use the `fraimz` loop:
1. Assert server seed or API state.
2. Act in Electron UI.
3. Assert Electron visible state.
4. Assert Den logs/API state if relevant.
5. Capture screenshot or recording evidence.
Minimum assertions:
- Marketplace: package appears, install/remove changes local extension state.
- Org policy: restriction appears in Electron and persists after reload.
- Provider sync: Den-managed provider appears as imported/credential-ready, model can be selected, and task metadata uses the Den provider id.
- Worker proxy: worker/proxy failures affect only worker UI and recover after proxy restart.
## Evidence
Report both server and Electron proof:
- Den Web/API health checks.
- Relevant `/tmp/den-*.log` snippets.
- Electron CDP assertions and screenshots.
- Recording URL if requested.Create deterministic animation and transitions for the active iPollo Video project.
Inspect, validate, preview, and render the active iPollo Video project with its bundled HyperFrames CLI.
Apply the core composition, timing, media, and determinism contract used by iPollo Video.
Plan visual direction, typography, pacing, audio, and composition for iPollo Video projects.
Build seek-safe keyframe animation for the active iPollo Video timeline.
Reuse approved HyperFrames blocks and components inside the active iPollo Video project.
Route video creation and editing through the active iPollo Video project and its built-in HyperFrames runtime.
Edit an image from the active iPolloWork Image Studio selection or mask without overwriting the source image.