openfrontio / openfrontio/OpenFrontIO

Feature request: web-based map submission tool as an alternative to PRs

Open
#5,139 5 comments 0 reactions 0 assignees View on GitHub
not-approved Stale
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.