--- title: Contributing to the wiki summary: Propose an article, correction or translation on GitHub with sources, examples and evidence limits. section: wiki kind: guide status: reference updated: 2026-10-26 tags: ["X4","modding","contributing"] sources: ["https://github.com/dmitriishobolov/x4wiki-Contribute"] --- ## Propose a change on GitHub Open the [issue forms](https://github.com/dmitriishobolov/x4wiki-Contribute/issues/new/choose), choose an addition or correction in Russian or English, and describe the page, change, X4 version, sources and what you actually tested. Select **Create** to start the discussion in GitHub Issues. For a ready draft, fork the repository, copy an article template into `proposals/` and open a pull request. The repository contains [step-by-step instructions](https://github.com/dmitriishobolov/x4wiki-Contribute/blob/main/CONTRIBUTING.en.md) and [article templates](https://github.com/dmitriishobolov/x4wiki-Contribute/tree/main/templates). Git and a local wiki installation are not required for a suggestion. An editor reviews the material, transfers accepted changes into the site working copy, updates translation and publishes after checks. Issues and PR merges do not deploy automatically. For an existing page, download its Markdown and submit an edited draft with the original page URL. ## Where to edit The remaining steps describe an editor's main site working copy, separate from the proposal repository. Russian articles live in `wiki/content/*.md`; English versions use the same filenames under `content/en/`. `dist` is generated. Styling is in `assets`, sections in `site.config.mjs`, and the homepage in `scripts/home.mjs`. There is no online editor or account system on the wiki itself. Download Markdown provides the current article source. English frontmatter contains `title`, `summary` and `sourceHash`, the SHA-256 of the corresponding Russian source. Review both versions before updating that hash. The build rejects missing or stale translations. Preserve API names and original source excerpts. ## The main editorial boundary ## A new article Use a stable Latin filename. The original metadata example below shows the required structure. The page H1 comes from `title`, so start the body with `##`. Lists, tables, quotes and fenced code are supported; arbitrary HTML is escaped. Maintain corresponding heading structure in English so section links survive language changes. ```markdown --- title: Название материала summary: Что читатель изменит и какой результат получит. section: ships kind: guide status: example tags: ["ship", "macro"] sources: ["wiki/references/vanilla-9.00.md"] --- ## Задача Опишите результат и нужные исходные данные. ``` ## Fields Sections are `start`, `ships`, `data`, `scripting`, `ui`, `native`, `reference`, `network`, `wiki`. Kinds are `guide`, `api`, `example`; statuses are `verified`, `observed`, `example`, `reference`. See [evidence status](wiki:evidence). Use JSON arrays for tags and sources. Sources may be HTTPS pages or explicitly allowed authored project materials. Do not add credentials, personal data, saves or extracted original game sources. ## Internal links Use `wiki:slug` links, as in the example below. The build updates navigation, contents and search. General and multiplayer recommendations remain separate; search scope is explicit. ```markdown [Новый корабль](wiki:adding-ship) [Своё окно](wiki:create-ui) ``` ## Build Install dependencies for a fresh checkout or lockfile update, then build and check. The development server watches articles and assets; refresh the browser after a change. Restart it after changing build scripts or configuration. Specify each example's insertion point, value types and prerequisites. Keep unexecuted examples marked as learning material. ```powershell npm ci npm run build npm run check npm run dev ```