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
Fork the Repository
Go to github.com/BasedHardware/omi and click Fork to create your own copy.
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).Add Your App Code
Structure your app with these files at minimum:
| File | Required | Description |
|---|---|---|
README.md | ✅ | Documentation (see template below) |
main.py | ✅ | App entry point |
requirements.txt | ✅ | Python dependencies |
.env.example | ✅ | Environment variable template (no secrets!) |
.gitignore | Recommended | Ignore .env, __pycache__/, etc. |
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
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:| Contributions | Reward |
|---|---|
| 1 merged PR | Free DevKit device (necklace or glasses) |
| 2+ merged PRs | Additional DevKit + community recognition |