Overview
Beyond publishing to the Omi app store, you can open-source your app by contributing it to the BasedHardware/omi repository. This gives your app maximum visibility, lets other developers learn from and build on your work, and contributes to the Omi ecosystem.Community Visibility
Your app is discoverable by thousands of Omi developers
Contribution Rewards
Significant contributions earn free DevKit hardware
Repository Structure
Open-source apps live in theplugins/ directory:
Each app should be a self-contained directory with everything needed to run it independently.
Step-by-Step Guide
1
Fork the Repository
Go to github.com/BasedHardware/omi and click Fork to create your own copy.
2
Create Your App Directory
Create a new folder under Use lowercase, hyphens for spaces (e.g.,
plugins/ with a descriptive name:meeting-summarizer, crm-sync, daily-journal).3
Add Your App Code
Structure your app with these files at minimum:
4
Write a Great README
Your README is the first thing developers see. Include:
5
Test Thoroughly
Before submitting, make sure:
- App runs from a clean install following your README
- All environment variables are documented in
.env.example - No hardcoded secrets or API keys in the code
- Webhooks handle errors gracefully
- Code is clean and reasonably commented
6
Create a Branch and Commit
7
Open a Pull Request
Push your branch and open a PR against Then go to GitHub and create a Pull Request with:
main:- Title:
feat: add [your-app-name] plugin - Description: What the app does, how to use it, and any relevant context
- Screenshots/demo (if applicable)
PR Review Checklist
Our team will review your PR against these criteria:Code Quality
Code Quality
- Clean, readable code
- No unnecessary dependencies
- Proper error handling
- No hardcoded secrets or credentials
Documentation
Documentation
- Complete README with setup instructions
.env.examplewith all required variables- Clear explanation of what the app does
Self-Contained
Self-Contained
- App runs independently from its directory
- All dependencies listed in
requirements.txt - No modifications to core Omi code
Community Guidelines
Community Guidelines
- Respects user privacy
- No harmful or inappropriate content
- Provides genuine value to users
Tips for a Successful Contribution
Start Simple
A well-documented simple app is better than a complex, undocumented one
Show, Don't Tell
Include screenshots, GIFs, or a demo video in your README
Be Responsive
Respond to review feedback quickly to get your PR merged faster
Follow Existing Patterns
Look at existing apps in
plugins/ for style and structure inspirationContribution Rewards
Significant open-source contributions earn rewards:Related Documentation
Publish to App Store
Submit your app to the Omi app store (no code required)
Building Apps
Learn how to build Omi apps from scratch
Contribution Guide
General contribution guidelines and rewards
Integration Apps
Build webhook-based integrations