<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Contributing</title><link>https://sourceforge.net/p/sucrose/wiki/Contributing/</link><description>Recent changes to Contributing</description><atom:link href="https://sourceforge.net/p/sucrose/wiki/Contributing/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 04 Jul 2026 04:15:52 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/sucrose/wiki/Contributing/feed" rel="self" type="application/rss+xml"/><item><title>Contributing modified by Bayram Emekli</title><link>https://sourceforge.net/p/sucrose/wiki/Contributing/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -95,7 +95,6 @@
 |----------|---------|--------------|
 | `codeql-analysis.yml` | push/PR to `develop`, and nightly (`cron: '0 0 * * *'`) on `windows-2022` | CodeQL analysis, language matrix **`csharp`** only. Builds **only 7 `src/Library/` projects**: `Pipe, Memory, Signal, Manager, Resources, Transmission, XamlAnimatedGif` (`Mpv.NET` is excluded). Uses .NET `11.0.x` quality `preview`; restore + build with `-p:UseSharedCompilation=false`. |
 | `congratulations.yml` | first-time contributor's first issue or first PR to `develop` | Posts a welcome comment (via `actions/first-interaction@v3`) with the PR checklist below. |
-| `nuxt-deploy.yml` | every push to `develop` | Builds and deploys the project website in `.pages/` (Nuxt + Tailwind, **bun**) to GitHub Pages. Independent of the .NET app. |

 **Consequences for contributors:**

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bayram Emekli</dc:creator><pubDate>Sat, 04 Jul 2026 04:15:52 -0000</pubDate><guid>https://sourceforge.netb0a021c1e3397f8bea45c9e6022aa5a40e96e6c0</guid></item><item><title>Contributing modified by Bayram Emekli</title><link>https://sourceforge.net/p/sucrose/wiki/Contributing/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="h-contributing"&gt;Contributing&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Audience: developers / contributors.&lt;/em&gt; Sucrose is an open-source (GPL-3.0) Windows wallpaper engine, and contributions are welcome. This page describes the full contribution workflow — fork, branch, commit, pull request — plus the issue/PR templates, the Code of Conduct, what CI actually checks, the Dependabot setup, and how to reach the maintainer. The default (and target) branch for all pull requests is &lt;strong&gt;&lt;code&gt;develop&lt;/code&gt;&lt;/strong&gt;, not &lt;code&gt;main&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="h-contents"&gt;Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#fork--pull-request-workflow"&gt;Fork &amp;amp; pull-request workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#open-an-issue-first"&gt;Open an issue first&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#issue--pr-templates"&gt;Issue &amp;amp; PR templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#code-of-conduct"&gt;Code of Conduct&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#what-ci-actually-builds"&gt;What CI actually builds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-pr-checklist"&gt;The PR checklist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dependabot"&gt;Dependabot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#coding-standards"&gt;Coding standards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#reporting-security-issues"&gt;Reporting security issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#contact"&gt;Contact&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#see-also"&gt;See also&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h2 id="h-fork-pull-request-workflow"&gt;Fork &amp;amp; pull-request workflow&lt;/h2&gt;
&lt;p&gt;The flow from &lt;code&gt;.github/CONTRIBUTING.md&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Fork&lt;/strong&gt; &lt;code&gt;https://github.com/Taiizor/Sucrose&lt;/code&gt; on GitHub.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clone&lt;/strong&gt; your fork:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;bash
   git clone https://github.com/Taiizor/Sucrose.git&lt;/code&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Make your changes&lt;/strong&gt;, following the &lt;a href="./Code-Conventions"&gt;Code Conventions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Commit&lt;/strong&gt; with a descriptive title plus an explanation:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;bash
   git commit -m "Title: explanation."&lt;/code&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Push&lt;/strong&gt; to your fork. The repository's default branch is &lt;strong&gt;&lt;code&gt;develop&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;bash
   git push origin develop&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The shipped &lt;code&gt;.github/CONTRIBUTING.md&lt;/code&gt; historically said &lt;code&gt;git push origin main&lt;/code&gt;; the project's default branch is actually &lt;code&gt;develop&lt;/code&gt;, so push and open your PR against &lt;code&gt;develop&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Open a Pull Request&lt;/strong&gt; to the main repository, targeting &lt;code&gt;develop&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Review&lt;/strong&gt; — maintainers review, may ask follow-up questions, then merge.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr/&gt;
