# PortalJS

> Lets your coding agent build data portals with PortalJS: plan the stack, scaffold a portal, load datasets, add charts and maps, deploy.

PortalJS is Datopian's open-source framework for building data portals: a Home page, a searchable Catalog and a Showcase page for each dataset, as plain, editable Next.js code. This is Datopian's own Claude Code plugin for it: 14 commands, with matching skills, that take your agent from a brief to a working portal.

What's inside
- portaljs-architect: recommends a portal architecture (storage, compute, catalog, access, hosting, metadata) from your needs, then hands off to the build skills
- portaljs-new-portal: scaffolds a new portal from a brief, installs its dependencies and checks the build
- portaljs-add-dataset and portaljs-add-resource: add CSV, TSV, JSON or GeoJSON datasets, or extra files such as a data dictionary, and the catalog and showcase render them automatically
- portaljs-add-chart and portaljs-add-map: add a line, bar, area, pie or scatter chart, or an interactive map, to a dataset's showcase
- portaljs-add-geo: turns Shapefile, GeoPackage, KML, FlatGeobuf and other geospatial files into map-ready and queryable versions on your own machine
- portaljs-define-schema and portaljs-check-data-quality: infer a Frictionless Table Schema with license and source metadata, and audit a CSV for type mismatches, nulls and duplicates
- portaljs-connect-ckan: feeds the catalog from a live CKAN instance instead of static files
- portaljs-migrate and arcgis-to-portaljs: harvest catalogs from CKAN, Socrata, OpenDataSoft, ArcGIS or DCAT feeds
- portaljs-add-dcat: publishes DCAT feeds (DCAT-AP, DCAT-US and national profiles) so open-data portals such as data.europa.eu and data.gov can harvest yours
- portaljs-deploy: builds a static export and publishes it to PortalJS Arc, Datopian's managed hosting, at a your-slug.arc.portaljs.com address

How to install
In Claude Code, run /plugin marketplace add datopian/portaljs, then /plugin install portaljs@datopian-portaljs. Datopian also offers a script that installs the commands into ~/.claude/commands, and they work from a clone of the repository too. Scaffolding a portal needs Node.js 22 or later.

Good to know
- The skills are interactive: if your brief is thin, they ask questions in short rounds.
- The portal is plain Next.js you own, and you can host its static export anywhere.
- Deploying to PortalJS Arc, and pushing local data files to Cloudflare R2 (the default for added datasets), use a PortalJS Arc account; the skill signs you in with a device code.

- Type: Plugin
- Made by: datopian
- Category: Data & analytics
- Formats: Claude plugins
- Version: latest
- Website: https://www.portaljs.com/docs
- Source: https://github.com/datopian/portaljs/tree/HEAD/.
- Page: https://pluginboard.ai/plugins/portaljs

## Works with

- Claude
- GitHub Copilot
- Claude Code
- OpenClaw

## Install

### Claude

In Claude (web or desktop): Customize → Plugins → Add → Add marketplace, enter datopian/portaljs, then add portaljs

### Claude Code

In Claude Code:

```text
/plugin marketplace add datopian/portaljs
/plugin install portaljs@datopian-portaljs
```

---
From Pluginboard (https://pluginboard.ai).
