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

@inblog/cli

v1.4.0

Published

CLI tool for managing inblog.ai content

Readme

@inblog/cli

Command-line tool for managing inblog.ai blog content. Create, publish, and manage blog posts, tags, authors, images, and more from your terminal.

Installation

npm install -g @inblog/cli

Requires Node.js 18+.

Quick Start

# Authenticate with your API key
inblog auth login

# Check current blog
inblog auth status

# List posts
inblog posts list

# Create a post (preview link auto-generated)
inblog posts create --title "My Post" --slug "my-post" --content-file ./content.html

# Preview before publishing
# → Preview: https://inblog.io/p/abc123  (expires in 24h)

inblog posts publish <id>

Commands

Authentication

inblog auth login              # Login with API key
inblog auth whoami             # Show current user/blog
inblog auth status             # Check auth status
inblog auth logout             # Remove saved credentials

Blog Management

inblog blogs me                # Current blog info
inblog blogs list              # List accessible blogs (OAuth)
inblog blogs switch [id]       # Switch active blog
inblog blogs update            # Update blog settings

Blog settings:

inblog blogs update --title "Blog Name" --description "About" --language ko
inblog blogs update --logo ./logo.png --favicon ./favicon.ico --og-image ./og.jpg
inblog blogs update --ga-id G-XXXXXXXXXX

Custom domain:

inblog blogs domain connect blog.example.com   # Connect + DNS guide
inblog blogs domain status                     # Check verification
inblog blogs domain disconnect                 # Disconnect

Banner:

inblog blogs banner get
inblog blogs banner set --image ./banner.png --title "Title" --subtext "Subtitle"
inblog blogs banner remove

Posts

inblog posts list                          # List all posts
inblog posts list --published              # Published only
inblog posts list --draft                  # Drafts only
inblog posts get <id>                      # Post details

inblog posts create \
  --title "Title" \
  --slug "url-slug" \
  --image ./cover.jpg \
  --content-file ./content.html

inblog posts update <id> --title "New Title" --image ./new-cover.jpg
inblog posts delete <id>

# CTA settings
inblog posts update <id> --cta-text "Try free" --cta-link "https://..." --cta-color "#3B82F6"
inblog posts update <id> --cta-text ""         # Remove CTA

# Custom scripts & JSON-LD
inblog posts update <id> --json-ld-file ./schema.json
inblog posts update <id> --custom-scripts-file ./scripts.json
inblog posts update <id> --remove-custom-scripts

inblog posts publish <id>                  # Publish immediately
inblog posts unpublish <id>                # Unpublish
inblog posts schedule <id> --at "2026-03-15T09:00:00+09:00"

Preview links:

inblog posts preview <id>                  # Generate preview link (24h)
inblog posts preview <id> --ttl 72         # Custom TTL in hours
inblog posts preview <id> --one-time       # One-time use link
inblog posts preview list <id>             # List active preview links
inblog posts preview revoke <token>        # Revoke a link

Preview links are automatically generated when creating or updating posts. Use --skip-preview to disable.

Tags & Authors on posts:

inblog posts add-tags <id> --tag-ids 1,2,3
inblog posts remove-tag <postId> <tagId>
inblog posts add-authors <id> --author-ids uuid1,uuid2
inblog posts remove-author <postId> <authorId>

Images

# Upload images to CDN
inblog images upload ./photo1.jpg ./photo2.png
inblog images upload ./cover.jpg -b featured_image --json

Local image files used with --image or --content-file are automatically uploaded to the CDN.

Tags

inblog tags list
inblog tags create --name "Tag Name" --slug "tag-slug"
inblog tags update <id> --name "New Name"
inblog tags delete <id>

Authors

inblog authors list
inblog authors get <id>
inblog authors update <id> --name "Name" --avatar-url "https://..."

Redirects

inblog redirects list
inblog redirects create --from "/old" --to "/new" --type 308
inblog redirects update <id> --to "/newer"
inblog redirects delete <id>

Forms

inblog forms list
inblog forms get <id>
inblog form-responses list --form-id <id>

Search Console

inblog search-console connect              # OAuth connect
inblog search-console status               # Connection status
inblog search-console keywords --sort clicks --limit 20
inblog search-console pages --sort clicks --limit 20

Analytics

inblog analytics traffic --interval day    # Blog traffic
inblog analytics posts --sort visits --limit 20 --include title
inblog analytics sources --limit 20        # Traffic sources
inblog analytics post <id> --interval day  # Single post traffic
inblog analytics post <id> --sources       # Single post sources

Global Options

| Option | Description | |--------|-------------| | --json | Output as JSON | | --base-url <url> | Custom API base URL | | --no-color | Disable colored output | | --api-key <key> | Use specific API key |

Image Handling

The CLI automatically handles image uploads:

  • --image ./cover.jpg on posts create/update uploads the file to CDN
  • --content-file scans HTML for local file paths and base64 data URIs, uploads them, and replaces with CDN URLs
  • --logo, --favicon, --og-image on blogs update accept local files
  • inblog images upload for standalone CDN uploads

Note: Do not embed base64 images directly in content_html API calls (causes 413 errors). Use --content-file or upload first with inblog images upload.

API Key

Get your API key from inblog.ai dashboard > Settings > API Keys. Requires a Team plan or higher.

AI Skills

For AI-assisted blog management (Claude Code, Cursor, GitHub Copilot), install the companion package:

npx @inblog/ai-skills

License

MIT