From 50ba841a62f2b7f600dd99cf6733c9f5d06cb9d3 Mon Sep 17 00:00:00 2001
From: rob
Two Ways to Build
-cmdforge ui launches a visual builder with menus and forms.
+
cmdforge launches the desktop application with a visual builder.
cmdforge create uses a command-line wizard. Both create the same YAML config files.
Register at the registry to get your publisher namespace.
-Link your CLI or GUI to your registry account with a simple pairing flow:
+ +# Start the connection flow
+cmdforge config connect yourusername
+This opens your browser to approve the connection. Once approved, you're ready to publish!
+ +cmdforge (the desktop app)# Navigate to your tool directory
-cd ~/.cmdforge/my-tool/
+
+ No More Tokens!
+ The connection flow replaces the old API token system. Your devices stay
+ connected until you disconnect them from your Dashboard → Connections page.
+
-# First time: enter your token when prompted
-cmdforge registry publish
+Publish Your Tool
+# Publish from CLI
+cmdforge registry publish mytool
# Dry run to validate without publishing
-cmdforge registry publish --dry-run
+cmdforge registry publish mytool --dry-run
+
+# Check your published tools
+cmdforge registry my-tools
+
+Or use the desktop GUI:
+Submitted tools go through a brief moderation review to ensure quality:
+Check your moderation status anytime:
+# See status of your submissions
+cmdforge registry status
+
+# Sync moderator feedback to your local tool
+cmdforge registry status --sync
Published versions are immutable. To update a tool:
config.yamlcmdforge registry publishcmdforge registry publish mytoolNot everyone wants to write YAML by hand. CmdForge includes a full-featured -terminal UI that lets you create, edit, and test tools with menus and forms—no text editor required.
+Not everyone wants to write YAML by hand. CmdForge includes a modern desktop +application that lets you create, edit, and manage tools with a visual interface—no text editor required.
What You'll Learn
Start the UI with a single command:
+Start the desktop application with a single command:
-cmdforge ui
+cmdforge
-You'll see a menu-driven interface that works in any terminal:
+The application opens with a clean, modern interface featuring a sidebar for navigation and a main content area:
-┌─────────────────────────────────────────────────────────┐ -│ CmdForge Manager │ -├─────────────────────────────────────────────────────────┤ -│ │ -│ [ List all tools ] │ -│ [ Create new tool ] │ -│ [ Edit existing tool ] │ -│ [ Delete tool ] │ -│ [ Test tool ] │ -│ [ Manage providers ] │ -│ [ Exit ] │ -│ │ -│ Use ↑↓ to navigate, Enter to select │ -│ │ -└─────────────────────────────────────────────────────────┘+
Sidebar Navigation
+Features
+Pro Tip: Mouse Support
-If you have urwid installed (pip install urwid),
- the UI supports mouse clicks! Just click on menu items instead of using arrow keys.
Pro Tip: Theme Switching
+Use the View menu to switch between light and dark themes. + Your preference is saved automatically.
Select "Create new tool" to open the tool builder. It has two main sections:
+The My Tools page shows all your installed tools organized by category in a tree view:
+ +From this page you can:
+ +Create
+New tool
+Edit
+Existing tool
+Publish
+To registry
+Delete
+Remove tool
+Click New Tool to open the tool builder. It has a form-based interface split into sections:
1. Info & Arguments
+Basic Information
2. Processing Steps
+Arguments
Processing Steps
+Build your tool's logic by adding steps:
+cmdforge uisummarize--length, default to 100{input} and {length}cmdforge to open the applicationsummarize and a description--length with default 100The Registry page lets you discover and install tools created by the community:
+ +Version Selection
+When installing a tool, you can choose a specific version or get the latest. + This is useful when you need a particular version for compatibility.
+The UI makes it easy to add, edit, and delete AI providers without touching config files:
- -┌─────────────────────────────────────────────────────────┐ -│ Manage Providers │ -├─────────────────────────────────────────────────────────┤ -│ │ -│ claude claude -p │ -│ opencode opencode │ -│ mock echo '[MOCK RESPONSE]' │ -│ ──────────────────────────────────────── │ -│ [ + Add New Provider ] │ -│ [ ← Back to Main Menu ] │ -│ │ -└─────────────────────────────────────────────────────────┘-
Select a provider to edit or delete it. Adding a new provider shows a form:
- -claude)claude -p)Before deploying a tool, test it with the built-in mock provider:
- -This lets you verify your prompts and variable substitution without making real API calls.
- -The Providers page shows all configured AI backends in a table view:
| Key | +Column | +Description | +
|---|---|---|
| Name | +Provider identifier used in tool configs | +|
| Command | +The CLI command that's executed | +|
| Description | +What this provider does | +
From this page you can:
+ +Test your tools before deploying them using the step-by-step test feature:
+ +This lets you verify prompts and variable substitution. For quick tests without API calls, configure a
+mock provider that echoes input back.
Power users can navigate quickly with these shortcuts:
+ +| Shortcut | Action | ||
|---|---|---|---|
↑ / ↓ |
- Navigate menu items | +Ctrl+1 to Ctrl+4 |
+ Switch to page (Tools, Registry, Providers, Profiles) |
Enter |
- Select / confirm | +Ctrl+N |
+ Create new tool |
Esc |
+ Ctrl+S |
+ Save current tool | +|
Escape |
Cancel / go back | ||
Tab |
- Move to next field (in forms) | -||
q |
+ Ctrl+Q |
Quit the application |
CmdForge automatically uses the best available terminal UI library:
- -urwid (Best)
-Mouse support, smooth
-pip install urwid
snack
-BIOS-style dialogs
-apt install python3-newt
dialog/whiptail
-Fallback option
-apt install dialog
When should you use each?
| Use the UI when... | -Use YAML when... | +Use the Visual Builder when... | +Use CLI/YAML when... |
|---|---|---|---|
| Building your first few tools | -Making quick edits | +Making quick edits to configs | |
| Managing providers | +Browsing the registry | +Scripting tool installation | +|
| Managing providers visually | Copying tools between machines | ||
| Testing interactively | -Version control integration | +Publishing tools to the registry | +CI/CD integration |
Now that you know both ways to build tools:
+Now that you know how to use the Visual Builder: