Archieved: use nuxt.studio instead
The craftsman's toolkit for Nuxt Content v3 blogs – forge, shape, and perfect your content with precision.
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.
- 📝 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
# Install globally
npm install -g blogforge
# Or use with npx
npx blogforgeInitialize a new project:
npx blogforge initThis will guide you through setting up your blog structure and creating sample content.
The easiest way to use BlogForge is in interactive mode:
npx blogforgeThis launches an interactive menu where you can select commands to run.
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 doctorarticles- Article management commandsauthor- Author management commandscategory- Category management commandsimages- Image management toolsdoctor- Run diagnostic checks on your blog content
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,
},
},
};- Node.js 20.x or higher
- A Nuxt Content v3 project (with content.config.ts or nuxt.config.ts)
For detailed command documentation, see the docs directory. This includes:
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read CONTRIBUTING.md for detailed guidelines.
- Fork the repository
- Clone your fork locally
- Create a feature branch:
git checkout -b feat/your-feature-name - Make your changes following our coding standards
- Commit using conventional commits:
git commit -m "feat(cli): add new article template command" - Push to your fork:
git push origin feat/your-feature-name - Create a Pull Request with a clear description
# Install dependencies
npm install
# Lint code
npm run lint
# Build project
npm run build
# Run in development
npm run devOur 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
We use Release Drafter to automatically generate release notes from Pull Requests. The release process is:
- Merge PRs to
master- this updates the release draft - Review the generated release notes
- Publish the release - this triggers npm publishing
For more details, see CONTRIBUTING.md.
- 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.
- Add MCP server/client integration for collaborative and context-aware content editing.
- Enable real-time suggestions and AI-driven workflows using MCP.
- 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.
- 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.
- 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.
- Support defining collection sources via glob patterns.
- Allow configuring
include,exclude,prefix, andcwdfor local collection sources. - Enable fetching content from remote git repositories, including support for
repository,authToken, andauthBasicconfigurations.
- 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.
- Powerful analytics commands to provide insights into your content structure and quality, without requiring external analytics services.
- Command structure:
blogsmith analytics overview– General content statisticsblogsmith analytics content– Content structure insightsblogsmith analytics authors– Author contribution metricsblogsmith analytics categories– Category distributionblogsmith analytics seo– SEO readiness assessmentblogsmith 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.
This project is licensed under the MIT License - see the LICENSE file for details.
- Nuxt Content - The content module for Nuxt.js
- Citty - CLI framework used in this project
- All other dependencies
