<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Daniel Praźmo</title>
    <description>The latest articles on DEV Community by Daniel Praźmo (@nidu).</description>
    <link>https://dev.to/nidu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4149398%2F5fa7b44e-6a9d-4e7d-8a4a-aac1ee68a26e.png</url>
      <title>DEV Community: Daniel Praźmo</title>
      <link>https://dev.to/nidu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nidu"/>
    <language>en</language>
    <item>
      <title>Besprited is in Hacktoberfest: here's how to jump in</title>
      <dc:creator>Daniel Praźmo</dc:creator>
      <pubDate>Tue, 29 Sep 2026 10:54:27 +0000</pubDate>
      <link>https://dev.to/nidu/besprited-is-in-hacktoberfest-heres-how-to-jump-in-16ff</link>
      <guid>https://dev.to/nidu/besprited-is-in-hacktoberfest-heres-how-to-jump-in-16ff</guid>
      <description>&lt;p&gt;Hacktoberfest starts on October 1st, and &lt;strong&gt;Besprited&lt;/strong&gt;, the free and open-source sprite editor and animation tool, is taking part.&lt;br&gt;
It's a C++23 fork of LibreSprite with QuickJS scripting. If you've wanted to contribute to a pixel-art tool, this is a good month to start.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pick an issue&lt;/strong&gt; labelled &lt;a href="https://github.com/veritaware/Besprited/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22" rel="noopener noreferrer"&gt;&lt;code&gt;good first issue&lt;/code&gt;&lt;/a&gt; (small and well scoped) or &lt;a href="https://github.com/veritaware/Besprited/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22" rel="noopener noreferrer"&gt;&lt;code&gt;help wanted&lt;/code&gt;&lt;/a&gt; (a bit bigger). Many of them have a "Where to start" comment pointing at the relevant code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claim it first.&lt;/strong&gt; Comment on the issue and wait until it's assigned to you. Please claim one issue at a time. If there's no PR or update in about 7 days, it may go to someone else. PRs for unclaimed issues may be closed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build it.&lt;/strong&gt; Clone with &lt;code&gt;--recursive&lt;/code&gt;, since the repo uses submodules. Then follow &lt;a href="https://github.com/veritaware/Besprited/blob/trunk/BUILDING.md" rel="noopener noreferrer"&gt;BUILDING.md&lt;/a&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   cmake &lt;span class="nt"&gt;-G&lt;/span&gt; Ninja &lt;span class="nt"&gt;-DENABLE_TESTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;on ..
   ninja
   ctest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Open a PR against &lt;code&gt;trunk&lt;/code&gt;&lt;/strong&gt; from your fork. Keep it focused on one issue, add tests where you can, and fill in the PR template. Format only the lines you changed (&lt;code&gt;git clang-format&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accepted PRs get the &lt;code&gt;hacktoberfest-accepted&lt;/code&gt; label.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Good places to start
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Good first issues&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/312" rel="noopener noreferrer"&gt;#312&lt;/a&gt;: Update macOS install steps for the drag-to-install DMG (docs)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/309" rel="noopener noreferrer"&gt;#309&lt;/a&gt;: Normalize author headers in shipped palettes&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/302" rel="noopener noreferrer"&gt;#302&lt;/a&gt;: Lospec &lt;code&gt;.hex&lt;/code&gt;, Paint.NET &lt;code&gt;.txt&lt;/code&gt; and Adobe &lt;code&gt;.act&lt;/code&gt; palettes&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/196" rel="noopener noreferrer"&gt;#196&lt;/a&gt;: &lt;code&gt;.ase&lt;/code&gt;: handle large per-frame chunk count (0xFFFF sentinel)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Help wanted&lt;/strong&gt; (a step up)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/137" rel="noopener noreferrer"&gt;#137&lt;/a&gt;: Paste as new layer&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/149" rel="noopener noreferrer"&gt;#149&lt;/a&gt;: Merge selected layers / merge visible&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/150" rel="noopener noreferrer"&gt;#150&lt;/a&gt;: Open multiple files at once&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/119" rel="noopener noreferrer"&gt;#119&lt;/a&gt;: Mark invalid numeric input instead of silently clamping&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/veritaware/Besprited/issues/301" rel="noopener noreferrer"&gt;#301&lt;/a&gt;: Animated WebP load/save&lt;/li&gt;
&lt;li&gt;...and more, including several &lt;code&gt;.ase&lt;/code&gt; format issues (#191, #192, #197)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ground rules
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Spam and low-effort PRs are labelled &lt;code&gt;spam&lt;/code&gt; and closed, which also excludes them from Hacktoberfest. That means whitespace-only changes, changes that don't build, and unreviewed AI output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-assisted contributions are fine&lt;/strong&gt;, but you have to understand and review the code you submit, and you have to disclose it, for example with a &lt;code&gt;Co-authored-by:&lt;/code&gt; line. Besprited has no generative AI features. This only covers how the code is written. Details are in &lt;a href="https://github.com/veritaware/Besprited/blob/trunk/AI_USAGE.md" rel="noopener noreferrer"&gt;AI_USAGE.md&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Every changed source file needs a Veritaware copyright line covering the current year, and CI checks it. See &lt;a href="https://github.com/veritaware/Besprited/blob/trunk/CONTRIBUTING.md#copyright-headers" rel="noopener noreferrer"&gt;CONTRIBUTING.md&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Please read the Code of Conduct first.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Questions?
&lt;/h2&gt;

&lt;p&gt;Ask on the issue itself or on &lt;a href="https://discord.gg/hTp5gPUUJT" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt; &lt;a href="https://github.com/veritaware/Besprited" rel="noopener noreferrer"&gt;Repo&lt;/a&gt; · &lt;a href="https://besprited.veritaware.com/" rel="noopener noreferrer"&gt;Website&lt;/a&gt; · &lt;a href="https://besprited.veritaware.com/roadmap.html" rel="noopener noreferrer"&gt;Roadmap&lt;/a&gt; · &lt;a href="https://github.com/veritaware/Besprited/blob/trunk/CONTRIBUTING.md" rel="noopener noreferrer"&gt;Contributing guide&lt;/a&gt; · &lt;a href="https://ko-fi.com/veritaware" rel="noopener noreferrer"&gt;Ko-fi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy hacking, and thanks for helping make Besprited better!&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>cpp</category>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
