Sandboxed first slice of WB Listora. It is a new TypeScript plugin, not the WordPress PHP plugin.
Publisher: did:plc:2o6axbe264shvyedyhycyhya (@vapvarun.bsky.social). Registry name: @vapvarun.bsky.social/listora.
Source: wbcomdesigns/emdash-listora. Docs: docs/website. How to change and ship a version: CONTRIBUTING.md.
The plugin is the engine (routes, storage, hooks, Block Kit admin). It does not create /listings/ pages on install. Copy site-kit onto the EmDash site after install.
- Engine: search, submit, reviews, claims, favorites, contact, import, privacy, renew
- Admin:
/_emdash/adminthen Get started, Listora queue, reviews, claims - Kit pages (you copy):
/listings/,/listings/{slug}/,/listings/submit/,/listings/calendar/,/account/ GET /_emdash/api/plugins/listora/health
Install @vapvarun.bsky.social/listora from the EmDash registry (current release 0.5.2). GitHub tag, package.json, and the registry version are the same number.
Read these on GitHub. They are the team handbook for this early release.
Planning notes that fed the port stay in ops/.
Plans:
ops/autonomous-local-plan.md- runbook: seeded Free prototype, reset, prove, next dropops/seed-inventory.tsv- listings, reviews, claims the lab must containops/listora-as-built.md- what WordPress Listora 1.9.0 actually shipsops/free-first-plan.md- Free catalog only, what we ship nextops/quality-plan.md- definition of done, workstreams, sequenceops/ux-plan.md- screens, tokens, Listora presentation barops/screen-parity.tsv- WP block vs EmDash screen statusops/feature-catalog-emdash.tsv- all 76 catalog featuresops/typescript-plugin-plan.md- sandboxed TS plugin slicesops/prototype-plan.md- site install + local engine lab
First time on a machine (creates a sibling EmDash site if needed):
git clone https://github.com/wbcomdesigns/emdash-listora.git
cd emdash-listora
npm install --legacy-peer-deps
./scripts/setup-lab.sh
./scripts/reset-lab.sh
./scripts/prove-lab.sh --allAfter that:
./scripts/reset-lab.sh
./scripts/prove-lab.sh --allDefault lab folder is ../emdash-local. Override with LISTORA_LAB. Steps: Set up a new machine.
Then open:
- http://localhost:4321/listings/
- http://localhost:4321/listings/submit/
- http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin
- http://localhost:4321/_emdash/api/plugins/listora/health
Submit a listing:
curl -X POST http://localhost:4321/_emdash/api/plugins/listora/submit \
-H "Content-Type: application/json" \
-H "Origin: http://localhost:4321" \
-d '{"title":"Test Bakery","city":"Delhi","listing_type":"business"}'The row stays a draft until you publish it in admin.
GitHub is the source of truth. The collection is the install channel.
- Work on a branch, prove locally, merge to
main. - Bump
package.json(patch / minor / major). See CONTRIBUTING.md. npx emdash-plugin publishfrommain.- Watch listing approval. Sites then update from Admin → Registry.
Do not republish the same version. Collection page after approval: https://plugins.emdashcms.com/plugins/@vapvarun.bsky.social/listora