DEV Community

Daniel Praźmo
Daniel Praźmo

Posted on

Besprited is in Hacktoberfest: here's how to jump in

Hacktoberfest: Maintainer Spotlight

Hacktoberfest starts on October 1st, and Besprited, the free and open-source sprite editor and animation tool, is taking part.
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.

How it works

  1. Pick an issue labelled good first issue (small and well scoped) or help wanted (a bit bigger). Many of them have a "Where to start" comment pointing at the relevant code.
  2. Claim it first. 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.
  3. Build it. Clone with --recursive, since the repo uses submodules. Then follow BUILDING.md:
   cmake -G Ninja -DENABLE_TESTS=on ..
   ninja
   ctest
Enter fullscreen mode Exit fullscreen mode
  1. Open a PR against trunk 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 (git clang-format).
  2. Accepted PRs get the hacktoberfest-accepted label.

Good places to start

Good first issues

  • #312: Update macOS install steps for the drag-to-install DMG (docs)
  • #309: Normalize author headers in shipped palettes
  • #302: Lospec .hex, Paint.NET .txt and Adobe .act palettes
  • #196: .ase: handle large per-frame chunk count (0xFFFF sentinel)

Help wanted (a step up)

  • #137: Paste as new layer
  • #149: Merge selected layers / merge visible
  • #150: Open multiple files at once
  • #119: Mark invalid numeric input instead of silently clamping
  • #301: Animated WebP load/save
  • ...and more, including several .ase format issues (#191, #192, #197)

Ground rules

  • Spam and low-effort PRs are labelled spam and closed, which also excludes them from Hacktoberfest. That means whitespace-only changes, changes that don't build, and unreviewed AI output.
  • AI-assisted contributions are fine, but you have to understand and review the code you submit, and you have to disclose it, for example with a Co-authored-by: line. Besprited has no generative AI features. This only covers how the code is written. Details are in AI_USAGE.md.
  • Every changed source file needs a Veritaware copyright line covering the current year, and CI checks it. See CONTRIBUTING.md.
  • Please read the Code of Conduct first.

Questions?

Ask on the issue itself or on Discord.

Links: Repo · Website · Roadmap · Contributing guide · Ko-fi

Happy hacking, and thanks for helping make Besprited better!

Top comments (0)