-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
This guide will help you get up and running with Agentic-Writer in just a few minutes.
Before you begin, ensure you have:
- Python 3.8 or higher installed on your system
- pip package manager
- An OpenAI API key (required) - Get one here
- Optional: Unsplash API key for image search
- Optional: Medium API token for publishing to Medium
git clone https://github.com/eggressive/agentic-writer.git
cd agentic-writerpip install -r requirements.txtOr install in development mode:
pip install -e .Copy the example environment file:
cp .env.example .envEdit .env and add your OpenAI API key:
# Required
OPENAI_API_KEY=sk-your-actual-api-key-here
# Optional - for enhanced features
MEDIUM_ACCESS_TOKEN=your-medium-token
UNSPLASH_ACCESS_KEY=your-unsplash-keyRun the verification script:
python verify_installation.pyYou should see:
✓ All checks passed!
✓ Configuration is valid
✓ All dependencies are installed
python main.py configExpected output:
╭───────────────────────╮
│ Current Configuration │
╰───────────────────────╯
OpenAI Model: gpt-4-turbo-preview
Temperature: 0.7
Max Research Sources: 5
Log Level: INFO
API Keys Status:
OpenAI: ✓ Set
Medium: ○ Optional
Unsplash: ○ Optional
python main.py create "The Future of Artificial Intelligence"The system will:
- 🔍 Research the topic (10-30 seconds)
- ✍️ Write a comprehensive article (30-60 seconds)
- 🖼️ Find relevant images (5-15 seconds)
- 📤 Save to
output/directory (<5 seconds)
cat output/the_future_of_artificial_intelligence.mdLet's create an article with custom options:
python main.py create "Introduction to Machine Learning" \
--style casual \
--audience "beginners with no technical background" \
--platform file \
--output-dir ./my-articlesWhat this does:
- Topic: "Introduction to Machine Learning"
- Style: Casual, conversational tone
- Audience: Written for beginners
- Platform: Saves to file system
-
Output: Saves to
./my-articles/directory
Each content creation produces two files:
# Introduction to Machine Learning
**Topic:** Introduction to Machine Learning
**Word Count:** 1342
**Tags:** machine learning, AI, data science, beginners, technology
**Meta Description:** A beginner-friendly introduction to machine learning concepts and applications...
---
[Full article content with proper markdown formatting]{
"title": "Introduction to Machine Learning",
"topic": "Introduction to Machine Learning",
"word_count": 1342,
"tags": ["machine learning", "AI", "data science", "beginners", "technology"],
"meta_description": "A beginner-friendly introduction...",
"images": [
{
"url": "https://images.unsplash.com/...",
"description": "AI and machine learning visualization",
"author": "Photographer Name",
"author_url": "https://unsplash.com/@photographer"
}
],
"sources_count": 5
}python main.py create "10 Benefits of Remote Work" \
--style professional \
--audience "business professionals"python main.py create "Getting Started with Docker" \
--style technical \
--audience "software developers"python main.py create "Understanding Climate Change" \
--style accessible \
--audience "high school students"python main.py create "Digital Marketing Trends 2024" \
--style professional \
--audience "marketing executives"For more control, use the Python API directly:
from src.orchestrator import ContentCreationOrchestrator
from src.utils import Config, setup_logger
# Setup logging
logger = setup_logger(level="INFO")
# Load and validate configuration
config = Config.from_env()
config.validate_required()
# Initialize orchestrator
orchestrator = ContentCreationOrchestrator(config)
# Create content
results = orchestrator.create_content(
topic="The Future of Quantum Computing",
style="technical",
target_audience="technology enthusiasts",
platforms=["file"],
output_dir="./articles"
)
# Check status
if results["status"] == "completed":
print("✓ Article created successfully!")
article = results["article"]
print(f"Title: {article['title']}")
print(f"Words: {article['word_count']}")
print(f"Tags: {', '.join(article['tags'])}")
else:
print(f"✗ Failed: {results.get('error', 'Unknown error')}")Now that you're set up, explore these resources:
- Usage Guide - Learn all the command options, features, and see real-world examples
- Architecture - Understand how the system works
- API Reference - Dive into the Python API
- FAQ - Find answers to common questions
Solution: Add your API key to the .env file
Solution: Run pip install -r requirements.txt
Solution: Wait a few minutes or use gpt-3.5-turbo model
Solution: Normal! Content creation takes 2-5 minutes
For more issues, see the Troubleshooting Guide.
- 📖 Read the FAQ
- 🐛 Report an issue
- 💬 Start a discussion
- 📧 Contact the maintainers
- ⭐ Star the repository on GitHub
- 🔔 Watch for updates and new features
- 🤝 Contribute improvements (see Contributing Guide)
- 📢 Share your experience and feedback
Ready to dive deeper? Continue to the Usage Guide for comprehensive documentation.