&lt;h2 id="h-open-an-issue-first"&gt;Open an issue first&lt;/h2&gt;
&lt;p&gt;For &lt;strong&gt;new features or significant changes, open an issue first to discuss&lt;/strong&gt; before writing code. This avoids wasted effort on changes that may not fit the project's direction. Small fixes (typos, obvious bugs) can go straight to a PR.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-issue-pr-templates"&gt;Issue &amp;amp; PR templates&lt;/h2&gt;
&lt;p&gt;Issue templates live in &lt;code&gt;.github/ISSUE_TEMPLATE/&lt;/code&gt;. &lt;strong&gt;Blank issues are disabled&lt;/strong&gt; (&lt;code&gt;config.yml&lt;/code&gt; → &lt;code&gt;blank_issues_enabled: false&lt;/code&gt;) — you must pick a template. The template chooser's contact link points to the GitHub &lt;strong&gt;Discussions&lt;/strong&gt; tab for general questions.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Template&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Key sections&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;bug_report.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;bug&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bug Description, To Reproduce, Expected Behavior, Screenshots/Video, Desktop (OS + which wallpaper was running), Additional Context, and a required &lt;strong&gt;Log File&lt;/strong&gt; section.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;feature_request.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;enhancement&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Problem statement, desired solution, alternatives considered, additional context.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Bug reports require a log file.&lt;/strong&gt; Produce one in any of these ways (also see &lt;a href="./Logs-Diagnostics"&gt;Logs &amp;amp; Diagnostics&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tray icon → &lt;strong&gt;Report Issue&lt;/strong&gt; → &lt;strong&gt;Create Log File&lt;/strong&gt;; or&lt;/li&gt;
&lt;li&gt;Sucrose settings (gear, top-right) → &lt;strong&gt;System&lt;/strong&gt; → &lt;strong&gt;Log Files&lt;/strong&gt; → &lt;strong&gt;Create&lt;/strong&gt;; or&lt;/li&gt;
&lt;li&gt;Navigate to &lt;code&gt;C:\Users\&amp;lt;UserName&amp;gt;\AppData\Roaming\Sucrose\Log&lt;/code&gt; and attach the relevant log.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Reminders before filing: one issue per bug, search for duplicates first, use a descriptive title, and check the wiki troubleshooting pages (see &lt;a href="./Troubleshooting-Common"&gt;Troubleshooting (Common)&lt;/a&gt;).&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-code-of-conduct"&gt;Code of Conduct&lt;/h2&gt;
&lt;p&gt;The project adopts the &lt;strong&gt;Contributor Covenant v2.1&lt;/strong&gt; (&lt;code&gt;.github/CODE_OF_CONDUCT.md&lt;/code&gt;). It includes the standard pledge, standards of acceptable behavior, and a four-step enforcement ladder:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Correction&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Warning&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Temporary Ban&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Permanent Ban&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Code of Conduct enforcement concerns can be raised with the maintainer at &lt;code&gt;taiizor@vegalya.com&lt;/code&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-what-ci-actually-builds"&gt;What CI actually builds&lt;/h2&gt;
&lt;p&gt;A common misconception: there is &lt;strong&gt;no automated full-app build or release CI&lt;/strong&gt;. The workflows in &lt;code&gt;.github/workflows/&lt;/code&gt; are:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Workflow&lt;/th&gt;
&lt;th&gt;Trigger&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;codeql-analysis.yml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;push/PR to &lt;code&gt;develop&lt;/code&gt;, and nightly (&lt;code&gt;cron: '0 0 * * *'&lt;/code&gt;) on &lt;code&gt;windows-2022&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CodeQL analysis, language matrix &lt;strong&gt;&lt;code&gt;csharp&lt;/code&gt;&lt;/strong&gt; only. Builds &lt;strong&gt;only 7 &lt;code&gt;src/Library/&lt;/code&gt; projects&lt;/strong&gt;: &lt;code&gt;Pipe, Memory, Signal, Manager, Resources, Transmission, XamlAnimatedGif&lt;/code&gt; (&lt;code&gt;Mpv.NET&lt;/code&gt; is excluded). Uses .NET &lt;code&gt;11.0.x&lt;/code&gt; quality &lt;code&gt;preview&lt;/code&gt;; restore + build with &lt;code&gt;-p:UseSharedCompilation=false&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;congratulations.yml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;first-time contributor's first issue or first PR to &lt;code&gt;develop&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Posts a welcome comment (via &lt;code&gt;actions/first-interaction@v3&lt;/code&gt;) with the PR checklist below.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;nuxt-deploy.yml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;every push to &lt;code&gt;develop&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Builds and deploys the project website in &lt;code&gt;.pages/&lt;/code&gt; (Nuxt + Tailwind, &lt;strong&gt;bun&lt;/strong&gt;) to GitHub Pages. Independent of the .NET app.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Consequences for contributors:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CI does &lt;strong&gt;not&lt;/strong&gt; compile the executables, engines, the Portal, the shared projects, or the full solution. A PR that breaks any of those &lt;strong&gt;still passes CI&lt;/strong&gt;. &lt;strong&gt;Build locally&lt;/strong&gt; before opening a PR — see &lt;a href="./Building-From-Source"&gt;Building From Source&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There is &lt;strong&gt;no automated test suite&lt;/strong&gt; (no test projects exist). Validate behavior by running the app.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;EnforceCodeStyleInBuild=true&lt;/code&gt; makes &lt;code&gt;.editorconfig&lt;/code&gt; violations build errors locally, but CI only enforces this on the 7 Library projects.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h2 id="h-the-pr-checklist"&gt;The PR checklist&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;congratulations.yml&lt;/code&gt; welcome comment posts a checklist on a contributor's first PR. Use it as your pre-submit gate:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Follow the project's code style.&lt;/li&gt;
&lt;li&gt;Tested the change locally.&lt;/li&gt;
&lt;li&gt;Updated documentation where relevant.&lt;/li&gt;
&lt;li&gt;CI is passing.&lt;/li&gt;
&lt;li&gt;Clear, descriptive commit messages.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h2 id="h-dependabot"&gt;Dependabot&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;.github/dependabot.yml&lt;/code&gt; configures two ecosystems, both run &lt;strong&gt;monthly&lt;/strong&gt; (Monday 09:00, Europe/Istanbul):&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ecosystem&lt;/th&gt;
&lt;th&gt;Directory&lt;/th&gt;
&lt;th&gt;Open-PR limit&lt;/th&gt;
&lt;th&gt;Labels&lt;/th&gt;
&lt;th&gt;Commit prefix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;nuget&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dependencies&lt;/code&gt;, &lt;code&gt;nuget&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;deps&lt;/code&gt; (with scope)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;github-actions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dependencies&lt;/code&gt;, &lt;code&gt;github-actions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;ci&lt;/code&gt; (with scope)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;NuGet versions are centrally managed in &lt;code&gt;Directory.Packages.props&lt;/code&gt; with transitive pinning, so Dependabot PRs update versions there.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-coding-standards"&gt;Coding standards&lt;/h2&gt;
&lt;p&gt;The contribution guidelines ask you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comply with the project &lt;strong&gt;LICENSE&lt;/strong&gt; (GPL-3.0).&lt;/li&gt;
&lt;li&gt;Keep code &lt;strong&gt;readable and maintainable&lt;/strong&gt; and follow good coding standards.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attribute sources&lt;/strong&gt; and avoid copyright violations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In practice, that means following the strict repository conventions: the &lt;strong&gt;namespace-alias acronym&lt;/strong&gt; rule, the directory-role layout, and the enforced &lt;code&gt;.editorconfig&lt;/code&gt; style (4-space indentation, CRLF line endings, block-scoped namespaces, &lt;code&gt;I&lt;/code&gt;-prefixed interfaces, explicit types over &lt;code&gt;var&lt;/code&gt;, expression-bodied accessors only). All of this is documented in &lt;a href="./Code-Conventions"&gt;Code Conventions&lt;/a&gt;. For structural changes (new settings, engines, shared projects) follow the recipes in &lt;a href="./Extending-Sucrose"&gt;Extending Sucrose&lt;/a&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-reporting-security-issues"&gt;Reporting security issues&lt;/h2&gt;
&lt;p&gt;Do &lt;strong&gt;not&lt;/strong&gt; open a public issue for a vulnerability. Report it privately by email so it can be fixed before disclosure — see &lt;a href="./Security-Policy"&gt;Security Policy&lt;/a&gt; for the full responsible-disclosure process.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-contact"&gt;Contact&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Issues&lt;/strong&gt; — bugs and feature requests (use a template; blank issues disabled).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Discussions&lt;/strong&gt; — general questions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt; — &lt;code&gt;taiizor@vegalya.com&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Other governance documents in &lt;code&gt;.github/&lt;/code&gt;: &lt;code&gt;SECURITY.md&lt;/code&gt;, &lt;code&gt;PRIVACY_POLICY.md&lt;/code&gt;, &lt;code&gt;TERMS_OF_SERVICE.md&lt;/code&gt;, &lt;code&gt;FUNDING.yml&lt;/code&gt;, and READMEs in four languages (&lt;code&gt;README.md&lt;/code&gt;, &lt;code&gt;README.tr-TR.md&lt;/code&gt;, &lt;code&gt;README.ja-JP.md&lt;/code&gt;, &lt;code&gt;README.zh-CN.md&lt;/code&gt;).&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-see-also"&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="./Building-From-Source"&gt;Building From Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="./Code-Conventions"&gt;Code Conventions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="./Extending-Sucrose"&gt;Extending Sucrose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="./Repository-Layout"&gt;Repository Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="./Security-Policy"&gt;Security Policy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="./Translating-Localizer"&gt;Translating with the Localizer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="./Getting-Help"&gt;Getting Help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="./Logs-Diagnostics"&gt;Logs &amp;amp; Diagnostics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bayram Emekli</dc:creator><pubDate>Sat, 04 Jul 2026 04:15:20 -0000</pubDate><guid>https://sourceforge.net3ee8181d8d594a1e3e7f786514c735eb050bc6d9</guid></item></channel></rss>