Merge remote-tracking branch 'origin/development' into upg100/fill-2
This commit is contained in:
commit
a40f5ac686
1 changed files with 25 additions and 18 deletions
43
README.md
43
README.md
|
|
@ -62,7 +62,7 @@ capabilities, three outputs, one shared library, one build.
|
|||
| **One app nests every map** — and each stays embeddable on its own | [capability 5](#capability-5--app-shell-the-research-gallery) · `bun run check:composite-reg` |
|
||||
| **5 capabilities, every one shippable in every output** | `bun run verify:5-caps` |
|
||||
| **Shared library, private plugins** — reuse without breaking each other | `bun run check:library-index` |
|
||||
| **One agent per plugin, one shepherd, one working `main`** | [agent swarm](#build-it-with-an-agent-swarm) |
|
||||
| **One agent per plugin, one shepherd, one working `development`** | [agent swarm](#build-it-with-an-agent-swarm) |
|
||||
|
||||
## For vibe coders: build, open the Studio, embed a map
|
||||
|
||||
|
|
@ -119,7 +119,8 @@ people groups of the world. When you work here, the goal is one of these:
|
|||
every other plugin.
|
||||
- **Land on `development`**, one change at a time through the lock, with `bun run gates:pre` passing. `main` is
|
||||
production and moves only on a publish.
|
||||
- These 8 maps are in production. The other maps are experimental: leave them as they are unless your task is one
|
||||
- These 8 maps are in production: the 7 in the gallery, plus the country map for DX Life's country pages. The
|
||||
other maps are experimental: leave them as they are unless your task is one
|
||||
of them.
|
||||
|
||||
*Click any ▸ to read more. Everything below is folded so you can scroll the pictures first.*
|
||||
|
|
@ -129,17 +130,18 @@ people groups of the world. When you work here, the goal is one of these:
|
|||
## The 7 production maps
|
||||
|
||||
**Seven maps DX uses today** — each one a plugin you can embed on its own, and all seven together in
|
||||
the Research Gallery.
|
||||
the Research Gallery, which DX Life publishes as **Deep Research**. An eighth production map, the country map
|
||||
(`country-map`), draws DX Life's country pages; it isn't in the gallery.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-big-picture.png" alt="Big Picture"><br><b>Big Picture</b><br><sub>the whole research dashboard: filters, map, charts, people groups</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-simple-research.png" alt="Simple Research"><br><b>Simple Research</b><br><sub>the research map with the people-groups grid, made for phones</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-regions.png" alt="Regions"><br><b>Regions</b><br><sub>every region and its countries, then a dashboard per region</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/cap4-upg100-mfe.png" alt="UPG-100 List"><br><b>UPG-100 List</b><br><sub>prayer lists of 100 people groups, with posters to print</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/cap2-prayer.png" alt="Prayer Progress"><br><b>Prayer Progress</b><br><sub>where prayer is happening, and where it is still needed</sub></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/cap2-prayer.png" alt="Prayer Progress"><br><b>Prayer Progress</b><br><sub>where prayer is happening, and where it is still needed</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/cap4-upg100-mfe.png" alt="UPG-100 List"><br><b>UPG-100 List</b><br><sub>prayer lists of 100 people groups, with posters to print</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-cities-internet.png" alt="Cities with Internet"><br><b>Cities with Internet</b><br><sub>internet access where unreached people groups live</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-gospel-resources.png" alt="Gospel Resources"><br><b>Gospel Resources</b><br><sub>which people groups have scripture, film or audio — and which have nothing</sub></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/cap5-doxa-maps-spa.png" alt="Research Gallery"><br><b>Research Gallery</b><br><sub>all seven in one app — capability 5</sub></td>
|
||||
|
|
@ -152,8 +154,8 @@ the Research Gallery.
|
|||
<tr>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-simple-research-phone.png" alt="Simple Research on a phone"><br><b>Simple Research</b></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-regions-phone.png" alt="Regions on a phone"><br><b>Regions</b></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/deploy2-mobile-upg100.png" alt="UPG-100 List on a phone"><br><b>UPG-100 List</b></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-prayer-phone.png" alt="Prayer Progress on a phone"><br><b>Prayer Progress</b></td>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/deploy2-mobile-upg100.png" alt="UPG-100 List on a phone"><br><b>UPG-100 List</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25%" valign="top"><img src="documentation/readme-images/prod-cities-internet-phone.png" alt="Cities with Internet on a phone"><br><b>Cities with Internet</b></td>
|
||||
|
|
@ -448,8 +450,9 @@ snippets in `manifest.json` stay relative (`./…`) and other sites can't paste
|
|||
the manifests in this repo's `public/`; `git restore public` puts them back after the copy.
|
||||
|
||||
This route is proven on DX Life: real pages rendering maps, one server, every production map passing
|
||||
its embed checks, copy-paste snippets included. Its drop-in branch copies the folder into `public/` and
|
||||
fills `/research` with the Research Gallery.
|
||||
its embed checks, copy-paste snippets included. Its drop-in branch copies the folder into `public/dx-maps`. Its
|
||||
`/research` page shows the research map by itself, with a link to `/deep-research`, a page not in the menu that
|
||||
holds the whole gallery as **Deep 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
|
||||
|
|
@ -509,19 +512,22 @@ Every plugin's exact snippet is `embed.iframe` in `public/dx-maps/manifest.json`
|
|||
|
||||
</details>
|
||||
|
||||
##### JavaScript embed — the Research Gallery on dx-life ✅ production
|
||||
##### JavaScript embed — Deep Research for DX Life ✅ works today
|
||||
|
||||
**Two lines of code put a whole app inside your own page** — here, the Research Gallery on the
|
||||
dx-life research page.
|
||||
**Two lines of code put a whole app inside your own page** — here, the Research Gallery, which DX Life
|
||||
publishes as **Deep Research** on a page of its own (`/deep-research`).
|
||||
|
||||

|
||||

|
||||
|
||||
*An earlier build, when the gallery sat on DX Life's research page with its tabs in the old order. It now has a
|
||||
page of its own.*
|
||||
|
||||
<details>
|
||||
<summary><b>More about the JavaScript embed</b></summary>
|
||||
|
||||
Instead of a window onto another page, the map becomes **part of your page**, so your page can talk
|
||||
to it. On dx-life, one embed of the Research Gallery replaces the separate research map, list and
|
||||
regions dashboards. The exact snippet is `embed.script` in `manifest.json`; copy its `integrity`
|
||||
to it. On dx-life, one embed of the gallery is the whole `/deep-research` page, and the research page keeps
|
||||
the research map by itself. The exact snippet is `embed.script` in `manifest.json`; copy its `integrity`
|
||||
hash from there, because it changes with every build:
|
||||
|
||||
```html
|
||||
|
|
@ -682,8 +688,8 @@ your own page, set `"locale"` in its `profile-config`. Arabic reads right to lef
|
|||
|
||||
**Many AI agents can build many plugins at once without breaking each other's work.** Every plugin
|
||||
has one agent building it, and one shepherd agent makes sure every agent does its job well. All the
|
||||
plugins live in one project with one shared library, and changes are added to `main` — the one
|
||||
official version — one at a time.
|
||||
plugins live in one project with one shared library, and changes are added to `development`, the shared
|
||||
working version, one at a time. `main` is the production version, and it moves only when a release is published.
|
||||
|
||||

|
||||
|
||||
|
|
@ -702,7 +708,7 @@ So the project works like a busy kitchen with one head chef:
|
|||
2. **Before adding its work, each agent catches up**: it pulls in everyone else's latest work and
|
||||
fixes any clashes with its own. The agent fixes the clash, not the next person.
|
||||
3. **Only one agent adds work at a time.** They wait in a line (the *merge queue*), the checks run,
|
||||
and only then does the change go into `main`. `main` always works.
|
||||
and only then does the change go into `development`. `development` always works.
|
||||
4. **A shepherd agent watches everyone**: plugins built in the studio, shared parts really shared,
|
||||
and every change going through the line.
|
||||
|
||||
|
|
@ -716,7 +722,8 @@ That's how many plugins get built at the same time, in one project, without the
|
|||
| Word | In plain terms |
|
||||
|---|---|
|
||||
| **repo** | the project folder, with its full history |
|
||||
| **main** | the one official version of the project that everyone builds from |
|
||||
| **development** | the shared working version: every agent's change is added here, one at a time |
|
||||
| **main** | the production version: it moves only when `development` is published |
|
||||
| **worktree** | a private copy of the project for one agent to work in |
|
||||
| **merge conflict** | two changes touched the same lines; someone has to decide how to combine them |
|
||||
| **rebase** | catching your work up with everyone else's latest before adding it |
|
||||
|
|
|
|||
Loading…
Reference in a new issue