portaljs-deploy
Deploy a PortalJS portal to PortalJS Arc — Datopian-managed static hosting on Cloudflare. Builds a static export, uploads it, and returns a live SLUG.arc.portaljs.com URL. One command, one target. Use when a portal is ready to publish or redeploy to a live URL.
npx skills add datopian/portaljs --skill portaljs-deploy --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# PortalJS — Deploy ## Overview Publish an existing PortalJS portal to **PortalJS Arc** — Datopian's managed static hosting on Cloudflare. Build a static export, upload it to the Arc API, and print a live `https://SLUG.arc.portaljs.com` URL. Re-running redeploys the same portal (idempotent on the slug). This is a single-target skill — it deploys to Arc only. For self-hosting, run `npm run build` and upload `out/` to any static host; no skill required for that path. Arc serves static exports only — SSR is not hosted on Arc yet. ## Prerequisites - A PortalJS portal directory with a `package.json` that lists `next` as a dependency. - Node 18+ and npm on PATH (the Arc device-login flow uses Node's global `fetch`). - `curl` and `tar` available for packaging and upload. - A PortalJS Arc token — read from `PORTALJS_TOKEN`, or `~/.portaljs/credentials` (`{"token":"…"}`). If neither exists, the skill signs in on demand via a device-code flow; no manual token copying required. - If the portal stores large data in Git LFS/R2, do not run `git lfs pull` before deploying — large datasets are served from Cloudflare R2 via absolute URLs in `datasets.json`, not copied into the export. ## Instructio
- Overview
- Prerequisites
- Instructions
- Output
- Error Handling
- Examples
- Example 1 — Deploy the current directory with the default slug
- Example 2 — Deploy with an explicit slug
- Example 3 — Non-interactive deploy from CI with a token env var
- Resources
export PORTALJS_TOKEN=arc_live_xxxxxxxx
What does the portaljs-deploy skill do?
Deploy a PortalJS portal to PortalJS Arc — Datopian-managed static hosting on Cloudflare. Builds a static export, uploads it, and returns a live SLUG.arc.portaljs.com URL. One command, one target. Use when a portal is ready to publish or redeploy to a live URL.
How do I install it?
Run `npx skills add datopian/portaljs --skill portaljs-deploy --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From datopian/portaljs, a repository with 2,337 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
