RepoDaily · 2026-08-12 · Dataset / Public directory

awesome-mac: A Curated macOS App Catalog with Structured Multi-Language JSON

#17 Dataset / Public directory Swift +334 jaywcjlove/awesome-mac Open repository

jaywcjlove's awesome-mac is more than a Markdown list — it publishes app catalog data as installable JSON in four languages and ships a Docker-ready static site for one-command hosting.

Repo typeDataset / Public directory
Best formacOS users browsing curated apps; developers consuming structured app data via npm or Docker
Risk levelLow — public catalog with CC0 license file, no runtime service to operate
Time to evaluate10 minutes to browse categories; 20 minutes to inspect JSON schema and import via npm

Primary question: Is the catalog current enough for your needs, and does the JSON schema carry the fields your project requires?

89/100

RepoDaily adoption score

RepoDaily rates this as 89/100 (strong) for adoption: evidence, installation path, production risk, differentiation, license clarity, and AI/agent fit are scored from the article sources and adoption notes.

Directional score from RepoDaily sources and adoption notes, not a benchmark.Risk: Low
96Evidence quality

4 source(s) across 3 source category/categories, plus a RepoDaily-specific evidence module when available.

100Installability

6 workflow step(s), 5 next-action step(s), and 4 command/install signal(s) were detected.

70Maintenance confidence

Trending momentum is +334 stars, with maintenance/release/issue signals counted when present.

100Production readiness

Risk is marked low, with 4 security note(s) and 4 explicit skip condition(s).

100Differentiation

3 opportunity lens item(s), 4 alternative(s), and 4 type-specific section(s) support differentiation.

82License clarity

License source or license wording is present.

48Agent / AI fit

0 AI/agent-related signal(s) were detected in the article text and metadata.

Project overview

awesome-mac is a curated directory of macOS software maintained by Kenny Wang (jaywcjlove) as a single Markdown document and distributed as structured JSON data. The repository organizes hundreds of applications across categories such as developer tools, design software, productivity utilities, and media applications. Unlike a static wiki page, the project builds its Markdown source into machine-readable JSON files and publishes them through an npm package (version 2.1.0), making the catalog consumable by websites, bots, and other tooling without scraping HTML.

The package.json defines four JSON export targets: English at dist/awesome-mac.json, Korean at dist/awesome-mac.ko.json, Japanese at dist/awesome-mac.ja.json, and Chinese at dist/awesome-mac.zh.json. Each is importable through Node.js module resolution using named subpath exports — awesome-mac/ko, awesome-mac/ja, awesome-mac/zh. The build pipeline uses idoc (^1.26.5) for documentation generation, remark (^14.0.2) with remark-gfm (^3.0.1) for Markdown parsing, and a custom build/ast.mjs script that converts the parsed Markdown AST into the final JSON objects. A second script, build/feed.mjs, exists for feed generation.

A minimal Dockerfile based on lipanski/docker-static-website copies the dist folder into a static file server, enabling containerized hosting with no runtime dependencies. The repository also includes a .dockerignore for controlling image size. The README header displays sponsor links — getapps.cafe, ScreenSage Pro, LIZHI.SHOP, and IP.IM — alongside promotional badges for the maintainer's own macOS applications, including Zipora (Zip/RAR/7Z unarchiver), Scap (screenshot and markup), DockLift, Vidwall, Mousio, Musicer, and others. These placements sit above the catalog content and are visible to every reader.

On 2026-08-12 the repository held trending rank 17 with 334 period stars. The project covers topics spanning macos, macos-apps, awesome-list, desktop-app, and software, reflecting its dual identity as both a community reference and a distributable data package. The LICENSE file declares CC0 1.0 Universal (public domain dedication), while package.json sets the license field to CC-BY-SA-4.0 — a discrepancy worth resolving before commercial redistribution of the JSON artifacts.

Problem it solves

  • License ambiguity: the LICENSE file declares CC0 1.0 Universal (public domain), but package.json specifies CC-BY-SA-4.0. Consumers should clarify which terms govern the JSON artifacts before redistribution.
  • The README header mixes sponsor advertisements (getapps.cafe, LIZHI.SHOP, IP.IM, ScreenSage Pro) and the maintainer's own commercial apps with the curated catalog, which may affect perceived editorial neutrality.
  • No quality scoring, user ratings, pricing data, or last-updated timestamps on individual entries — the catalog is a flat list without metadata for staleness detection.
  • The catalog depends on community pull requests for content updates; apps that become unmaintained, paid-only, or deprecated may linger without annotation.
  • The Swift language label on GitHub is misleading — the repository contains Markdown, JavaScript build scripts, and JSON, with no Swift source code.

