Quick Start

Ready to contribute? Here’s your fastest path to making an impact:

5-Minute Setup

# 1. Fork and clone
git clone https://github.com/YOUR_USERNAME/bifrost.git
cd bifrost

# 2. Install dependencies
go mod download

# 3. Verify setup
go test ./core/...
cd transports && go build -o bifrost-http

# 4. You're ready! πŸŽ‰

πŸ“‹ Contribution Checklist

  • Read the Code Conventions
  • Check existing issues and discussions
  • Write tests for your changes
  • Update documentation if needed
  • Submit PR with clear description

πŸ’¬ Need Help Contributing?

πŸ”— Join our Discord for:
  • ❓ Quick questions about contributing
  • πŸ’‘ Discuss your contribution ideas
  • 🀝 Get help from maintainers and other contributors
  • πŸš€ Real-time support for development setup

Contribution Types

Choose your adventure based on what you’d like to work on:

Core Development

Contribution AreaDifficultyTime EstimateGetting Started
🌐 New ProvidersAdvanced4-8 hoursProvider Guide β†’
πŸ”Œ Plugin DevelopmentIntermediate2-6 hoursPlugin Guide β†’
🌍 HTTP IntegrationsAdvanced6-12 hoursIntegration Guide β†’

High-Impact Areas

We’re actively looking for contributions in these areas:

πŸ“š Specialized Contributing Guides

**Provider Development **

Add support for new AI model providers
  • What: Implement OpenAI-compatible provider interfaces
  • Skills: Go programming, API integration, HTTP protocols
  • Examples: Anthropic, Bedrock, Vertex AI implementations
  • Impact: Enable Bifrost users to access new AI models

**Plugin Development **

Create extensible middleware for request/response processing
  • What: Build PreHook/PostHook plugins for custom logic
  • Skills: Go interfaces, middleware patterns, testing
  • Examples: Rate limiting, authentication, caching, monitoring
  • Impact: Add powerful extensibility to Bifrost deployments

HTTP Integration

Build compatibility with existing AI frameworks
  • What: Create OpenAI-compatible HTTP endpoints and adapters
  • Skills: HTTP server development, API design, protocol translation
  • Examples: OpenAI API compatibility, Anthropic integration, custom adapters
  • Impact: Enable seamless migration from existing solutions

Code Conventions

Follow Bifrost’s development standards
  • What: Code style, testing patterns, documentation standards
  • Skills: Go best practices, testing methodologies, documentation
  • Examples: Function naming, error handling, test structure
  • Impact: Maintain code quality and consistency across the project

πŸ› Bug Reports

Found a bug? Help us fix it quickly with a detailed report.

πŸ” Before Reporting

  1. Search existing issues - Someone might have already reported it
  2. Try the latest version - Bug might already be fixed
  3. Minimal reproduction - Create the smallest possible test case
  4. Gather information - Logs, version, environment details

πŸ“ Bug Report Template

## Bug Description

Brief, clear description of the issue.

## Reproduction Steps

1. Set up Bifrost with [configuration]
2. Make request with [parameters]
3. Observe [unexpected behavior]

## Expected vs Actual

**Expected:** What should happen
**Actual:** What actually happens

## Environment

- Bifrost version:
- Go version:
- OS/Platform:
- Provider:

## Logs

[Include relevant logs with sensitive data removed]
πŸ”— Submit Bug Report β†’

πŸ’‘ Feature Requests

Have an idea for improving Bifrost? We’d love to hear it!

πŸ’­ Feature Request Process

  1. Check existing requests - Look through GitHub issues and discussions
  2. Start a discussion - Share your idea in GitHub Discussions
  3. Design collaboration - Work with maintainers on implementation approach
  4. Implementation - Code it up following our guidelines
  5. Review & merge - Get feedback and merge your contribution

🎯 Feature Request Template

## Feature Description

What would you like to see added to Bifrost?

## Problem/Use Case

What problem does this solve? Why is it needed?

## Proposed Solution

How do you envision this working?

## Alternatives Considered

What other approaches could solve this?

## Implementation Ideas

Any thoughts on how this could be built?
πŸ”— Submit Feature Request β†’

