2025-05-18 05:44:44 +08:00
|
|
|
# Contributing to Suna
|
|
|
|
|
|
|
|
Thank you for your interest in contributing to Suna! This document outlines the contribution process and guidelines.
|
|
|
|
|
|
|
|
## Contribution Workflow
|
|
|
|
|
|
|
|
1. Fork the repository
|
|
|
|
2. Create a feature branch (`git checkout -b feature/your-feature`)
|
|
|
|
3. Commit your changes (`git commit -am 'feat(your_file): add some feature'`)
|
|
|
|
4. Push to the branch (`git push origin feature/your-feature`)
|
|
|
|
5. Open a Pull Request
|
|
|
|
|
|
|
|
## Development Setup
|
|
|
|
|
2025-06-24 00:16:44 +08:00
|
|
|
### Quick Setup
|
|
|
|
|
|
|
|
The easiest way to get started is using our setup wizard:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
python setup.py
|
|
|
|
```
|
|
|
|
|
|
|
|
This will guide you through configuring all required services and dependencies.
|
|
|
|
|
|
|
|
### Detailed Setup Instructions
|
|
|
|
|
2025-05-18 05:44:44 +08:00
|
|
|
For detailed setup instructions, please refer to:
|
|
|
|
|
2025-06-24 00:16:44 +08:00
|
|
|
- [Self-Hosting Guide](docs/SELF-HOSTING.md) - Complete setup instructions
|
|
|
|
- [Backend Development Setup](backend/README.md) - Backend-specific development
|
|
|
|
- [Frontend Development Setup](frontend/README.md) - Frontend-specific development
|
|
|
|
|
|
|
|
### Required Services
|
|
|
|
|
|
|
|
Before contributing, ensure you have access to:
|
|
|
|
|
|
|
|
**Required:**
|
|
|
|
|
|
|
|
- Supabase project (database and auth)
|
|
|
|
- LLM provider API key (OpenAI, Anthropic, or OpenRouter)
|
|
|
|
- Daytona account (for agent execution)
|
|
|
|
- Tavily API key (for search)
|
|
|
|
- Firecrawl API key (for web scraping)
|
|
|
|
|
|
|
|
**Optional:**
|
|
|
|
|
|
|
|
- RapidAPI key (for additional tools)
|
2025-07-31 11:37:09 +08:00
|
|
|
- Custom MCP server configurations
|
2025-05-18 05:44:44 +08:00
|
|
|
|
|
|
|
## Code Style Guidelines
|
|
|
|
|
|
|
|
- Follow existing code style and patterns
|
|
|
|
- Use descriptive commit messages
|
|
|
|
- Keep PRs focused on a single feature or fix
|
2025-06-24 00:16:44 +08:00
|
|
|
- Add tests for new functionality
|
|
|
|
- Update documentation as needed
|
2025-05-18 05:44:44 +08:00
|
|
|
|
|
|
|
## Reporting Issues
|
|
|
|
|
|
|
|
When reporting issues, please include:
|
|
|
|
|
|
|
|
- Steps to reproduce
|
|
|
|
- Expected behavior
|
|
|
|
- Actual behavior
|
|
|
|
- Environment details (OS, Node/Docker versions, etc.)
|
|
|
|
- Relevant logs or screenshots
|
2025-06-24 00:16:44 +08:00
|
|
|
- Configuration details (redacted API keys)
|
|
|
|
|
|
|
|
## Development Tips
|
|
|
|
|
|
|
|
- Use the setup wizard to ensure consistent configuration
|
|
|
|
- Check the troubleshooting section in the Self-Hosting Guide
|
|
|
|
- Test both Docker and manual setup when making changes
|
|
|
|
- Ensure your changes work with the latest setup.py configuration
|