Skip to content

Latest commit

 

History

History

README.md

meta-cli Documentation

Detailed documentation for meta-cli - a Go CLI for managing Facebook Pages and Messenger via the Meta Graph API.

Table of Contents

Document Description
Architecture System architecture, package layout, and design decisions
Authentication Flow OAuth 2.0 flow, token lifecycle, and credential storage
Commands Reference Complete reference for all CLI commands, flags, and options
Webhook System Webhook server, daemon mode, message processing pipeline
Data Storage Configuration, SQLite database, and OS keyring details
Graph API Client Meta Graph API integration, endpoints, and error handling
Auto-Reply Guide OpenClaw integration for automatic Messenger replies
Development Guide Building, testing, and contributing to the project

Quick Overview

meta-cli is structured as a standard Go CLI application using the Cobra framework. It communicates with the Meta Graph API to manage Facebook Pages, posts, comments, labels, and Messenger conversations.

User --> meta-cli (Cobra) --> Meta Graph API
                |                (Posts, Comments, Labels,
                |                 Messenger, Webhooks)
                |
                +--> OS Keyring (credentials)
                +--> SQLite DB (message history)
                +--> JSON config (~/.meta-cli/config.json)

Key Design Principles

  • Secure credential storage - Tokens are stored in the OS keyring, never in plain files
  • Multi-account support - Manage multiple Facebook accounts from a single installation
  • Flexible output - Table, JSON, or TSV output for scripting integration
  • Daemon-capable webhooks - Run webhook server in foreground or as a background daemon
  • Minimal dependencies - Only 4 direct dependencies beyond the Go standard library