An AI-powered tool that automatically creates service integrations from natural language descriptions. The agent searches for official documentation, analyzes requirements, and generates production-ready integration code.
- 🔍 Intelligent documentation search and analysis
- 📚 Focuses on official documentation sources
- 🛠️ Generates production-ready integration code
- 🔒 Implements security best practices
- 📝 Provides comprehensive documentation and examples
# Install poetry if you haven't already
curl -sSL https://install.python-poetry.org | python3 -
# Install dependencies
poetry install
pip install -r requirements.txt
Create a .env
file in the project root:
TAVILY_API_KEY=your_tavily_key_here
ANTHROPIC_API_KEY=your_anthropic_key_here
Get your API keys:
import asyncio
from agent.agent import IntegrationAgent, IntegrationRequest
async def main():
# Initialize the agent
agent = IntegrationAgent(
tavily_api_key="your_tavily_key",
anthropic_api_key="your_anthropic_key"
)
# Create an integration request
request = IntegrationRequest(
service_name="GitHub",
integration_type="REST API",
description="Create an integration that can list repositories and create issues"
)
# Generate the integration
result = await agent.create_integration(request)
if result["status"] == "success":
print("Integration created successfully!")
print(result["integration"])
if __name__ == "__main__":
asyncio.run(main())
poetry run python examples/test_integration.py
integration-agent/
├── agent/ # Main package
│ ├── tools/ # Integration tools
│ │ ├── search.py # Documentation search
│ │ └── parser.py # Documentation parser
│ └── utils/ # Utility functions
├── examples/ # Example scripts
├── tests/ # Test suite
└── pyproject.toml # Project configuration
# Run all tests
poetry run pytest
# Run with coverage
poetry run pytest --cov=agent
The project uses:
- Black for formatting
- isort for import sorting
- mypy for type checking
- ruff for linting
Run formatters:
poetry run black .
poetry run isort .
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.