AetherPost - Promotion as Code

🚀 AI-powered social media automation for developers

AetherPost automates your app promotion across social media platforms using AI-generated content and Infrastructure-as-Code principles.

![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.8+](https://www.python.org/downloads/)

✨ Features

OSS Edition (Free)

  • 🎯 Declarative configuration - Define campaigns in YAML
  • 🤖 AI-generated content - [AI Service]/OpenAI powered posts
  • 📱 Multi-platform support - Twitter, Reddit, YouTube (production tested)
  • 🔒 Secure - Encrypted credential storage
  • Idempotent - Safe to run multiple times
  • 📊 Basic analytics - Track post performance
  • 🎨 Style options - Casual, professional, technical, humorous
  • 📝 Usage limits - 50 posts/day, 5 campaigns

Enterprise Edition

  • 🚀 Unlimited usage - No limits on posts or platforms
  • 🤖 AI Autopilot - Fully automated content generation
  • 📈 Advanced analytics - Real-time dashboards and insights
  • 👥 Team management - Collaboration and approval workflows
  • 🔍 Monitoring - Comprehensive system monitoring
  • 🎯 Priority support - Dedicated support team

🚀 Quick Start - Two Setup Modes

🤖 Mode 1: Auto Setup (Claude Code & AI Tools)

For automated project initialization with pre-configured files

# 1. Install AetherPost
pip install aetherpost

# 2. Pre-create configuration files:
#    - campaign.yaml (project settings)
#    - .env.aetherpost (API keys)

# 3. Auto-initialize (detects existing files, no prompts)
aetherpost init

# 4. Preview and deploy
aetherpost plan
aetherpost apply

📝 Mode 2: Interactive Setup (Manual Configuration)

For step-by-step guided setup with prompts

# 1. Install AetherPost
pip install aetherpost

# 2. Interactive setup (asks for project details, platforms, language, API keys, etc.)
aetherpost init

# 3. Preview and deploy
aetherpost plan
aetherpost apply

💡 Auto-Detection Logic:

  • If campaign.yaml exists → Auto Setup Mode (no prompts)
  • If campaign.yaml missing → Interactive Setup Mode (guided prompts)

📋 Configuration Examples

🤖 Auto Setup Files

campaign.yaml

name: "my-awesome-app"
concept: "AI-powered task manager that learns your habits"
url: "https://github.com/user/my-awesome-app"
platforms: 
  - bluesky
  - reddit
  - youtube

content:
  style: professional
  action: "Try it free!"
  language: en
  hashtags:
    - "#AI"
    - "#ProductivityTool"
    - "#OpenSource"

limits:
  free_tier: true
  max_posts_per_day: 50

notifications:
  enabled: true
  auto_apply: false  # Set to true for full automation

# Optional: Specify template for advanced features
template: "production"

.env.aetherpost

# AI Services
OPENAI_API_KEY=sk-proj-your_openai_key_here

# Bluesky (Recommended - Free)
BLUESKY_HANDLE=your_handle.bsky.social
BLUESKY_PASSWORD=your_app_password_here

# Twitter/X (Requires Paid Plan - $100/month minimum)
TWITTER_API_KEY=your_twitter_api_key_here
TWITTER_API_SECRET=your_twitter_api_secret_here
TWITTER_ACCESS_TOKEN=your_twitter_access_token_here
TWITTER_ACCESS_TOKEN_SECRET=your_twitter_access_token_secret_here

# Reddit
REDDIT_CLIENT_ID=your_reddit_client_id_here
REDDIT_CLIENT_SECRET=your_reddit_client_secret_here
REDDIT_USERNAME=your_reddit_username_here
REDDIT_PASSWORD=your_reddit_password_here

# YouTube (optional)
YOUTUBE_CLIENT_ID=your_youtube_client_id_here
YOUTUBE_CLIENT_SECRET=your_youtube_client_secret_here

# Notifications (optional)
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/your/webhook/url

🔧 Commands (Terraform-style)

Command Description Mode
aetherpost init Initialize workspace (auto-detects existing config) Auto/Interactive
aetherpost plan Preview AI-generated content for all platforms Both
aetherpost apply Execute campaign (respects notification settings) Both
aetherpost status Check campaign status and analytics Both
aetherpost auth Manage API authentication Both

⚡ Notification Modes:

  • Preview Mode (notifications.enabled: true) - Sends preview notification before posting
  • Auto Mode (notifications.auto_apply: true) - Posts immediately without confirmation

🔑 API Requirements & Setup

AetherPost uses a tiered setup approach - start simple and expand as needed. The aetherpost init command will guide you through this process interactively.

📊 Setup Levels

🚀 Starter Level (Recommended for beginners)

Setup time: ~10 minutes
Monthly cost: $5-10 (Bluesky is free!)

Required APIs:

  • OpenAI API Key
    • Purpose: AI content generation
    • Cost: $0.002-0.06 per 1K tokens
    • Setup: Get API key
    • Format: sk-proj-...
  • Bluesky API (Recommended)
    • Purpose: Post to the decentralized social network
    • Cost: Completely free
    • Setup: Create Bluesky account + generate app password
    • Required: Handle, App Password

⚠️ Twitter/X Note: Twitter now requires a paid API plan starting at $100/month. We recommend starting with Bluesky (free) for social media automation.

⭐ Recommended Level (Best value)

Setup time: ~20 minutes
Monthly cost: $5-10 (Both Bluesky and Reddit are free!)

Additional APIs:

  • Reddit API
    • Purpose: Post to subreddits
    • Cost: Free (60 requests/minute)
    • Setup: Reddit App Preferences
    • Required: Client ID, Client Secret, Username, Password

Optional:

  • Slack Webhook - Preview notifications (Free)

🎯 Advanced Level (Multi-platform)

Setup time: ~30 minutes
Monthly cost: $10-25

Additional APIs:

  • YouTube Data API v3
    • Purpose: Video management and community posts
    • Cost: Free quota + $0.002 per 100 units
    • Setup: Google Cloud Console
    • Required: OAuth2 Client ID, Client Secret

🌟 Complete Level (Full power)

Setup time: ~45 minutes
Monthly cost: $15-35

Additional APIs:

  • Twitter/X API - Requires paid plan ($100/month minimum)
  • Instagram Basic Display - Photo/story posting
  • LINE Notify - Mobile notifications (Free)

🛠️ Interactive Setup Process

Don't worry about collecting all these APIs manually! When you run aetherpost init, it will:

  1. Ask about your project and goals
  2. Recommend the best setup level for your needs
  3. Guide you through API key collection step-by-step
  4. Provide direct links to each API setup page
  5. Validate your API keys automatically
  6. Save everything securely to .env.aetherpost
  7. Let you start simple and expand later

💡 Pro Tip: Start with the Starter level (OpenAI + Bluesky) to get familiar with the workflow. Bluesky is completely free, while Twitter now requires a paid plan ($100/month minimum). You can always add more platforms later by running aetherpost auth setup [platform].

📖 Documentation

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

📄 License

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

🙏 Acknowledgments

  • Inspired by Terraform's Infrastructure-as-Code approach
  • AI content generation powered by advanced language models and OpenAI