尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A shared Gantt chart for MRover. Tasks nest as deep as you need, for example:
Rolling Rover → RA → Joint D → BMC → Schematic / Schematic review / Layout / Layout review / Parts ordered …
It's a static site (plain HTML/JS, no build step) hosted on GitHub Pages. The schedule itself is
data/schedule.json in this repo. Every save from the website is a commit,
so you get full history and blame for free.
Ctrl+Z / Ctrl+Shift+Z. Save: Ctrl+S.Saving writes to data/schedule.json through the GitHub API, so each editor needs a token:
gantt.mrover.orgThe token stays in your browser's local storage and is only sent to api.github.com. Don't set it up on shared computers.
Edits are kept locally (they survive a refresh) until you click Save to GitHub. When you save, the site fetches the latest version and does a task-by-task merge, so if you changed one task and a teammate changed another, both changes are kept. If you both changed the same field of the same task, your value wins and the site tells you. If you're idle, the page picks up teammates' saves when you come back to the tab.
main / / (root).CNAME file already sets the custom domain to gantt.mrover.org. In mrover.org's DNS, add:
gantt CNAME b100dev.github.io.main so the CI check below must pass for PRs. Saves from the site commit directly,
so a branch protection rule that blocks direct pushes would block the site too.If the repo moves (e.g. into an MRover org), update CONFIG at the top of app.js and the DNS target.
data/schedule.json has one task per line:
{"id":"bmc-layout-rev","parent":"ra-jd-bmc","name":"Layout review","owner":"","status":"todo","start":"2026-10-22","end":"2026-10-24","milestone":false,"link":"","notes":"","deps":["bmc-layout"],"keyDate":false}
status is one of todo, in-progress, blocked, done. Dates are YYYY-MM-DD, with the end date included.
deps lists the ids of tasks that must finish first. Hand edits aren't rescheduled until someone next
edits in the site, and a task that starts too early shows a red dashed arrow. The order of lines sets the order of siblings. A parent's own dates/status are ignored once it has children.
CI (.github/workflows/validate.yml) checks the file on every push.
npm start # serves on http://localhost:8000
npm test # unit tests for merge/validation logic (lib.js)
npm run validate # check data/schedule.json
lib.js is the pure logic (dates, normalisation, dependency scheduling, 3-way merge, validation) shared by the browser and Node.
app.js is the UI and GitHub sync. style.css follows the system light/dark theme.