-
Notifications
You must be signed in to change notification settings - Fork 0
Development Contributing
Thanks for considering a contribution to FindRomCover. This page explains how to report issues, propose changes, and get your work merged.
- Report bugs with clear reproduction steps and log excerpts.
- Suggest features through GitHub Issues or Discussions.
-
Improve documentation — every page is a Markdown file in
docs/. - Submit code for fixes, performance, or new features.
Include:
- FindRomCover version (visible in
About). - Windows version and architecture (x64/ARM64).
- Steps to reproduce.
- Expected and actual behavior.
- Relevant log entries (
error.logor the log window). Remove anything you do not want to share. - Whether AI Assist or the Google API was involved.
-
Fork the repository and create a branch:
git checkout -b fix/short-description
-
Build and test:
dotnet build CSharp_FindRomCover.sln dotnet test CSharp_FindRomCover.sln -
Keep changes focused: one logical change per pull request.
-
Add or update tests for behavior changes.
-
Update documentation when user-visible behavior changes.
-
Open a pull request against
masterwith a clear description.
- Follow
.editorconfigand the existing formatting. - Keep the build warning-free; the projects enable Meziantou, Roslynator, and Microsoft.CodeAnalysis analyzers.
- One top-level type per file.
- Prefer small, focused methods and clear names over comments.
- Use nullable reference types correctly; avoid suppressions.
- Never log secrets or personal data.
Use short, descriptive messages in the imperative mood, optionally with a conventional prefix:
fix: handle missing WebView2 runtime on startup
feat(ai): add Gemini provider
docs: document batch fill outcomes
- Build is warning-free.
- All tests pass.
- New behavior is covered by tests.
- User-facing changes are reflected in
docs/and, where relevant,README.mdandWhatsNew.md. - No secrets, tokens, or personal paths are committed.
The docs are built with MkDocs Material from docs/ and mirrored to the GitHub wiki by scripts/Sync-Wiki.ps1.
Preview locally:
pip install -r docs/requirements.txt
mkdocs serveGuidelines:
- Use plain Markdown that renders both on the site and in the wiki (tables, lists, code fences, blockquotes).
- Link between pages with relative
.mdlinks; the wiki script rewrites them. - Keep each page focused; add it to the
navinmkdocs.ymland to the sidebar structure in the sync script. - Run
mkdocs build --strictbefore submitting.
By contributing, you agree that your contributions are licensed under the GNU General Public License v3.0, the same license as the project. See License.
FindRomCover — find and download missing cover art for your retro gaming ROM collection.
Getting Started
User Guide
- Interface Overview
- Folders & Scanning
- Local Files Search
- Web Search (Google Web & Bing Web)
- Google Custom Search API
- Image Handling
- Missing Covers List
AI Vision Assist
- AI Vision Assist
- Providers & Models
- AI Settings
- Picking Covers
- Batch Fill
- Query History
- Recommended Models
- AI Troubleshooting
Configuration
- Settings Overview
- Themes & Appearance
- Similarity Algorithms
- Supported Extensions
- Data Storage
- Logs & Diagnostics
Reference
Development
More