Developer Resource

Contributing to Millennium Dawn

How to contribute to the mod — accepted contribution types, setup, workflow, and AI policy

This page is a quick reference for contributing to Millennium Dawn. For the complete guide, see the full CONTRIBUTING.md (opens in new tab) on GitHub.

Supporting Resources:


What We Accept

AreaExamples
Focus TreesNew trees, branch reworks, prerequisite fixes
Events & DecisionsEvent chains, decision categories, triggered events
Ideas & National SpiritsNew ideas, modifier tuning, icon assignments
AI & BalanceStrategy plans, equipment variants, stat tweaks
LocalisationEnglish string fixes, tooltip accuracy
GraphicsPortraits, focus icons, event pictures, 3D models
Map & HistoryState boundaries, country history, OOBs
DocumentationGuides, tutorials, dev diaries
ToolingPython scripts, CI improvements, pre-commit hooks
Bug FixesCrash fixes, trigger errors, typos

Non-English localisation is managed through Paratranz (opens in new tab) — do not submit translations directly.

Fork Workflow (Outside Contributors)

  1. Fork the repo on GitHub.
  2. Clone your fork and add the upstream remote:
    git clone https://github.com/<your-username>/Millennium-Dawn.git
    cd Millennium-Dawn
    git remote add upstream https://github.com/MillenniumDawn/Millennium-Dawn.git
  3. Branch from main:
    git checkout -b my-feature main
  4. Make changes, following code standards.
  5. Commit — pre-commit hooks run automatically.
  6. Push and open a PR against main on the upstream repo.

Sync before starting new work:

git fetch upstream
git checkout main
git merge upstream/main
git push origin main

Setup

python3 tools/setup.py          # install hooks and dependencies
python3 tools/setup.py --check  # verify environment

See the full CONTRIBUTING.md (opens in new tab) for VSCode workspace setup, docs site instructions, and dev tools.

AI Policy Summary

AI tooling is welcome under the following rules. See the full AI Policy (opens in new tab) for details.

Code and Scripts

AI coding assistants (Copilot, Claude, ChatGPT, local models) may be used to draft, refactor, or debug HOI4 script code. Requirements:

  • Review all AI output line-by-line before submission.
  • Enforce project standards (tabs, naming, logging, ai_will_do, is_triggered_only).
  • Run pre-commit hooks. Do not submit raw AI output.
  • Verify triggers, effects, and modifiers exist. AI models hallucinate non-existent game objects.

Localisation

AI may draft or proofread English strings. All output requires human review for accuracy, tone, and style compliance. Non-English localisation is managed through Paratranz and must not be AI-generated.

Graphics

  • Pure AI-generated art is not allowed under any circumstances.
  • AI-generated military vehicle side profiles are acceptable only when no existing profile is available, and the final asset must be manually finalized and reviewed by a GFX team member.

Documentation and PR Descriptions

AI may draft documentation and PR descriptions. Review for accuracy — AI frequently references files or tools that do not exist in this repo. Do not add “Generated with” footers or co-author trailers.


For questions, join the Discord (opens in new tab) or open an issue on GitHub.