尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證MapTogether: free, collaborative Wardley mapping in your browser. Edit a map with your team in real time, as a diagram or as text, with no sign-up.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Collaborative Wardley mapping in your browser. Open a link, start mapping, and see your team's edits and cursors live.
Three people on the same map, with a pipeline showing loose-leaf tea and tea bags at different stages of evolution. Everyone sees the others' cursors, and every edit, on the canvas and in the code, shows up for everyone at once.
A Wardley Map shows a value chain against how evolved each part is, from genesis to commodity. Its value comes from the conversation it starts, so a map should be something a team builds together, not a picture one person emails around.
| To | With a mouse | On a touch screen |
|---|---|---|
| Add a component | Double-click the canvas, or pick the component tool (C) and click | Double-tap the canvas |
| Rename a component | Double-click it | Double-tap it |
| Link two components | Hold Ctrl/Cmd, or pick the link tool (L), then click both | Tap the link tool, then tap both |
| Move components | Drag them | Press and hold, then drag |
| Select | Click a component or link; drag on the empty canvas or hold Shift for several | Tap a component or link |
| Pan | Scroll, drag with Space held, or pick the pan tool (H) | Drag with one finger |
| Zoom | Ctrl/Cmd + scroll, or the zoom buttons | Pinch |
| Delete | Select, then press Delete or Backspace | Select, then tap the bin in the toolbar |
| Start a new map | Click New map | Tap + |
Paste examples/tea-shop.mt into the editor of a new
map to get the tea shop above, the classic first Wardley Map. A trimmed-down
version looks like this:
Business [95, 46]
Public [95, 72]
Cup of Tea [80, 62]
Tea [55, 73] {
Loose Leaf [55, 56]
Tea Bags [55, 90]
}
Kettle [33, 50]
Power [10, 86]
Business.Cup of Tea
Public.Cup of Tea
Cup of Tea.Tea
Cup of Tea.Kettle
Kettle.Power
The text syntax is small:
name [visibility, evolution] places a component. Both numbers run from 0 to
100: visibility from hidden infrastructure (0) up to the user (100), and
evolution from genesis (0) across to commodity (100).needer.needed draws a dependency between two components.name [v, e] { ... } makes a pipeline: put one child component per line
inside the braces, each at its own evolution. Children sit on the pipeline's
row, so their visibility is ignored, and they move with it when you drag it.// comments are ignored.Map text saved as a file uses the .mt extension (MapTogether script).
MapTogether is in alpha. Expect rough edges, and please open an issue when you hit one.
MapTogether is TypeScript and React, with the map drawn by PixiJS (WebGL) and the text edited in CodeMirror. A map is a Yjs document (a CRDT), so edits merge without conflicts. They travel between browsers over WebRTC, and a Cloudflare Worker with Durable Objects connects peers and saves each map.
Development setup, architecture, the multiplayer relay, and the code quality gate are covered in CONTRIBUTING.md.