npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2026 – Pkg Stats / Ryan Hefner

@spectrex/ascdoc

v1.1.4

Published

🩺 Release readiness auditor for App Store Connect

Downloads

38

Readme

🩺 ASC Doctor

Catch App Store rejection risks before you submit.

ASC Doctor is a read-only release auditor for App Store Connect. It analyzes your metadata, screenshots, URLs, and localizations against App Store guidelines and instantly gives you a risk score and an actionable HTML report.

npm version npm downloads License: MIT Build Status


Features at a glance:

  • πŸ” Read-only: We only read your data using the official ASC APIβ€”we never modify it.
  • πŸ€– CI-ready: Native GitHub Actions annotations and non-zero exit codes for pipeline failures.
  • 🌐 URL Reachability: Real-world testing of privacy, support, and marketing URLs (detects broken or non-HTTPS links).
  • ✨ Beautiful Reports: Interactive HTML reports, Markdown for PR comments, and JSON for automation.
  • πŸ”„ Compare Mode: Audit only the changes since your last live version to spot regression risks.

⚑ Quick Start

Experience it instantly via our demo data (no API key required):

npx @spectrex/ascdoc --demo --format html --output report.html
# Then open report.html in your browser!

Curious what a report looks like? πŸ”΄ Sample "Bad" Report (Failing) 🟒 Sample "Good" Report (Passing) πŸ“„ Sample JSON Data (For CI integrators)

🎯 What It Catches

| Module | What It Checks | |--------|---------------| | 🌍 Localization | Placeholder text ("TODO"), name repetition, missing descriptions, broken URLs | | πŸ“± Screenshots | Missing required device types (6.9", 13" iPad), checksum duplicates across locales | | πŸ”ž Age Rating | Unset declarations, gambling inconsistencies, Kids-category conflicts | | πŸ’¬ Subtitle/ASO | Generic text ("Best App Ever"), name repetition, exceeding 30-char limits | | πŸ”’ Privacy | Missing policy URLs, non-HTTPS links, unreachable privacy endpoints | | πŸ’³ Subscriptions | Missing display names, trial messaging without billing terms, localization gaps | | 🌐 Storefronts | Limited territories, missing major markets, wasted localization effort | | πŸ“‹ Review Info | Missing contact info, missing demo account credentials, empty review notes |

βš–οΈ Audit vs. Manage (The "Why")

ASC Doctor does not replace tools like fastlane or asc.

  • Fastlane/ASC is for writing and executing changes.
  • ASC Doctor is for verifying your readiness before the App Store Review team does.

We catch the human errors those tools don't: unreachable URLs, "Lorem ipsum" hidden in deep localizations, or missing billing terminology in your subscription descriptions.

What it does NOT do:

  • Modify any data on App Store Connect.
  • Upload binaries or screenshots.
  • Automate the submisson process itself.

πŸ“Š Risk Scoring

Every finding is weighted by severity and contributes to a 0-100 risk score:

| Grade | Meaning | Score Range | |-------|---------|-------------| | 🟒 A | Ship it! | 90-100 | | 🟑 B | Almost ready | 75-89 | | 🟠 C | Needs attention | 50-74 | | πŸ”΄ D | High risk | 25-49 | | β›” F | Do not submit | 0-24 |

Severities: πŸ”΄ Critical (βˆ’15pts) Β· 🟠 High (βˆ’8pts) Β· 🟑 Warning (βˆ’3pts) Β· ℹ️ Info (βˆ’1pt)

πŸ”‘ Setup

ASC Doctor uses the App Store Connect API.

  1. Go to Users and Access β†’ Integrations β†’ App Store Connect API
  2. Generate an API Key with App Manager role.
  3. Download the .p8 key and note your Key ID and Issuer ID.

πŸš€ CI/CD Integration

Exit Codes

  • 0: Audit completed successfully (all findings within score threshold).
  • 1: Tool error or audit failed (--min-score or --strict threshold not met).

GitHub Actions

To get native annotations on your commits, use --format github:

- name: Audit App Store readiness
  run: npx @spectrex/ascdoc --format github --min-score 80
  env:
    ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }}
    ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }}
    ASC_PRIVATE_KEY: ${{ secrets.ASC_KEY_P8_CONTENT }}

πŸ”§ Advanced Usage

# Export HTML for PR artifacts
ascdoc --format html --output report.html

# Only run specific modules
ascdoc --only screenshots,localization

# Audit only changes vs. last report (defaults to report.json)
ascdoc --compare

# Audit only changes vs. a specific report
ascdoc --compare ./previous-audit.json

πŸ“„ License

MIT Β© spectreet


If ASC Doctor saved you from a rejection, consider giving it a ⭐

Report Bug Β· Discussions