openfrontio / openfrontio/OpenFrontIO
Feature request: web-based map submission tool as an alternative to PRs
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 1.4k
- Avg merge
- 17h 43m
- Merged PRs (30d)
- 310
Description
## Problem
Right now the only way to contribute a custom map is a full PR: fork the
repo, drop image.png/info.json into map-generator/assets/maps//,
add flag SVGs to resources/flags/, run the Go generator locally
(go run . --maps=, which most casual contributors won't have set
up), regenerate Maps.gen.ts/en.json, and open a PR that then has to pass
the unsolicited-contribution size gate. That's a lot of tooling overhead
for what is fundamentally "here's an image, an info.json, and some
flags" — it filters out contributors who have a good map idea but aren't
set up to run a Go build locally.
## Proposal
A small web tool (could be a page on the existing site, or a separate
internal tool) where a contributor can:
- Upload image.png + info.json (with client-side or server-side
validation against the same schema codegen.go checks)
- Upload flag SVGs for any nations referenced in info.json
- Get immediate feedback if something's invalid (missing flag, bad
categories, blue-channel/water-sentinel issues, etc.) instead of only
finding out at PR-review time
- On submit, have the tool run the actual map-generator server-side and
either open a PR automatically (bot-authored, with the submitter
credited) or hand the generated files to a maintainer queue for
review/approval before a PR is opened
This would lower the barrier for map contributions considerably while
keeping the same review/approval gate maintainers already use for
unsolicited content.
Happy to help build this if there's interest — I went through the full
manual process for a map submission (PR #5112) and it's the kind of
thing that'd benefit from tooling.
Contributor guide
Research direction
Start by reviewing map-generator/assets/maps//, resources/flags/, and the validation described in codegen.go. Run the existing generator with `go run . --maps=` to understand the current submission flow and generated files. Done means a web-based submission path validates map assets, reports errors, and hands approved input to the existing generation and review process.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, typescript
- Domain
- tooling, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100