Thank you for your interest in contributing to GAIA! Weβre excited to have you join our community of developers building the future of personal AI assistants.
Use type hints for all function parameters and return values
Include comprehensive docstrings for all modules, classes, and functions
Run uvx ruff check before committing to ensure code quality
Architecture Patterns
Route Handlers should be thin wrappers:
Copy
@router.post("/resource", response_model=ResourceResponse)async def create_resource_endpoint( resource: ResourceModel, user: dict = Depends(get_current_user)): """Create a new resource.""" return await create_resource(resource, user["user_id"])
Service Functions contain business logic:
Copy
async def create_resource(resource: ResourceModel, user_id: str) -> ResourceResponse: """Create a new resource in the database.""" # Implementation here
feat(ai): add new conversation memory systemfix(auth): resolve token expiration issuedocs(setup): update development environment guidetest(api): add unit tests for user service
## DescriptionBrief description of what this PR does.## Type of Change- [ ] Bug fix (non-breaking change which fixes an issue)- [ ] New feature (non-breaking change which adds functionality)- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)- [ ] Documentation update## Testing- [ ] I have added tests that prove my fix is effective or that my feature works- [ ] New and existing unit tests pass locally with my changes## Screenshots (if applicable)Include screenshots or GIFs showing the changes.