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

@beyondos/makerlink

v0.3.1

Published

Monetize and deploy your web project to mkr.link

Downloads

291

Readme

mkr.link

Create, deploy, and monetize web games with one command. AI-generated games with sprites, ads, and analytics — live in under 2 minutes.

npx mkr.link create "neon space shooter with power-ups"

What it does

mkr.link takes a text description and produces a fully playable, monetized web game:

  1. AI generates the game — Claude designs the game, writes the code, Gemini generates sprite art
  2. Ads are built in — interstitials, rewarded ads, and analytics placed at natural break points
  3. Deployed instantly — live at mkr.link/{slug} with QR code and share links

Games work on mobile and desktop. No frameworks, no build tools, no hosting to manage.

Install

npx mkr.link setup

This detects your AI coding tools (Claude Code, Codex, OpenClaw), configures MCP servers and skills, and creates your account.

Or install globally:

npm install -g mkr.link

Quick Start

# Create a game from a prompt
mkr.link create "retro platformer with a cat hero"

# Deploy an existing HTML game
mkr.link deploy ./my-game

# Deploy from a GitHub repo
mkr.link deploy github.com/user/my-game

# Check your games and stats
mkr.link games
mkr.link stats my-game-slug

# Buy more credits
mkr.link buy

Agent Integration

mkr.link is designed for AI agents. Use it from Claude Code, Codex, OpenClaw, or any MCP-compatible tool.

MCP Server

# Claude Code
claude mcp add makerlink -e MAKERLINK_API_KEY=mk_xxx -- npx mkr.link mcp

# Codex
codex mcp add makerlink --env MAKERLINK_API_KEY=mk_xxx -- npx mkr.link mcp

Or add to your MCP config:

{
  "mcpServers": {
    "makerlink": {
      "command": "npx",
      "args": ["mkr.link", "mcp"],
      "env": { "MAKERLINK_API_KEY": "mk_xxx" }
    }
  }
}

MCP Tools: deploy_game, create_game, check_status, list_games, get_stats, check_credits

CLI for Agents

All commands support --json for structured output:

# Create with JSON output (agents should always use --json --yes)
npx mkr.link create "space shooter" --json --yes

# Deploy with structured output
npx mkr.link deploy /path/to/game --json --yes

# Check status without blocking
npx mkr.link status <jobId> --json

# Get just the URL
npx mkr.link deploy . --url-only --yes

GamePort Protocol

mkr.link includes GamePort — an agent-game interaction protocol for automated QA and live game tuning. A bridge script (injected game-side) intercepts SDK events and handles agent commands, while a client library (agent-side) wraps Playwright for browser automation.

See docs/gameport-protocol.md for the full spec.

Error Handling

All errors return structured JSON with semantic exit codes:

| Code | Exit | Meaning | Retryable | |------|------|---------|-----------| | MAKERLINK_ERR_NO_AUTH | 2 | Not authenticated | No | | MAKERLINK_ERR_NO_CREDITS | 3 | No credits remaining | No | | MAKERLINK_ERR_INVALID_INPUT | 4 | Bad input | No | | MAKERLINK_ERR_NETWORK | 5 | Network error | Yes | | MAKERLINK_ERR_TIMEOUT | 6 | Timed out | Yes | | MAKERLINK_ERR_RATE_LIMIT | 7 | Rate limited | Yes |

Commands

| Command | Description | |---------|-------------| | create [prompt] | Create a game from a text description using AI | | deploy [source] | Analyze, inject SDK, and deploy your project | | resume [jobId] | Resume or check status of a recent game creation | | status <jobId> | Check the current status of a job (single poll) | | login | Log in via email + OTP | | logout | Remove saved credentials | | whoami | Show current MakerLink identity | | setup | Detect environment and configure integrations | | credits | Check credit balance | | buy | Buy more credits (opens checkout) | | games | List deployed games | | stats [slug] | Show impressions and revenue | | schema | Output JSON capability description (for agents) | | mcp | Start MCP server (stdio transport) | | telemetry | Manage anonymous usage telemetry (status, enable, disable) |

Command-Specific Flags

create

| Flag | Purpose | |------|---------| | --slug <slug> | Custom URL slug | | --no-deploy | Create without deploying | | --no-open | Don't open browser after deploy | | --no-sprites | Generate without AI sprites (faster, smaller) | | --with <blocks> | Enable extras (comma-separated: sprites,audio,leaderboard,typography) | | --webhook <url> | POST result to this URL when creation completes |

deploy

| Flag | Purpose | |------|---------| | --slug <slug> | Custom URL slug | | --email <email> | Email for account creation on first deploy | | --no-sdk | Deploy without SDK injection | | --no-agents | Skip ad placement analysis (basic SDK only) | | --no-open | Don't open browser after deploy | | --dry-run | Show preflight info without deploying | | --webhook <url> | POST result to this URL when deploy completes |

Global Flags

| Flag | Purpose | |------|---------| | --json | Structured JSON output (for agents/CI) | | --yes / -y | Skip confirmation prompts | | --api-key <key> | Override auth | | --url-only | Print only the deployed URL | | --quiet | Suppress banners and info |

Game Features

Every game created by mkr.link includes:

  • Canvas-based gameplay — touch on mobile, keyboard on desktop
  • AI-generated sprites — characters, enemies, backgrounds extracted from Gemini-generated sprite sheets
  • Ad monetization — interstitials at natural pauses, rewarded ads for extra lives
  • Analytics — play time, scores, deaths, retries tracked via PostHog + Firestore
  • Consent management — GDPR/CCPA compliant ad consent
  • Debug mode — append ?makerlink_debug=1 to any game URL

SDK API

Games can use the MakerLink SDK for manual ad control:

makerlink.showInterstitial(callback)   // Full-screen ad at break points
makerlink.showRewarded(callback)       // Opt-in ad for rewards
makerlink.gameOver({ score, level })   // Track game end
makerlink.levelComplete({ level })     // Track progression
makerlink.retry()                      // Track restarts

Supported Game Engines

mkr.link works with any HTML/JS game. Optimized for: Phaser, Three.js, p5.js, Pixi.js, Godot (HTML5), Construct, Canvas, and static HTML.

Architecture

For the full system architecture (C4 diagrams, API contracts, data model, security, data flows), see docs/MakerLink-System-Architecture.md.

| Component | Technology | Role | |-----------|-----------|------| | CLI | Node.js / TypeScript | Commands, MCP server, Ink TUI, job tracking | | Cloud Functions | Firebase Functions v2 (Node 22) | Auth, billing, AI generation, deployment | | Native Engine | Claude Sonnet + Opus + Gemini | Two-phase game design & implementation + sprites | | Browser SDK | Vanilla JS (~1300 LOC) | Ads, analytics, consent, lifecycle hooks | | GamePort | Playwright + bridge script | Agent-game interaction protocol for QA and tuning | | Firestore | NoSQL (8 collections) | Users, projects, jobs, billing, analytics | | Firebase Storage | Object storage | Game files served at mkr.link/{slug} | | Autumn / Stripe | Billing | Credit ledger, plan management, checkout |

Pricing

| Plan | Price | Credits/mo | Games | |------|-------|-----------|-------| | Free | $0 | 30 | 3 | | Starter | $9.99 | 50 | 5 | | Maker | $19.99 | 120 | 12 | | Pro | $49.99 | 350 | 35 |

1 game = 10 credits. Cost per game: ~$0.43.

Links

License

Proprietary. All rights reserved.