README: vibe coders named at the top, a cloud development environment, one line on SRI

- Bottom line up front names the persona dx-maps is for, vibe coders, and links to what
  they get.
- "Cloud development environment": by default bun run dev is fully local. DX_SYNC_REMOTE and
  DX_SYNC_BRANCH in .env.local make it follow a shared branch. It fast-forwards only a clean
  checkout on that branch, and never merges over local work. If your own agents also edit
  the checkout, it stops following, so push small and often or the landings pile into a merge
  conflict.
- The drop-in route's live example pointed at a branch that doesn't exist (research-gallery);
  it is research-gallery-drop-in, proven with every production map passing its embed checks.
- One line on SRI where hosts copy snippets: the integrity hash makes a changed bundle
  refuse to run, so copy the snippet again after each release.
This commit is contained in:
Doxa Maps 2026-09-29 03:50:13 +00:00
parent 35df7410d0
commit 16fc084d7f

View file

@ -15,6 +15,9 @@ Made by Vibe Coders for Vibe Coders to prepare the way of the Lord and make His
- **How it was made:** no human wrote this code. It is about 100% AI-coded, and about 90% of the
maps began as a vision spoken aloud (voice-to-text, such as Rudder) and handed to an AI agent that
built it with dx-maps. If you can picture a map and say it in plain English, an agent can build it.
- **Who it's for:** vibe coders, people who build by describing what they want to an AI agent. One
repo, one shared library and a live Plugin Studio let your agents build many maps side by side
([what you get](#vibe-coders--who-dx-maps-was-built-for)).
- **Our favorite:** the experimental Gospel × Internet dashboard: the most experimental, and likely
the most impactful for the Great Commission, because everything comes together there.
It is inspired by the Perspectives course and book, and by Curtis Sergeant's 100-list and
@ -379,12 +382,16 @@ serves every map: one server, no PocketBase, nothing else to run. Set `dropin.de
bun run build && bun run dropin # copies dx-maps/ into your site's public/; the rest of the site is left alone
```
This is the route the three DX Life branches were proven on: real pages rendering maps, one server,
all seven drop-in checks passing. Live example: the dx-life branch
[`research-gallery`](https://git.nuxtbase.app/doxa-life/doxa-maps-cdn/src/branch/research-gallery)
This route is proven on DX Life: real pages rendering maps, one server, every production map passing
its embed checks, copy-paste snippets included. Live example: the DX Life branch
[`research-gallery-drop-in`](https://git.nuxtbase.app/doxa-life/doxa-maps-cdn/src/branch/research-gallery-drop-in)
drops the folder into `public/` and fills `/research` with the Research Gallery (`bun install && bun run dev`,
then open `/research/`).
**Embeds are pinned.** A host pastes a map's `embed.script` from `manifest.json`; its `integrity` hash
makes the browser refuse the bundle if it changed by even one byte, so copy the snippet again after each
release ([bundle integrity](#security-controls)).
**Subdomain: the dx-maps container with PocketBase.** When maps need a backend of their own (accounts,
saved data, an API for mobile apps), run the dx-maps container on its own subdomain, such as
`maps.your-site`. It serves the same folder with PocketBase beside it, and its schema ships as migration
@ -736,11 +743,29 @@ their browser within seconds, with no rebuild. Add OIDC settings and it puts a "
provider*" page in front of everything, open only to the groups you allow. Recipe and settings:
[deployment/cloud/](./deployment/cloud/README.md).
Working from your own laptop alongside the team (zero config, everything local by default):
[documentation/HOWTO-join-the-table.md](./documentation/HOWTO-join-the-table.md). When your agent runs on a
server instead: [documentation/CLOUD-DEVELOPMENT-ENVIRONMENT.md](./documentation/CLOUD-DEVELOPMENT-ENVIRONMENT.md).
[documentation/HOWTO-join-the-table.md](./documentation/HOWTO-join-the-table.md).
The two ways dx-maps ships (a drop-in into your own site, or the container on its own subdomain):
[the two routes](#where-the-folder-goes-two-routes) and [documentation/DEPLOY.md](./documentation/DEPLOY.md).
### Cloud development environment
**Your laptop can follow what agents land somewhere else.** By default `bun run dev` is fully local: no
settings, nothing fetched, and only your own edits hot-reload. To also see what agents push to a shared
branch (an agent on a server, or the whole team), add two lines to `.env.local` (gitignored):
```bash
DX_SYNC_REMOTE=origin # a remote name or a repo URL; a private repo uses your usual git credentials
DX_SYNC_BRANCH=development # the default; main is production and moves only on a publish
```
Every few seconds the dev server fetches that branch, fast-forwards your checkout and hot-reloads what
changed. It never merges over your work: it pulls only when you are on that branch with no edits and no
local commits, and otherwise waits and says "development is N commits ahead".
**If your own agents also edit this checkout,** the sync stops following, and the landings you haven't
pulled pile up. Push small and often: a day of local commits against a day of landings is a merge conflict
waiting to happen. Details: [documentation/CLOUD-DEVELOPMENT-ENVIRONMENT.md](./documentation/CLOUD-DEVELOPMENT-ENVIRONMENT.md).
---
## Repository layout