mrkeyoor.com_
Sat 19 Sept 12:02 UTC
Open Source6 min read

Compositor Gains 846 Stars, With Claude Credited on 15 Commits

The native Mac image editor leapt from 573 to 1,419 stars during reporting. Its code is substantial, but macOS 26.5 and no PSD support narrow the audience.

Compositor gained 846 GitHub stars inside one reporting window. MrKeyoor's brief recorded 573 stars at 00:20 UTC on September 19; a later check of GitHub's repository metadata showed 1,419 stars and 153 forks. Its short history offers a partial explanation for how a new native image editor appeared with so much code already in place: 15 of the project's 26 commit messages credit Claude Opus 5 as a co-author.

That credit needs careful wording. A commit trailer records attribution, not how much code a model wrote or how closely a person reviewed it. Still, the pattern is unusually consistent. The initial commit, README, updater work and each feature commit in the visible commit history carry the Claude credit. The separate commits that publish the update feed do not.

Compositor is a free, MIT-licensed image editor for Mac. Maintainer Robbie Tilton describes it in the README as an answer to Photoshop's price and GIMP's unfamiliar workflow. The app borrows Photoshop-style shortcuts and concepts while using its own code and project format. Its launch is worth examining because it shows what an AI-assisted open-source application can look like when it arrives as a usable binary rather than a thin demonstration.

A mature first commit explains the fast start

GitHub dates the repository's creation to September 16 at 20:35 UTC. The initial commit landed five minutes later with the application source, tests, format documentation and scripts for producing a signed, notarized disk image. Version 1.0 followed at 21:57 UTC, about 82 minutes after the repository was created. By September 18, the project had reached version 1.0.4. Those dates in the history indicate a prepared codebase becoming public, rather than an editor being written from scratch in public over two days.

The current v1.0.4 release metadata reports 3,217 downloads for a 7,399,035-byte DMG. GitHub also publishes a SHA-256 digest for that asset. The repository's release script archives the app, signs it with a Developer ID certificate, submits both app and DMG for Apple notarization, staples the result and runs Gatekeeper checks. That script documents the intended release process; it is not independent proof that every published binary followed it.

Updates use Sparkle 2.10.0, the only remote Swift package pinned in the project. The app is sandboxed, requests read-write access to user-selected files and allows outbound network access for its update feed. The feed itself is signed and currently points to v1.0.4. Those details are visible in the project files, which is useful context for anyone deciding whether to run a young desktop application.

The code is native and the editing model is substantial

The source tree uses SwiftUI and AppKit for the interface, with Core Graphics and Core Image doing much of the image work. Accelerate appears in downsampling, while a Metal path calculates brush coverage. Several pixel operations are written in C. This is a Mac application built around Apple's graphics stack, not a web editor packed into a desktop shell.

The README lists layers, folders, masks, clipping masks and adjustment layers. Selection tools include marquees, lassos and a magic wand. Retouching covers a brush, clone stamp, spot healing and content-aware fill. The code also contains curves, levels, transforms, crop controls, blend modes and live previews. That is enough surface area to explain why the project attracted attention beyond its landing-page claim.

Its internal format has received more care than the repository's age suggests. A .comp project is a macOS package containing manifest.json plus PNG assets for its layers and masks. The format document is already at version 6 and describes backward reading for versions 1 through 5. It sets limits of 30,000 pixels per side, 100 million source pixels, 10,000 layers, a 4 MiB manifest and 512 MiB per encoded asset. Saves use coordinated atomic package replacement, and the loader rejects unsafe paths, missing assets and invalid metadata before replacing the open document.

The Photoshop comparison stops at the file boundary

The familiar editing model does not extend to Photoshop documents. Compositor imports JPEG, PNG, HEIC and TIFF, and it exports flattened PNG or JPEG files. Its editable layers live in the project-specific .comp package. The current importer explicitly accepts those four image families; PSD is absent from both the importer and document type declarations.

That omission matters for shared work. A designer can move a flattened export into another editor, but cannot exchange a layered PSD with a Photoshop user through the current build. The early issue queue reflects the gap: users have opened requests for PSD support and a text tool. Those requests show what early adopters want. They are not a roadmap, and the maintainer has not promised either feature in those threads.

Color handling is another boundary to keep in mind. The project format declares sRGB as its working space, and the importer converts decoded images to sRGB. That is a sensible default for screen work, though it does not match the broader color-management choices expected in many print workflows. The source does support resolution metadata from 1 to 9,600 pixels per inch and writes it into PNG and JPEG exports.

The tests are present, but there is no public CI result

The test directories contain 47 Swift unit-test files and two UI-test files. Counting @Test declarations and XCTest methods gives 291 tests. They cover details such as selection edits, masks, transforms, project validation, exports and brush behavior. This reporting environment runs Linux, so it could inspect those tests but could not execute an Xcode 26 suite that requires macOS. The repository also has no visible GitHub Actions workflow. The accurate claim is that 291 tests are in the source, not that all 291 currently pass.

Outside review has started quickly. Seven open pull requests from one contributor propose bounds or allocation checks around clipboard images, content-aware fill, brush tiles, spot healing, live masks and raster materialization; an eighth addresses persisted angle formatting. These are unmerged proposals, so their titles alone do not establish exploitable flaws. They do identify code paths that deserve maintainer review before the app is trusted with unusually large or hostile files.

macOS 26.5 is the immediate compatibility catch

The README says macOS 26 and Xcode 26 are required. The checked-in Xcode project and signed Sparkle update feed are more specific: both set the minimum system version to macOS 26.5. A Mac on 26.0 through 26.4 therefore falls below the current build target even though it appears to satisfy the README. That mismatch should be fixed in documentation or code.

Community requests already point toward a wider audience. One open pull request proposes macOS 15 support, while separate issues ask for Intel Mac, Linux and Windows builds. The native frameworks make the latter two far larger jobs than changing a deployment target. None of the requests amounts to an announced port. For now, Compositor is a recent-mac application with an Apple-specific rendering and interface stack.

The macOS 15 pull request is one concrete checkpoint for the next release. The allocation-related proposals will show how the maintainer handles outside review, and a public test run would make the result easier to judge. File compatibility will matter just as much. Compositor's star count moved in hours; its case as a daily Photoshop substitute will be decided by merged code and the documents it can safely exchange.

We reviewed this

  1. brush — our honest review
  2. desktop — our honest review
  3. Files — our honest review

Sources

  1. Compositor repository metadata
  2. Compositor repository and README
  3. Compositor commit history
  4. Compositor v1.0.4 release metadata
  5. Compositor project format documentation
  6. Compositor pull requests