This directory contains example omni.toml configurations demonstrating different ways to load and organize capabilities.
CI Tested: All examples pull from real GitHub sources (
github:frmlabz/omnidev) and are validated byexamples.test.tson every push/PR.
| File | Description |
|---|---|
basic.toml |
Minimal setup with a single capability |
profiles.toml |
Multiple profiles for different workflows |
github-sources.toml |
Loading capabilities from GitHub with version pinning |
local-dev.toml |
Loading from local directories for development |
comprehensive.toml |
Mixed sources with advanced profile setup |
mcp.toml |
MCP server configuration |
The fixtures/ directory contains real capabilities used for testing. These are pulled from GitHub by the example configs.
| Fixture | Type | Description |
|---|---|---|
standard/ |
Full capability | Complete capability with capability.toml, skills, and rules |
claude-plugin/ |
Auto-wrapped | .claude-plugin/plugin.json format (auto-generates capability.toml) |
bare-skills/ |
Auto-wrapped | Just a skills/ directory (auto-generates capability.toml) |
demo-mcp/ |
MCP Server | TypeScript MCP server using @modelcontextprotocol/sdk |
Each fixture contains unique markers to verify content was synced correctly:
FIXTURE_MARKER:STANDARD_SKILL- Standard fixture skillFIXTURE_MARKER:STANDARD_RULE- Standard fixture ruleFIXTURE_MARKER:CLAUDE_PLUGIN_SKILL- Claude plugin fixture skillFIXTURE_MARKER:BARE_SKILL- Bare skills fixture skillFIXTURE_MARKER:DEMO_MCP_RESPONSE- Demo MCP server response
Copy an example to your project root:
cp examples/basic.toml omni.tomlThen initialize and sync:
omnidev init
omnidev syncCapabilities can come from:
- GitHub:
github:owner/repoor{ source = "github:owner/repo", version = "v1.0.0" } - File paths:
file:///absolute/pathorfile://./relative/path
Load specific subdirectories using the path parameter:
[capabilities.sources]
# Load from a subdirectory in a monorepo
my-skill = { source = "github:owner/repo", path = "plugins/my-skill" }OmniDev automatically generates capability.toml when:
.claude-plugin/plugin.jsonexists in the directory, OR- Expected directories exist (
skills/,agents/,commands/,rules/,docs/)
Profiles group capabilities for different workflows:
[profiles.default]
capabilities = ["standard"]
[profiles.extended]
capabilities = ["standard", "claude-plugin", "bare-skills"]Switch profiles: omnidev profile set extended
For production, always pin versions:
[capabilities.sources]
# Recommended: Pin to a version tag
my-cap = { source = "github:owner/repo", version = "v1.0.0" }
# Most precise: Pin to a commit hash
my-cap = { source = "github:owner/repo", version = "abc123def456" }Define MCP servers directly in omni.toml:
[mcps.my-server]
command = "bun"
args = ["run", ".omni/capabilities/my-mcp/src/index.ts"]
transport = "stdio"Use omni.local.toml (gitignored) for personal customizations:
# omni.local.toml - override sources for local development
[capabilities.sources]
standard = "file://./local/standard-dev"Run the integration tests:
bun test ./examplesTests verify that:
- Each example config syncs successfully from GitHub
- Expected capabilities are present
- Fixture markers appear in synced content
- Pin versions for production (
version = "v1.0.0") - Use profiles to separate workflows
- Commit
omni.tomlto share with your team - Gitignore
omni.local.tomlfor personal overrides - Test capabilities locally with
file://before publishing