collin/anvil
a9984bbc392d1a35f278268febb74f2f17d8222b / TODO.md
| 1 | # Todo |
| 2 | |
| 3 | - [ ] pull mirror (maybe): a repo that virtually mirrors a GitHub repo |
| 4 | - just displays it here — periodically fetched, read-only on the anvil side |
| 5 | - [ ] pull requests (gix merge) |
| 6 | - [ ] webhooks (mind the SSRF item in `docs/untrusted-mode.md`) |
| 7 | |
| 8 | ## Edit files in the web UI |
| 9 | |
| 10 | Edit a file in the browser and have anvil make a proper commit (author = the |
| 11 | logged-in user, sensible message), written straight onto the branch with gix — |
| 12 | no working tree. The new commit just advances the branch tip, so anyone who |
| 13 | pushed earlier can fast-forward pull it. |
| 14 | |
| 15 | - start minimal: an "Edit" button on the blob page → textarea → commit; commits |
| 16 | build the tree/commit objects via gix and move the ref (reject if the branch |
| 17 | moved under us — no non-fast-forward clobber) |
| 18 | - then richer editing: a real markdown editor with a live render preview |
| 19 | (reuse `render_markdown`) before committing |
| 20 | - and a structured way to add items to `TODO.md` from the web UI — an "add task" |
| 21 | form that appends a `- [ ]` to the right section per the todo-md spec's |
| 22 | round-trip rules, rather than hand-editing the raw file |