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

blogforge

v0.1.14

Published

A powerful CLI tool for managing Nuxt Content v3 blogs

Downloads

20

Readme

BlogForge 🖋️

The craftsman's toolkit for Nuxt Content v3 blogs – forge, shape, and perfect your content with precision.

License npm GitHub release (latest by date)

Overview

BlogForge is a powerful command-line tool designed to streamline the content management process for Nuxt Content v3 blogs. It provides a comprehensive set of commands for managing articles, authors, categories, and images, making it easier to maintain a high-quality blog.

Features

  • 📝 Article Management: Create, edit, list, publish/unpublish, validate, and search articles
  • 👤 Author Management: Add, edit, list, and delete authors
  • 🏷️ Category Management: Create and edit content categories
  • 🖼️ Image Management: Optimize, convert, validate, and manage blog images
  • 🔍 SEO Tools: Check articles for SEO improvements
  • 🩺 Doctor Commands: Diagnose and fix common issues in your blog content
  • 🌐 Multilingual Support: Manage content in multiple languages
  • 🧙‍♂️ Interactive Mode: User-friendly interactive command-line interface

Installation

# Install globally
npm install -g blogforge

# Or use with npx
npx blogforge

Quickstart

Initialize a new project:

npx blogforge init

This will guide you through setting up your blog structure and creating sample content.

Usage

Interactive Mode

The easiest way to use BlogForge is in interactive mode:

npx blogforge

Interactive Mode Demo

This launches an interactive menu where you can select commands to run.

Command Line Mode

You can also run specific commands directly:

# Create a new article
npx blogforge articles create --title="My New Article" --description="This is my article description" --author="johndoe" --tags="nuxt,content,blog" --locale="en"

# List all articles
npx blogforge articles list

# Run the doctor to diagnose issues
npx blogforge doctor

Command Groups

  • articles - Article management commands
  • author - Author management commands
  • category - Category management commands
  • images - Image management tools
  • doctor - Run diagnostic checks on your blog content

Configuration

BlogForge is configurable through a blogforge.config.js, blogforge.config.ts, or blogforge.config.json file. Create this file in your project root:

// blogforge.config.js
export default {
  // Directory structure
  directories: {
    articles: "articles",
    authors: "authors",
    categories: "categories",
    images: "images",
  },

  // Multilingual settings
  multilingual: true,
  languages: ["en", "ar"],
  defaultLanguage: "ar",

  // Schema extensions
  schemaExtensions: {
    article: {
      // Add custom fields
      customField: "string",
    },
    author: {},
    category: {},
  },

  // Default values
  defaultValues: {
    article: {
      isDraft: true,
    },
  },
};

Requirements

  • Node.js 20.x or higher
  • A Nuxt Content v3 project (with content.config.ts or nuxt.config.ts)

Documentation

For detailed command documentation, see the docs directory. This includes:

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read CONTRIBUTING.md for detailed guidelines.

Development Workflow

  1. Fork the repository
  2. Clone your fork locally
  3. Create a feature branch: git checkout -b feat/your-feature-name
  4. Make your changes following our coding standards
  5. Commit using conventional commits:
    git commit -m "feat(cli): add new article template command"
  6. Push to your fork: git push origin feat/your-feature-name
  7. Create a Pull Request with a clear description

Quick Commands

# Install dependencies
npm install

# Lint code
npm run lint

# Build project
npm run build

# Run in development
npm run dev

Branch Protection

Our master branch is protected with the following rules:

  • ✅ Pull request reviews required (1 approval)
  • ✅ Status checks must pass (Build & Test, PR Validation)
  • ✅ Branches must be up to date
  • ✅ Conversations must be resolved
  • ❌ Force pushes disabled

Release Process

We use Release Drafter to automatically generate release notes from Pull Requests. The release process is:

  1. Merge PRs to master - this updates the release draft
  2. Review the generated release notes
  3. Publish the release - this triggers npm publishing

For more details, see CONTRIBUTING.md.

BlogForge CLI: Future Implementation Roadmap

AI SDK Integration

  • [ ] Integrate an AI SDK to enable advanced content operations.
  • [ ] write: Generate new articles, categories, or author bios using AI.
  • [ ] expand: Enrich existing content with more details, examples, or explanations.
  • [ ] analyze: Review articles/categories for quality, tone, and SEO best practices.
  • [ ] correct: Automatically fix grammar, spelling, and style issues in markdown files.

Model Context Protocol (MCP) Support

  • [ ] Add MCP server/client integration for collaborative and context-aware content editing.
  • [ ] Enable real-time suggestions and AI-driven workflows using MCP.

CLI Stability Improvements

  • [ ] Enhance error handling and user feedback throughout the CLI.
  • [ ] Add comprehensive tests for all commands and utilities.
  • [ ] Improve logging and diagnostics for easier troubleshooting.
  • [ ] Ensure compatibility with latest Node.js and Nuxt Content versions.

Additional Planned Features

  • [ ] Interactive onboarding and guided setup for new users.
  • [ ] Advanced linting and formatting for markdown and frontmatter.
  • [ ] Batch operations for bulk content management.
  • [ ] Translation helper: Integrate with translation systems and auto-translate content.

Automatic Cross-Linking Between Articles

  • [ ] Enable the CLI to automatically create cross-links between articles.
  • [ ] The CLI will read all articles, analyze references and related topics, and edit content to add internal links (e.g., "See also: ...") between relevant articles.

Nuxt Content Collection Sources Support

  • [ ] Support defining collection sources via glob patterns.
  • [ ] Allow configuring include, exclude, prefix, and cwd for local collection sources.
  • [ ] Enable fetching content from remote git repositories, including support for repository, authToken, and authBasic configurations.

Import & Export Functionality

  • [ ] Import and export content to and from popular platforms:
    • Ghost (primary focus)
    • WordPress
    • Medium
  • [ ] Easily get your content ready for publishing on these platforms or import existing content from them.
  • [ ] Support for platform-specific frontmatter and formatting.
  • [ ] Export options for JSON, CSV, and HTML.

Blog Analytics (Planned)

  • [ ] Powerful analytics commands to provide insights into your content structure and quality, without requiring external analytics services.
  • [ ] Command structure:
    • blogsmith analytics overview – General content statistics
    • blogsmith analytics content – Content structure insights
    • blogsmith analytics authors – Author contribution metrics
    • blogsmith analytics categories – Category distribution
    • blogsmith analytics seo – SEO readiness assessment
    • blogsmith analytics trends – Content publishing trends
  • [ ] Visually appealing console output using tables, ASCII charts, and color-coded metrics.
  • [ ] Export analytics reports as JSON, CSV, or HTML.
  • [ ] Filter and compare metrics by date, author, category, etc.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements