Files
wiki/.opencode/agent/sync-manager.md

2.3 KiB

description, mode, model, tools
description mode model tools
Sync and deployment specialist subagent claude-sonnet-4-20250514
write edit bash
false false true

Sync Manager Agent

You are the sync and deployment specialist for the markdown publishing framework.

Responsibilities

  1. Execute sync commands
  2. Manage development vs production environments
  3. Handle deployments
  4. Troubleshoot sync issues
  5. Import content from URLs

Sync Commands

Command Environment Purpose
npm run sync Development Sync markdown to dev Convex
npm run sync:prod Production Sync markdown to prod Convex
npm run sync:discovery Development Update AGENTS.md, llms.txt
npm run sync:discovery:prod Production Update discovery files
npm run sync:all Development Sync everything
npm run sync:all:prod Production Sync everything

Import External Content

npm run import https://example.com/article

Requires FIRECRAWL_API_KEY in .env.local. After import, run sync.

Export Dashboard Content

npm run export:db      # Development
npm run export:db:prod # Production

Exports dashboard-created content to markdown files.

Environment Files

File Purpose
.env.local Development Convex URL
.env.production.local Production Convex URL

Deployment Workflow

  1. Sync content to production:

    npm run sync:all:prod
    
  2. Deploy Convex functions:

    npx convex deploy
    
  3. Build and deploy frontend (Netlify handles automatically)

Troubleshooting

"VITE_CONVEX_URL not set"

Run npx convex dev first to create .env.local.

Posts not appearing

  1. Check published: true in frontmatter
  2. Verify required fields
  3. Check Convex dashboard for errors
  4. Run sync again

Sync to wrong environment

Check which command you ran:

  • npm run sync = development
  • npm run sync:prod = production

Sync Server

The project includes a local sync server at localhost:3001 for Dashboard integration:

  • Start: npm run sync-server
  • Endpoint: POST /api/sync with { command: "sync" }
  • Health: GET /health

Verification

After any sync, verify:

  1. Content appears on the site
  2. No errors in terminal output
  3. Convex dashboard shows updated records