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

https://github.com/tonykipkemboi/crewai-release-monitor-announcer

🚀 Automated CrewAI release monitoring and community announcements
https://github.com/tonykipkemboi/crewai-release-monitor-announcer

Last synced: about 2 months ago
JSON representation

🚀 Automated CrewAI release monitoring and community announcements

Awesome Lists containing this project

README

          

# 🚀 CrewAI Release Monitor & Announcer

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

## ✨ Features

- **🔍 Release Monitoring**: Automatically scrapes GitHub releases page for new CrewAI versions
- **📊 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

### Agents
- **GitHub Release Monitor**: Monitors releases and extracts version information
- **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
cd crewai_release_monitor_announcer_v1_crewai-project
```

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

- **Release Monitoring**: Scrapes https://github.com/crewAIInc/crewAI/releases/
- **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)