A collaborative platform for building and managing AI agent swarms. This project enables teams to develop, share, and deploy AI agents across cloud providers.
# Clone repository
git clone https://github.com/swarmflow/swarmcloud
cd swarmcloud
# Run the setup script - this creates your development environment
python setup.py
# Activate your development environment
source .venv/bin/activate # Unix
.venv\Scripts\activate # Windows
That's it! You're ready to start developing.
swarmcloud
├── src/
| ├── main.py # CLI entry point
│ │── sdk/ # Agent development SDK
│ │── commands/ # CLI commands
│ │── core/ # Core functionality
| ├── utils/
| ├── templates/
│ └── tests/ # Test suite
├── examples/ # Examples
├── docs/ # Documentation
├── setup.py # Development setup script
└── pyproject.toml # Project dependencies
-
Start a New Feature
git checkout -b feature/your-feature-name
-
Create or Modify an Agent
# Create new agent aiswarm agent create my-agent # Agent code is in: agents/my-agent/agent.py
-
Test Your Changes
# Run test suite pytest src/tests/ # Test specific agent aiswarm agent test my-agent
-
Submit Changes
git add . git commit -m "feat: add new feature" git push origin feature/your-feature-name
# agents/my-agent/agent.py
from aiswarm.sdk.agent import BaseAgent
class MyAgent(BaseAgent):
"""Your agent implementation"""
async def execute(self, input_data):
return {"result": await self.process(input_data)}
# All tests
pytest
# Specific test file
pytest src/tests/test_agents.py
# With coverage
pytest --cov=aiswarm
All checks run automatically on commit, but you can run manually:
# Format code
black src/
isort src/
# Lint
flake8 src/
Access the shared agent repository:
# List available agents
aiswarm registry list
# Use a prebuilt agent
aiswarm agent use text-processor
# Publish your agent
aiswarm registry publish my-agent --visibility public
- Public agents are available to everyone
- Private agents require authentication
- Use tags to version your agents
# Update your environment
git pull
python setup.py
# Create feature branch
git checkout -b feature/new-feature
# Push changes
git push origin feature/new-feature
- Create PR with description of changes
- Automated tests must pass
- Request review from team members
- Address feedback
- Merge when approved
# Reset development environment
rm -rf .venv
python setup.py
# Update dependencies
pip install -e .
-
Tests Failing
- Ensure virtual environment is active
- Update dependencies
- Check test logs
-
Agent Build Issues
- Verify Docker is running
- Check agent configuration
- Review build logs
-
Development Environment
- Use
python --version
to verify Python 3.9.18 - Ensure virtual environment is active
- Check
.env
file exists
- Use
- Documentation: Project documentation is in
docs/
- Examples: Check
agents/examples/
for reference implementations - Tests: Look at
src/tests/
for usage examples
-
Code Style
- Follow PEP 8
- Use type hints
- Add docstrings
- Keep functions focused
-
Testing
- Write tests for new features
- Maintain test coverage
- Use meaningful assertions
-
Commits
- Use conventional commits
- Keep changes focused
- Reference issues
-
Documentation
- Update README if needed
- Add docstrings
- Comment complex logic
- Issues: Use GitHub Issues for bugs
- Questions: Use GitHub Discussions
- Security: See SECURITY.md
- Chat: Join our Discord
Remember:
- Always work in your virtual environment
- Pull before starting new work
- Run tests before committing
- Ask for help when stuck!
MIT License - see LICENSE file for details.