An open API service indexing awesome lists of open source software.

https://github.com/tonykipkemboi/crewai-release-discourse-poster

AI Agents that create and post discourse forum posts for CrewAI community as soon as there's a new release.
https://github.com/tonykipkemboi/crewai-release-discourse-poster

ai-agents automations discourse

Last synced: 10 days ago
JSON representation

AI Agents that create and post discourse forum posts for CrewAI community as soon as there's a new release.

Awesome Lists containing this project

README

          

# 🚀 CrewAI Release Monitor & Announcer

An automated CrewAI crew that monitors CrewAI releases and creates enhanced community announcements.

## 🤔 Why This Project?

Keeping up with new releases can be a challenge, especially for active projects like CrewAI. This project aims to bridge the gap between core development and community awareness by automating the process of analyzing, and announcing new CrewAI releases. It ensures that the community stays informed with rich, context-aware release notes posted directly to the Discourse forum, saving time for both developers and community managers, and fostering a more engaged user base.

## ✨ Features

- **📊 Technical Analysis**: Researches and analyzes code changes and improvements
- **✍️ Enhanced Content**: Creates comprehensive, emoji-rich release notes with developer context
- **🗣️ Auto-Posting**: Automatically posts announcements to CrewAI Discourse community forum
- **🤖 Full Transparency**: All posts clearly attributed to CrewAI Agent with timestamps

## 🏗️ Architecture

```mermaid
graph TD
D(Release Context Researcher Agent) --> E(Technical Writer Agent);
E --> F(Discourse Forum Publisher Agent);
F --> G[Discourse Forum Post];

subgraph Agents
D
E
F
end

subgraph Custom Tools
D --- TA[CodeAnalysisTool];
D --- TB[PyPIAnalysisTool];
F --- TC[DiscoursePostTool];
F --- TD[DiscourseSetupTool];
end
```

### Agents
- **Release Context Researcher**: Analyzes technical changes using custom research tools
- **Technical Writer**: Creates enhanced, community-friendly release notes
- **Discourse Forum Publisher**: Posts announcements to the community forum

### Custom Tools
- **CodeAnalysisTool**: Researches technical context without GitHub API keys
- **PyPIAnalysisTool**: Analyzes package information and dependencies
- **DiscoursePostTool**: Posts to Discourse forum with proper formatting
- **DiscourseSetupTool**: Validates API credentials and provides setup guidance

## 🚀 Quick Start

### Prerequisites
- Python 3.10+
- CrewAI framework
- Discourse API credentials

### Installation

1. **Clone the repository**
```bash
git clone https://github.com/tonykipkemboi/crewai-release-discourse-poster.git
cd crewai_release_discourse_poster
```

2. **Install dependencies**
```bash
crewai install
# or
uv sync
```

3. **Configure environment variables**
```bash
# Create .env file with:
OPENAI_API_KEY=your_openai_api_key
DISCOURSE_API_KEY=your_discourse_api_key
DISCOURSE_USERNAME=your_discourse_username
```

4. **Run the crew**
```bash
crewai run
```

## ⚙️ Configuration

### Environment Variables

Create a `.env` file with:
```bash
OPENAI_API_KEY=your_openai_api_key
DISCOURSE_API_KEY=your_discourse_api_key
DISCOURSE_USERNAME=your_discourse_username
```

### Discourse Setup

1. Go to https://community.crewai.com/admin/api/keys
2. Create a new Global API Key
3. Assign it to your username
4. Add the key and username to your `.env` file

## 📖 Usage

### Local Execution
```bash
# Run the complete pipeline
crewai run

# Train the crew (optional)
crewai train

# Test the crew
crewai test
```

### CrewAI Enterprise Deployment

Deploy to CrewAI Enterprise for:
- **Webhook-driven automation**: Instant triggers from GitHub releases
- **Enterprise reliability**: Cloud hosting with monitoring
- **RBAC security**: Role-based access control
- **Scalable infrastructure**: Automatic scaling and resource management

## 🔧 Development

### Project Structure
```
├── src/crewai_release_monitor_announcer/
│ ├── config/
│ │ ├── agents.yaml # Agent definitions
│ │ └── tasks.yaml # Task configurations
│ ├── tools/
│ │ ├── analysis_tools.py # Custom analysis & posting tools
│ │ └── discourse_formatter.py # Content formatting utilities
│ ├── crew.py # Main crew definition
│ └── main.py # Entry point
├── .env # Environment variables (not in repo)
├── pyproject.toml # Project dependencies
└── README.md # This file
```

### Key Components

- **Technical Research**: Uses public APIs and documentation for context
- **Content Enhancement**: Adds emojis, links, and developer resources
- **Community Posting**: Posts to Announcements category with agent attribution

## 🤝 Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## 📜 License

This project is licensed under the MIT License.

## 🙏 Acknowledgments

- **CrewAI Team**: For the amazing multi-agent framework
- **Community Contributors**: For ongoing feedback and improvements

---

*🤖 This project was built using CrewAI - The future of AI agent collaboration*

## 🔗 Links

- [CrewAI Documentation](https://docs.crewai.com/)
- [CrewAI Community Forum](https://community.crewai.com)
- [CrewAI GitHub](https://github.com/crewAIInc/crewAI)
- [PyPI Package](https://pypi.org/project/crewai)