πŸ“ Documentation

Great documentation makes Bifrost accessible to everyone.

πŸ“– Documentation Types

User Documentation:
  • Getting Started - First-time user experience
  • Configuration - Setup and deployment guides
  • API Reference - Complete function and endpoint documentation
  • Examples - Real-world usage patterns
  • Troubleshooting - Common issues and solutions
Developer Documentation:
  • Architecture - System design and internal workings
  • Contributing - How to contribute effectively
  • Testing - Testing strategies and guidelines
  • Deployment - Production deployment patterns

✍️ Documentation Standards

  • Clear and concise - Easy to understand for target audience
  • Comprehensive examples - Show real working code
  • Up-to-date - Reflect current functionality
  • Well-formatted - Consistent markdown styling with diagrams
  • Searchable - Include relevant keywords and cross-references

πŸ§ͺ Testing Guidelines

Quality is our top priority. Every contribution should include appropriate tests.

πŸ”¬ Test Types

Test CategoryLocationPurposeRun Command
Unit Testscore/Test individual functionsgo test ./core/...
Integration Teststests/core-providers/Test provider integrationsgo test ./tests/core-providers/...
HTTP API Teststests/transports-integrations/Test HTTP endpointspython -m pytest tests/
Plugin Testsplugins/*/Test plugin functionalitygo test ./plugins/...
End-to-End Teststests/Test complete workflowsgo run tests/e2e.go

βœ… Testing Checklist

  • Unit tests for new functions
  • Integration tests for provider/plugin changes
  • Error case testing for failure scenarios
  • Performance tests for critical paths
  • Documentation examples actually work

πŸ”„ Pull Request Process

πŸ“‹ PR Checklist

Before submitting your pull request:
  • Tests pass locally - go test ./...
  • Code formatted - gofmt -w . and goimports -w .
  • Linting clean - golangci-lint run
  • Documentation updated - If adding features or changing APIs
  • Changelog entry - Add to CHANGELOG.md if user-facing change
  • Issue referenced - Link to related GitHub issue

🎯 PR Template

## Description

Brief description of what this PR accomplishes.

## Type of Change

- [ ] Bug fix (non-breaking change)
- [ ] New feature (non-breaking change)
- [ ] Breaking change (fix or feature that changes existing functionality)
- [ ] Documentation update
- [ ] Refactoring (no functional changes)

## Testing

- [ ] Unit tests added/updated
- [ ] Integration tests pass
- [ ] Manual testing completed
- [ ] Performance impact assessed

## Related Issues

Fixes #(issue_number)
Related to #(issue_number)

## Breaking Changes

[If applicable, describe any breaking changes]

## Additional Notes

[Any additional context for reviewers]

πŸ‘₯ Review Process

  1. Automated Checks - CI/CD runs tests, linting, and security scans
  2. Code Review - Maintainers review code quality, design, and documentation
  3. Testing - Additional testing in staging environment if needed
  4. Approval - Two maintainer approvals required for merge
  5. Merge - Squash and merge to main branch with clean commit message

🌟 Recognition & Community

πŸ† Contributor Recognition

We value every contribution and recognize contributors:
  • πŸ“‹ CONTRIBUTORS.md - All contributors listed
  • πŸ“° Release Notes - Major contributors highlighted
  • πŸ“Š GitHub - Contributor graphs and statistics
  • πŸŽ–οΈ Special Recognition - Outstanding contributions featured

πŸ’¬ Community & Support


πŸŽ‰ Getting Started Today

Ready to make your first contribution? Here are some great starter issues:

πŸš€ Next Steps

  1. ⭐ Star the repository - Show your support
  2. πŸ‘οΈ Watch for updates - Get notified of new releases
  3. πŸ”€ Fork and clone - Set up your development environment
  4. πŸ“– Read the guides - Choose your contribution area
  5. πŸ’» Start coding - Make your first contribution!

Thank you for contributing to Bifrost! πŸŽ‰ Every contribution, no matter how small, helps make AI integration easier and more accessible for developers worldwide. Together, we’re building the future of AI infrastructure. Happy coding! πŸš€