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.
 ✨ 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)
- Setup: Slack API Apps
- Format:
https://hooks.slack.com/services/...
🎯 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:
- Ask about your project and goals
- Recommend the best setup level for your needs
- Guide you through API key collection step-by-step
- Provide direct links to each API setup page
- Validate your API keys automatically
- Save everything securely to
.env.aetherpost
- 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