Quickstart
Install the ZyVOP CLI, connect publishing destinations, and publish your first article in under 5 minutes.
Quickstart Guide
This guide will walk you through setting up ZyVOP, configuring your publishing targets, and deploying your first technical article across multiple developer platforms.
Prerequisites
Before starting, ensure you have:
- Node.js v20.0.0 or higher
- A free account on ZyVOP
- Accounts on the platforms you want to publish to (e.g. DEV.to, Hashnode, Medium, Bluesky, WordPress)
Step 1: Install the CLI
Install the official ZyVOP CLI globally using npm, or run commands directly on demand using npx.
npm install -g zyvopVerify the installation:
zyvop --versionStep 2: Authenticate Your CLI
Authenticate your CLI session with your ZyVOP account.
zyvop loginThis command prompts you in the terminal for your email and password, or you can paste your Developer Token directly. If you signed up via Google or GitHub, pass your Developer Token from Settings → Integrations:
zyvop login --token zv_<48-hex-character-token>Your token is safely stored locally in ~/.zyvop/config.json with restricted permissions (0600).
CI/CD & Headless Environments
For automated environments like GitHub Actions or Docker containers, set the ZYVOP_TOKEN environment variable instead of interactive login:
export ZYVOP_TOKEN="zv_<48-hex-character-token>"To verify your authentication status at any time, run:
zyvop whoamiStep 3: Connect Publishing Destinations
Before publishing, connect the platforms you wish to target:
- Open your ZyVOP Integrations Settings.
- Connect your desired platforms:
- DEV.to: Generate an API key under dev.to/settings/extensions and paste it into ZyVOP.
- Hashnode: Generate a Personal Access Token from your Hashnode Developer Settings and specify your publication host (e.g.
engineering.yourdomain.com). - Medium: Connect via Medium Integration Token.
- Bluesky: Connect using your Handle and App Password (generated in Bluesky Settings → App Passwords).
- WordPress: Connect via Application Passwords or Jetpack REST API.
Step 4: Create a Markdown Post
Create a markdown file with YAML frontmatter specifying your article metadata.
---
title: "Building Resilient Event-Driven Services"
description: "A hands-on breakdown of idempotency keys, dead-letter queues, and outbox patterns."
tags: ["microservices", "architecture", "nodejs", "kafka"]
canonical_url: "https://myblog.dev/posts/event-driven-services"
published: false
---
# Building Resilient Event-Driven Services
Event-driven architectures provide loose coupling and horizontal scalability, but handling transient network failures requires disciplined design patterns.
## The Outbox Pattern
Rather than publishing events directly during a database transaction, persist events to an `outbox` table within the same ACID transaction:
```sql
BEGIN TRANSACTION;
INSERT INTO orders (id, customer_id, total) VALUES ('ord_101', 'cust_502', 89.00);
INSERT INTO outbox_events (event_id, event_type, payload)
VALUES ('evt_900', 'OrderCreated', '{"order_id": "ord_101"}');
COMMIT;
---
## Step 5: Test and Publish
### 1. Perform a Dry Run (Recommended)
Before publishing live, inspect how ZyVOP validates your frontmatter and resolves your target platforms:
```bash
zyvop publish ./hello-zyvop.md --dry-run2. Publish Live
When you're ready, publish across your enabled platforms:
zyvop publish ./hello-zyvop.mdYou will see real-time output showing the status of each destination:
✓ Validated frontmatter in hello-zyvop.md
✓ Uploaded article to ZyVOP Hub
✓ Cross-posted to DEV.to: https://dev.to/johndoe/building-resilient-event-driven-services-3k9a
✓ Cross-posted to Hashnode: https://engineering.johndoe.com/building-resilient-event-driven-services
✓ Cross-posted to Medium: https://medium.com/@johndoe/building-resilient-event-driven-services-71a2b
✓ Broadcast to Bluesky: https://bsky.app/profile/johndoe.bsky.social/post/3kmv89x1
🎉 Article published successfully to 4 platforms in 1.4s!Next Steps
Now that you've published your first article, explore advanced workflows:
CLI Reference
Explore CLI commands, flags, import options, and custom configuration.
GitHub Actions CI/CD
Automatically publish technical posts whenever you merge a PR into your Git repo.
Frontmatter Specification
Learn all available frontmatter fields including cover images, series, and overrides.
Platform Nuances
Understand syntax quirks and rate limits for each individual publishing destination.