AetherPost Developer Onboarding Guide

Welcome to AetherPost! 🚀

AetherPost is an enterprise-grade social media automation platform that helps businesses manage their content across multiple platforms efficiently.

Quick Start (30 seconds)

1. Clone and Setup

``bash

Clone repository

git clone https://github.com/fununnn/aetherpost.git cd aetherpost

One command setup!

aetherpost init
`

2. Run Your First Command

`bash

Initialize AetherPost

aetherpost init

Check status

aetherpost status
`

Architecture Overview

` aetherpost/ ├── aetherpost/ │ ├── core/ # Core functionality │ ├── plugins/ # Platform connectors │ ├── cli/ # Command-line interface │ └── utils/ # Shared utilities ├── tests/ # Test suite ├── docs/ # Documentation └── examples/ # Usage examples `

Core Concepts

1. Campaigns

Organize your content strategy:
`yaml

campaign.yaml

name: "Product Launch" schedule: start_date: "2025-01-20" frequency: "daily" posts: - content: "Exciting news coming soon!" platforms: ["twitter", "reddit", "youtube"]
`

2. Platform Connectors

Each platform has its own connector:
`python

Example: Creating a custom connector

from aetherpost.plugins.base import BaseConnector

class MyPlatformConnector(BaseConnector): def post(self, content, media=None): # Your implementation pass `

3. Content Generation

AI-powered content creation:
`python from aetherpost.core.content import ContentGenerator

generator = ContentGenerator() content = generator.create( topic="Tech Innovation", tone="professional", length=280 ) `

Development Workflow

1. Feature Development

`bash

Create feature branch

git checkout -b feature/new-platform

Make changes

Write tests

Run tests

pytest tests/

Submit PR

git push origin feature/new-platform
`

2. Testing

`bash

Run all tests

pytest

Run specific test

pytest tests/test_connectors.py::test_twitter

Check coverage

pytest --cov=aetherpost
`

3. Code Style

`bash

Format code

black aetherpost/

Lint

flake8 aetherpost/

Type checking

mypy aetherpost/
`

Adding a New Platform

Step 1: Create Connector

`python

aetherpost/plugins/connectors/newplatform/connector.py

from aetherpost.plugins.base import BaseConnector

class NewPlatformConnector(BaseConnector): def __init__(self, config): super().__init__(config) self.api = self._setup_api() def post(self, content, media=None): return self.api.create_post(content, media) def delete(self, post_id): return self.api.delete_post(post_id) `

Step 2: Add Configuration

`python

aetherpost/plugins/connectors/newplatform/config.py

from pydantic import BaseModel

class NewPlatformConfig(BaseModel): api_key: str api_secret: str base_url: str = "https://api.newplatform.com" `

Step 3: Register Plugin

`python

aetherpost/plugins/registry.py

AVAILABLE_PLUGINS = { "twitter": "aetherpost.plugins.connectors.twitter", "newplatform": "aetherpost.plugins.connectors.newplatform", }
`

Common Tasks

Running Locally

`bash

Check configuration

aetherpost doctor

Test authentication

aetherpost auth status
`

Campaign Operations

`bash

Initialize new campaign

aetherpost init

Preview content

aetherpost plan

Execute campaign

aetherpost apply
`

Debugging

`python

Enable debug logging

import logging logging.basicConfig(level=logging.DEBUG)

Use built-in debugger

import pdb; pdb.set_trace()
`

API Reference Quick Links

Troubleshooting

Common Issues

1. Import Errors `bash # Ensure package is installed in development mode pip install -e . `

2. API Rate Limits `python # Use built-in rate limiting from aetherpost.utils.rate_limit import RateLimiter limiter = RateLimiter(calls=100, period=3600) `

3. Authentication Failures `bash # Re-authenticate aetherpost auth login ``

Getting Help

  • 📧 Email: dev@aetherpost.dev

Next Steps

1. ✅ Complete the Tutorial 2. 📚 Read the Architecture Guide 3. 🤝 Review Contributing Guidelines 4. 🎯 Pick a Good First Issue

Welcome aboard! We're excited to have you contributing to AetherPost! 🎉