Repository navigation
contributing
Thanks for your interest in improving ROM Validator.
- Reproduce the problem so it is captured in the log.
- Open a GitHub issue and include:
- what you did,
- what you expected to happen,
- what actually happened,
- the application version (see the About window),
- the relevant log file from
%LOCALAPPDATA%\ROM Validator\Logs, - a screenshot (press F8) when it helps.
Warnings, errors and fatal events are forwarded automatically to the developer, but an issue with context is still the best way to get a fix.
Open an issue and describe the use case, not only the solution. Include examples of ROM collections or DAT files when relevant.
-
Fork the repository and create a topic branch.
-
Follow the existing code style:
- the build must stay at zero warnings (Meziantou and Roslynator analyzers are enabled),
- public types and members require XML documentation,
- keep methods small and prefer existing helpers (
FileSystemHelper,AppPaths,ArchiveService,TempDirectoryHelper).
-
Add or update tests in
RomValidator.Testsfor behavior changes. -
Run the full test suite:
dotnet test CSharp_RomValidator.sln --configuration Release --nologo
-
Update the documentation in
docs/when user-visible behavior changes. -
Open a pull request that describes the change and references the related issue.
The documentation site is built from the docs/ folder with Jekyll (just-the-docs theme) and
mirrored to the repository wiki. Add front matter to every page:
---
title: Page Title
parent: User Guide # optional, groups the page in the navigation
nav_order: 1
---Use relative links without the .md extension (for example [FAQ](faq)) so the links work on
GitHub Pages, in the wiki and in the repository.
By contributing you agree that your contributions are licensed under the GPLv3, the license of this project.