How it works

  1. Content is authored as a single Markdown file (README.md) with categorized sections containing application names, descriptions, and links.
  2. Running `npm run build` invokes idoc (^1.26.5) to generate documentation output in the dist directory.
  3. The `npm run create:ast` script (build/ast.mjs) parses the Markdown using remark (^14.0.2) and remark-gfm (^3.0.1), extracting entries into structured JSON objects saved as dist/awesome-mac.json plus language variants.
  4. The `npm run feed` script (build/feed.mjs) generates feed artifacts from the parsed catalog data.
  5. The resulting JSON files are published via the npm package with named exports for English (default), Korean (/ko), Japanese (/ja), and Chinese (/zh).
  6. The Dockerfile copies the dist folder into lipanski/docker-static-website for containerized static hosting of the rendered site.

Product demo and interface preview

Zipora: Zip/RAR/7Z Unarchiver app icon
Zipora — one of the maintainer's own macOS apps promoted in the README — The README header promotes the maintainer's own apps alongside sponsor links, sitting above the curated catalog content. README.md image
Scap: Screenshot & Markup Edit for macOS app icon
Scap — screenshot and markup tool by the same maintainer — Promotional badges for the maintainer's apps appear prominently in the README, illustrating how the catalog doubles as a self-promotion channel. README.md image

How to Access and Consume the Catalog

  • npm package: install `awesome-mac` and import the JSON via `import data from 'awesome-mac'` or subpath exports like `import zhData from 'awesome-mac/zh'` as defined in package.json exports.
  • Direct download: fetch dist/awesome-mac.json (or .ko.json, .ja.json, .zh.json) from the repository without installing anything.
  • Browse online: visit the homepage at https://git.io/macx to see the rendered catalog as a static site.
  • Self-host via Docker: build an image from the included Dockerfile, which copies the dist folder into lipanski/docker-static-website.
  • Build from source: clone the repository and run `npm install && npm run start`, which executes both the idoc build and the AST-to-JSON conversion.

Licensing and Maintenance Concerns

  • LICENSE file: declares CC0 1.0 Universal, a public domain dedication that waives all copyright and related rights to the fullest extent permitted by law.
  • package.json license field: set to CC-BY-SA-4.0, which requires attribution and share-alike redistribution — creating a direct conflict with the CC0 declaration.
  • Build toolchain dependencies: idoc ^1.26.5, remark ^14.0.2, remark-gfm ^3.0.1, fs-extra ^10.1.0, and to-vfile ^7.2.3 are pinned to major versions.
  • No CI/CD configuration is visible in the source pack; builds appear to be manual npm script invocations.
  • Entry freshness depends entirely on community pull requests, with no automated checks for dead links or deprecated applications.

How It Compares to Alternatives

  • Homebrew homebrew-cask: a CLI-driven Mac app installer focused on automation, not browsing — it installs apps but does not curate descriptions or categories for discovery.
  • sindresorhus/awesome: the parent awesome-list repository with broader scope across all topics, but no macOS-specific JSON distribution or multi-language export.
  • AlternativeTo: a web service with user ratings and cross-platform suggestions, but no structured JSON export for programmatic consumption.
  • Setapp: a commercial subscription bundle of curated Mac apps — paid product, not an open catalog dataset.

Pre-Integration Verification

  • Confirm which license (CC0 vs CC-BY-SA-4.0) governs the JSON files you plan to redistribute, especially for commercial use.
  • Inspect dist/awesome-mac.json to understand the entry schema — field names, nesting structure, and category organization — before building consumers.
  • Verify that the language export you need (en, zh, ko, ja) contains substantive translated content, not just English fallbacks.
  • Check recent git history for content commits (not just build or dependency bumps) to gauge how actively entries are added or updated.
  • Spot-check 10 entries from categories relevant to your project to confirm links resolve and app descriptions match current reality.

Who should pay attention?

Good fit if

  • macOS users who want a categorized reference of curated applications without scrolling through App Store search results.
  • Developers building macOS app directories, comparison sites, or recommendation engines who need structured JSON input.
  • International users who benefit from the Chinese, Japanese, or Korean JSON exports rather than English-only catalogs.
  • Teams maintaining internal recommended-software lists who want a CC0-licensed starting template with category structure.

