How to List All Available Omarchy Commands: Complete CLI Reference
Run omarchy commands to display a formatted table of every available command registered in the bin/ directory.
The basecamp/omarchy repository provides a centralized command-center that automatically discovers and registers scripts following the omarchy-* naming convention. Understanding how to list all available omarchy commands helps you navigate the CLI efficiently and integrate the tool into your development workflow.
Understanding the Command Discovery Mechanism
Omarchy employs a dynamic discovery system that scans the bin/ directory for executable scripts matching the omarchy-* pattern.
How Commands Are Registered
The load_commands function in bin/omarchy (lines 13-20) iterates through the local bin/ directory to locate every file prefixed with omarchy-. This function registers metadata—including group classification, command name, and summary description—for each executable binary it encounters.
When you invoke the main dispatcher, the main() function handles routing via a dispatch table defined at lines 77-84, directing execution to the appropriate handler when you call the commands sub-command.
Listing Available Commands
The primary interface for viewing registered commands is the commands sub-command itself.
Basic Usage
To generate a human-readable list of all visible commands, execute:
omarchy commands
This invokes the show_commands function (lines 83-95 in bin/omarchy), which iterates over sorted routes and prints a formatted table to your terminal.
Output Structure
The default output organizes commands by their registered groups and includes:
- Command route and name
- Brief summary description
- Group classification for categorization
Command Options and Flags
The omarchy commands sub-command supports several flags parsed by parse_commands_args (lines 38-73 in bin/omarchy) to customize or validate the output.
Filtering Hidden Commands
By default, commands marked as hidden are excluded from standard listings. To reveal all commands including internal utilities, append the --all flag:
omarchy commands --all
Alternative Output Formats
For programmatic access or documentation generation, request structured output instead of the default table:
# Machine-readable JSON for scripts
omarchy commands --json
# Markdown table for documentation
omarchy commands --markdown
Validation Checks
Before deploying new commands or committing changes, verify registry integrity:
omarchy commands --check
This runs a validation pass that checks for route collisions, missing metadata fields, and ensures all discovered binaries maintain proper executable permissions.
Practical Code Examples
Here are common patterns for interacting with the command registry:
# View all user-facing commands
omarchy commands
# Include internal/hidden utilities
omarchy commands --all
# Export command structure for automation
omarchy commands --json > omarchy-commands.json
# Generate documentation table for README
omarchy commands --markdown
# Validate metadata before releases
omarchy commands --check
Summary
- Entry point: The
commandssub-command inbin/omarchyserves as the primary interface for listing available commands. - Discovery: The
load_commandsfunction automatically registers every executableomarchy-*script found in thebin/directory. - Formatting: Use
--jsonfor programmatic parsing or--markdownfor documentation workflows. - Validation: The
--checkflag ensures metadata integrity and prevents route conflicts. - Visibility: Hidden commands require the
--allflag to appear in listings.
Frequently Asked Questions
How does Omarchy discover new commands?
Omarchy scans the bin/ directory for any executable file matching the omarchy-* naming pattern. The load_commands function in bin/omarchy (lines 13-20) handles this registration automatically, extracting metadata such as group classification and summary descriptions from each binary.
What is the difference between omarchy commands and omarchy commands --all?
The default omarchy commands output excludes utilities explicitly marked as hidden in their metadata. Adding the --all flag forces the show_commands function to include these hidden entries, revealing administrative or internal tools not intended for standard user workflows.
Can I use the command listing in automation scripts?
Yes. Pass the --json flag to omarchy commands to receive a structured JSON document describing each registered command's metadata. This machine-readable format is ideal for shell scripts, CI/CD pipelines, and third-party integrations that need to parse available omarchy capabilities programmatically.
Where is the command validation logic implemented?
The --check flag logic resides within parse_commands_args (lines 38-73) in bin/omarchy. This validation routine verifies that no route collisions exist, that all required metadata fields are populated, and that every discovered binary maintains proper executable permissions.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →