Skip to main content

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 the plugins/ 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 plugins/ with a descriptive name:
Use lowercase, hyphens for spaces (e.g., meeting-summarizer, crm-sync, daily-journal).
3

Add Your App Code

Structure your app with these files at minimum:
Never commit secrets, API keys, or credentials. Use .env.example with placeholder values and add .env to .gitignore.
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 main:
Then go to GitHub and create a Pull Request with:
  • 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:
  • Clean, readable code
  • No unnecessary dependencies
  • Proper error handling
  • No hardcoded secrets or credentials
  • Complete README with setup instructions
  • .env.example with all required variables
  • Clear explanation of what the app does
  • App runs independently from its directory
  • All dependencies listed in requirements.txt
  • No modifications to core Omi code
  • 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 inspiration

Contribution Rewards

Significant open-source contributions earn rewards:
See the full Contribution Guide for details on rewards and bounties.

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