尚未检测到更新。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.