diff --git a/src/cmdforge/web/docs_content.py b/src/cmdforge/web/docs_content.py index b246b4d..1f3a760 100644 --- a/src/cmdforge/web/docs_content.py +++ b/src/cmdforge/web/docs_content.py @@ -3230,6 +3230,923 @@ providers: ("next", "Next Steps"), ], }, + + "collections": { + "title": "Tool Collections", + "description": "Install curated bundles of tools with a single command", + "content": """ +
Why install tools one at a time? Collections are curated bundles of tools that work +great together. One command gives you a complete toolkit for a specific workflow—whether you're +a developer, writer, or data wrangler.
+ +What You'll Learn
+Think of collections like playlists for your terminal. Someone has already done the work of finding +tools that complement each other, testing them together, and bundling them up. You just hit play.
+ +Curated
+Hand-picked tools that work well together
+One Command
+Install everything at once
+Version Pinned
+Tested versions that work together
+See what's available:
+ +# List all collections
+cmdforge collections list
+
+You'll see something like:
+ +Available collections (4):
+
+ starter
+ The Starter Pack
+ Essential tools for getting started with CmdForge
+ Tools: 5
+
+ developer
+ Developer Toolkit
+ Code review, testing, and documentation tools
+ Tools: 8
+
+ writer
+ Writer's Workshop
+ Grammar, tone, and content tools for writers
+ Tools: 6
+
+ data
+ Data Wrangler
+ JSON, CSV, and data extraction tools
+ Tools: 7
+
+Install a collection with: cmdforge collections install
+
+Before installing, see exactly what you'll get:
+ +# See what's in a collection
+cmdforge collections info starter
+
+Output:
+ +The Starter Pack
+==================================================
+
+Essential tools for getting started with CmdForge.
+Perfect for new users who want a solid foundation.
+
+Maintainer: official
+Tags: beginner, essential, getting-started
+
+Tools (5):
+ - official/summarize
+ - official/translate
+ - official/fix-grammar
+ - official/explain-error
+ - official/commit-msg
+
+Install all: cmdforge collections install starter
+
+Ready to go? One command:
+ +# Install all tools in a collection
+cmdforge collections install starter
+
+Watch as each tool is downloaded and installed:
+ +Installing collection: The Starter Pack
+Tools to install: 5
+
+ Installing official/summarize... v1.2.0
+ Installing official/translate... v1.1.0
+ Installing official/fix-grammar... v1.0.3
+ Installing official/explain-error... v1.1.2
+ Installing official/commit-msg... v2.0.0
+
+Installed: 5/5
+
+Collection 'starter' installed successfully!
+
+All five tools are now available as commands. Try them:
+ +echo "teh quick brown fox" | fix-grammar
+# The quick brown fox
+
+Collections can pin specific versions of tools that are known to work well together. Use the
+--pinned flag to install these exact versions:
# Install with pinned (tested) versions
+cmdforge collections install developer --pinned
+
+This is useful when you need reproducible setups across machines or team members.
+ +| Collection | +Description | +Tools | +
|---|---|---|
starter |
+ Essential tools for beginners | +summarize, translate, fix-grammar, explain-error, commit-msg | +
developer |
+ Code review and development tools | +review-code, explain-code, gen-tests, docstring, plus more | +
writer |
+ Content creation and editing | +fix-grammar, tone-shift, simplify, expand, eli5, tldr | +
data |
+ Data extraction and transformation | +json-extract, json2csv, extract-emails, csv-insights, sql-from-text | +
Working on a project with a team? Need the same tools on your CI server?
+Project dependencies let you declare which tools your project needs, pin their versions,
+and install everything with a single command. Think package.json for your AI tools.
What You'll Learn
+cmdforge.yaml manifestWithout dependency management:
+ +With cmdforge.yaml:
cmdforge installInitialize a new manifest in your project:
+ +# Create cmdforge.yaml in current directory
+cmdforge init
+
+# With custom project name and version
+cmdforge init --name my-project --version 1.0.0
+
+This creates a cmdforge.yaml file:
name: my-project
+version: 1.0.0
+dependencies: []
+
+Add tools your project needs:
+ +# Add a tool (installs it too)
+cmdforge add official/summarize
+
+# Add with version constraint
+cmdforge add official/translate --version "^1.0.0"
+
+# Add without installing (just record it)
+cmdforge add official/fix-grammar --no-install
+
+Your manifest now looks like:
+ +name: my-project
+version: 1.0.0
+dependencies:
+ - name: official/summarize
+ version: "*"
+ - name: official/translate
+ version: "^1.0.0"
+ - name: official/fix-grammar
+ version: "*"
+
+Control which versions are acceptable:
+ +| Constraint | +Meaning | +Example Matches | +
|---|---|---|
* |
+ Any version (latest) | +1.0.0, 2.0.0, 3.5.2 | +
1.2.3 |
+ Exact version only | +1.2.3 | +
^1.2.0 |
+ Compatible (same major) | +1.2.0, 1.3.0, 1.9.9 | +
~1.2.0 |
+ Approximate (same minor) | +1.2.0, 1.2.1, 1.2.9 | +
>=1.0.0 |
+ At least this version | +1.0.0, 1.5.0, 2.0.0 | +
<2.0.0 |
+ Before this version | +1.0.0, 1.9.9 | +
Recommendation
+Use ^1.0.0 (caret) for most dependencies. This allows
+ bug fixes and new features while preventing breaking changes.
When someone clones your project:
+ +# Install all dependencies from cmdforge.yaml
+cmdforge install
+
+This reads the manifest, resolves versions, and installs every tool. Perfect for:
+ +See what's in your manifest and what's installed:
+ +# Show project dependencies
+cmdforge deps
+
+Output:
+ +Project: my-project v1.0.0
+
+Dependencies (3):
+ ✓ official/summarize * (installed: 1.2.0)
+ ✓ official/translate ^1.0.0 (installed: 1.1.0)
+ ✗ official/fix-grammar * (not installed)
+
+Run 'cmdforge install' to install missing dependencies.
+
+Need to use different AI providers in different environments? Add overrides to your manifest:
+ +name: my-project
+version: 1.0.0
+dependencies:
+ - name: official/summarize
+ version: "^1.0.0"
+
+overrides:
+ summarize:
+ provider: ollama # Use local Ollama instead of cloud
+
+This is useful for:
+ +CmdForge searches for cmdforge.yaml starting from your current directory and
+moving up to parent directories. This means you can have:
cmdforge init in your project rootcmdforge add owner/tool as you need themcmdforge.yaml to version controlcmdforge installcmdforge install to your pipelineCmdForge is the brain, but AI providers are the muscle. Before your tools can do +anything smart, you need at least one provider configured. The good news? CmdForge has an +interactive installer that makes this painless.
+ +What You'll Learn
+The easiest way to get started:
+ +cmdforge providers install
+
+You'll see a menu of available provider groups:
+ +============================================================
+CmdForge Provider Installation Guide
+============================================================
+
+Available AI Provider Groups:
+
+ 1. OpenCode
+ Cost: FREE tier available (4 models)
+ Models: opencode-pickle, opencode-deepseek, opencode-claude, ...
+
+ 2. Claude (Anthropic)
+ Cost: Pay per token
+ Models: claude-haiku, claude-sonnet, claude-opus
+
+ 3. Ollama (Local)
+ Cost: FREE (runs on your machine)
+ Models: ollama-llama, ollama-mistral, ollama-codellama
+
+ 4. OpenAI
+ Cost: Pay per token
+ Models: openai-gpt4, openai-gpt35
+
+ 0. Cancel
+
+Select a provider to install (1-4, or 0 to cancel):
+
+Select a provider, and CmdForge will:
+Best for Getting Started: OpenCode
+Install: Option 1 in the installer
+Best for Privacy: Ollama
+Install: Option 3 in the installer
+Best Quality: Claude
+Install: Option 2 in the installer
+Most Flexible: OpenAI
+Install: Option 4 in the installer
+After installation, verify everything works:
+ +# Test a specific provider
+cmdforge providers test opencode-pickle
+
+# The test sends a simple prompt and shows the response
+# You should see something like:
+# Testing provider: opencode-pickle
+# Sending test prompt...
+# ✓ Provider responded successfully!
+# Response: "Hello! I'm working correctly."
+
+# List all providers and their status
+cmdforge providers list
+
+Output:
+ +Configured providers:
+
+ NAME COMMAND STATUS
+ opencode-pickle opencode -m pickle ✓ Available
+ claude-haiku claude -m haiku -p ✓ Available
+ ollama-llama ollama run llama2 ✗ Not found
+ mock echo '[MOCK]' ✓ Available
+
+4 providers configured, 3 available
+
+Need a custom provider? Add it manually:
+ +# Add a new provider
+cmdforge providers add my-provider "my-ai-cli --prompt"
+
+# Add with description
+cmdforge providers add my-provider "my-ai-cli --prompt" --description "My custom AI"
+
+Or edit ~/.cmdforge/providers.yaml directly:
providers:
+ - name: my-provider
+ command: "my-ai-cli --prompt"
+ description: "My custom AI provider"
+
+# Remove a provider you no longer use
+cmdforge providers remove old-provider
+
+You can have many providers configured and choose per-tool or per-run:
+ +# Use the tool's default provider
+cat file.txt | summarize
+
+# Override for this run
+cat file.txt | summarize --provider ollama-llama
+
+# Use a fast provider for quick tasks
+cat file.txt | summarize --provider opencode-pickle
+
+# Use a powerful provider for complex tasks
+cat file.txt | summarize --provider claude-opus
+
+CmdForge includes a built-in mock provider for testing without API calls:
# Test your tool without using real AI
+cat file.txt | summarize --provider mock
+
+This returns a placeholder response, perfect for:
+A quick reference for every CmdForge command. Bookmark this page—you'll come back to it.
+ +| Command | +Description | +
|---|---|
cmdforge |
+ Launch the Visual Builder (desktop GUI) | +
cmdforge list |
+ List all installed tools | +
cmdforge create |
+ Create a new tool (interactive wizard) | +
cmdforge edit <tool> |
+ Open tool config in your editor | +
cmdforge delete <tool> |
+ Remove a tool | +
cmdforge test <tool> |
+ Test a tool with mock provider | +
cmdforge run <tool> |
+ Run a tool directly (without wrapper) | +
cmdforge refresh |
+ Regenerate all wrapper scripts | +
cmdforge docs <tool> |
+ View or edit tool documentation | +
cmdforge check <tool> |
+ Check if tool dependencies are installed | +
| Command | +Description | +
|---|---|
cmdforge registry search <query> |
+ Search for tools | +
cmdforge registry install <tool> |
+ Install a tool from registry | +
cmdforge registry uninstall <tool> |
+ Uninstall a registry tool | +
cmdforge registry info <tool> |
+ Show tool details | +
cmdforge registry publish <tool> |
+ Publish a tool to registry | +
cmdforge registry my-tools |
+ List your published tools | +
cmdforge registry browse |
+ Browse registry (interactive TUI) | +
| Command | +Description | +
|---|---|
cmdforge collections list |
+ List available collections | +
cmdforge collections info <name> |
+ Show collection details | +
cmdforge collections install <name> |
+ Install all tools in collection | +
| Command | +Description | +
|---|---|
cmdforge providers install |
+ Interactive provider installation guide | +
cmdforge providers list |
+ List configured providers | +
cmdforge providers check |
+ Check which providers are available | +
cmdforge providers add <name> <cmd> |
+ Add a new provider | +
cmdforge providers remove <name> |
+ Remove a provider | +
cmdforge providers test <name> |
+ Test a provider | +
| Command | +Description | +
|---|---|
cmdforge init |
+ Create cmdforge.yaml manifest | +
cmdforge add <tool> |
+ Add tool to project dependencies | +
cmdforge install |
+ Install project dependencies | +
cmdforge deps |
+ Show project dependencies | +
| Command | +Description | +
|---|---|
cmdforge config show |
+ Show current configuration | +
cmdforge config set <key> <value> |
+ Set a configuration value | +
cmdforge config connect <username> |
+ Connect to registry account | +
| Flag | +Description | +
|---|---|
--help |
+ Show help for any command | +
--version |
+ Show CmdForge version | +
--provider <name> |
+ Override provider for tool execution | +
| Path | +Contents | +
|---|---|
~/.cmdforge/ |
+ Tool configs directory | +
~/.cmdforge/<tool>/config.yaml |
+ Individual tool configuration | +
~/.cmdforge/providers.yaml |
+ Provider configurations | +
~/.local/bin/ |
+ Tool wrapper scripts | +
./cmdforge.yaml |
+ Project dependency manifest | +