PIXEL ART LINTER FOR SPRITES AND ASSETS

pixel art lint helps teams automate palette consistency, frame dimensions, and export quality from branch work through release. Install the CLI, run it locally, then reuse the same checks in CI so art changes surface with the same clarity as the rest of your automated tests.

Designed around real game dev needs: Godot textures, Aseprite exports, sprite sheets and animation frames. Notes on sprite hygiene Release roadmap.

WHY TEAMS ADD A PIXEL LINTER

Shared rules spell out what good looks like, rerun on every change, and give artists, coders, and reviewers one shared signal in local runs and CI.

CLEAR SIGNALS FROM EVERY RUN

Every run produces line-referenced feedback for palettes, frame dimensions, and sheet layout, readable in the terminal or CI logs.

BUILT HOW ASSETS ACTUALLY SHIP

Checks are aimed at real pipelines: textures and atlases in engines like Godot, exports from Aseprite, and sprite folders that stay consistent when someone branches or rebases.

LOCAL FIRST, CI SECOND

Run it like any other linter before you push. Wire the same config into CI so artists, coders, and reviewers all see one verdict.

NATIVE CLI, BUILT IN RUST

The pixel art lint CLI is implemented in the Rust programming language so you get a single native executable with fast cold starts and room to scale heavy checks across many cores.

Rust excels at tooling where throughput matters: compile once, ship compact binaries for Windows, macOS, and Linux, and use safe concurrency so image decoding and rule evaluation can scale across CPU cores on large sprite trees and atlases. The goal is predictable elapsed time when each push runs validation again across hundreds or thousands of PNGs.

If you want a Rust pixel art linter, a Rust CLI for game asset validation, or sprite checks for CI on one machine, the stack targets low startup cost, parallel work over large trees, and steady performance as rules grow. Use the same binary for local runs and for pinned jobs in CI.

Version roadmap

QUICK SETUP

Choose where palette truth lives for the repo: a Lospec JSON list, an Aseprite palette export such as a .gpl saved from the editor, or colours read from a reference image (PNG) on disk. The terminal wizard records that choice in pixel-art-lint.toml with the resolved swatch inlined for diffs and for the same checks in CI.

Run pixel-art-lint init when you wire up a new tree: step through the prompts, commit the generated config next to your sprites, and reuse the same binary in local runs and pinned CI jobs.

Download & install

COMMON QUESTIONS

What is pixel art lint?
A commercial linter that puts the CLI first, for folders and exports of pixel art. You run the same checks locally and in CI so palette and sprite feedback shows up early with clear, repeatable output.
Why is the CLI built with Rust?
Rust ships as one native binary with very low startup overhead, and its concurrency model spreads decode and lint work across CPU cores, so large folders and atlases finish faster per run. That throughput profile fits laptops, cold CI runners, and pipelines that touch thousands of PNGs.
Does it work with Godot or Aseprite workflows?
The rule set lines up with how shipped pipelines treat palettes, dimensions, exports, and atlas layout. Godot textures and Aseprite exports are first class scenarios in our roadmap. Shipping timelines and docs will be published here as releases firm up.
Will there be a free tier?
Yes. We plan both free and paid tiers so solo devs can start small and studios can scale. Limits, packaging, and price points are still being decided; use the download page and email list for announcements.
How do I contact you?
Email pixelartlint@proton.me for partnerships, licensing, abuse reports, or team rollouts.

GET UPDATES

We are still finalizing installers and tier details. Join the list on the download page, run pilots when available, and tighten rules as your pipeline matures. For team licensing, email pixelartlint@proton.me.