Skip for now if

  • Linux or Windows users — the catalog is macOS-exclusive by design and contains no cross-platform entries.
  • Projects requiring quality scores, download counts, version data, or pricing information — the catalog provides names, links, and brief descriptions only.
  • Anyone needing guaranteed freshness or automated staleness alerts — there is no metadata for last-verified dates on individual entries.
  • Readers sensitive to sponsor-heavy README layouts — promotional content for getapps.cafe, LIZHI.SHOP, and the maintainer's own apps sits prominently at the top.

Risks and cautions

Low

The catalog is a public data set with no runtime service to operate; the primary concern is the license mismatch between CC0 and CC-BY-SA-4.0.

  • License mismatch between LICENSE file (CC0 1.0) and package.json (CC-BY-SA-4.0) creates uncertainty for commercial redistribution of the JSON artifacts.
  • No automated freshness checks or staleness metadata on individual app entries — outdated listings may persist unnoticed.
  • Sponsor placements and the maintainer's own apps in the README header may introduce selection bias in what gets listed.
  • The npm package depends on build-time toolchain (idoc, remark, fs-extra) but consumers only import the resulting JSON, so runtime risk is minimal.
  • No CI/CD pipeline is visible in the source pack, meaning builds and releases depend on manual maintainer action.
  • The catalog is a static data set (Markdown and JSON); there are no runtime services, authentication systems, or network APIs to attack.
  • The Docker image is based on lipanski/docker-static-website, a minimal static file server with no application logic or dynamic request handling.
  • Consumers should validate that linked app URLs in the JSON point to legitimate vendor sites before rendering them in user-facing interfaces.
  • The npm package's main export is a JSON file (dist/awesome-mac.json), not executable JavaScript, reducing the supply-chain attack surface for consumers.

Alternatives to compare

ApproachWhen to useTrade-off
Homebrew homebrew-cask
You need CLI-based installation and version management of macOS apps rather than a browsable discovery catalog.Free / open-source
sindresorhus/awesome
You want the broader awesome-list format across all topics, not just macOS, without JSON distribution.Free / CC0
AlternativeTo
You need user ratings, cross-platform alternatives, and a web interface with search.Free (web service)
Setapp
You want a curated subscription bundle of Mac apps delivered as a commercial product rather than an open catalog.Paid subscription

What this trend reveals

Build a macOS app comparison tool from the JSON

The four-language JSON exports contain app names, descriptions, categories, and links that can feed a comparison or recommendation engine. Pair with pricing data from the Mac App Store API to produce a richer product than the flat catalog alone.

Inspect dist/awesome-mac.json to confirm the entry schema includes enough fields — name, description, category, URL — for your use case before writing consumer code.

Generate localized macOS onboarding guides

The en, zh, ko, and ja JSON exports enable per-language setup guides for new employees or community members without manual translation. The category structure provides natural section headings for a guide document.

Spot-check the zh, ko, and ja JSON files to confirm they contain translated descriptions, not English fallbacks, for categories relevant to your audience.

Automate app-installation playbooks with Homebrew Cask

Cross-reference the catalog JSON against Homebrew Cask formulas to generate setup scripts that install curated apps by category — for example, all developer tools or all design applications in one command.

Compare app names in dist/awesome-mac.json against Homebrew Cask cask names to measure overlap percentage before investing in automation scripts.

Best next action

Inspect the JSON schema before integrating

The fastest way to evaluate awesome-mac as a data source is to download or install the package and examine the structure of dist/awesome-mac.json against your project's requirements.

  1. Run `npm install awesome-mac` or download dist/awesome-mac.json directly from the GitHub repository.
  2. Open the JSON file and document the top-level keys, entry structure, and field names.
  3. Select 5 entries from categories relevant to your use case and confirm the data format meets your needs.
  4. If you need a non-English export, open dist/awesome-mac.zh.json (or .ko.json, .ja.json) and verify translation depth.
  5. Email or open an issue asking the maintainer to clarify the license (CC0 vs CC-BY-SA-4.0) if you plan to redistribute the JSON commercially.

RepoDaily verdict

awesome-mac transcends the typical awesome-list by publishing structured, four-language JSON through an npm package and a Docker-ready static site. The license mismatch between CC0 and CC-BY-SA-4.0 is the one concrete issue to resolve before commercial redistribution. For browsing, research, or building app-directory tools, it is a practical and well-structured starting point with 334 period stars at trending rank 17.

Sources