Modernize public documentation

This commit is contained in:
rob
2026-07-21 15:03:43 -03:00
parent 2e40659328
commit af3701b10b
5 changed files with 1093 additions and 44 deletions
+4 -4
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}CmdForge{% endblock %} - Build Custom AI Commands</title>
<title>{% block title %}CmdForge{% endblock %} - Build AI Tools You Own</title>
<!-- Meta tags -->
<meta name="description" content="{% block meta_description %}Create Unix-style pipeable tools that work with any AI provider. Provider-agnostic, composable, and community-driven.{% endblock %}">
@@ -11,7 +11,7 @@
<!-- Open Graph -->
<meta property="og:title" content="{% block og_title %}CmdForge{% endblock %}">
<meta property="og:description" content="{% block og_description %}Build custom AI commands in YAML{% endblock %}">
<meta property="og:description" content="{% block og_description %}Build, compose, test, and share AI tools that run on your computer{% endblock %}">
<meta property="og:type" content="website">
<meta property="og:url" content="{{ request.url }}">
{% block og_extra %}{% endblock %}
@@ -19,7 +19,7 @@
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{% block twitter_title %}CmdForge{% endblock %}">
<meta name="twitter:description" content="{% block twitter_description %}Build custom AI commands in YAML{% endblock %}">
<meta name="twitter:description" content="{% block twitter_description %}Build, compose, test, and share AI tools that run on your computer{% endblock %}">
{% block twitter_extra %}{% endblock %}
<!-- Canonical URL -->
@@ -42,7 +42,7 @@
"@type": "Organization",
"name": "CmdForge",
"url": "{{ request.host_url }}",
"description": "Build custom AI commands in YAML"
"description": "Build, compose, test, and share AI tools that run on your computer"
}
</script>
{% endblock %}
+24 -25
View File
@@ -3,31 +3,31 @@
{% from "components/tutorial_card.html" import tutorial_card %}
{% from "components/contributor_card.html" import contributor_card %}
{% block title %}CmdForge - Compose AI Capabilities{% endblock %}
{% block title %}CmdForge - Build AI Tools You Own{% endblock %}
{% block meta_description %}Stop searching for libraries. Ask for capabilities. CmdForge lets you describe what you need and compose AI-powered tools that work together.{% endblock %}
{% block meta_description %}Turn useful AI workflows into commands you own: local or cloud providers, tested pipelines, Unix pipes, registry sharing, and MCP for coding agents.{% endblock %}
{% block content %}
<!-- Hero Section -->
<section class="bg-white py-16 md:py-24">
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
<p class="text-indigo-600 font-medium mb-4">From Libraries to Capabilities</p>
<p class="text-indigo-600 font-medium mb-4">Your Models. Your Workflows. Your Computer.</p>
<h1 class="text-4xl md:text-5xl font-bold text-gray-900 leading-tight">
Ask for Capabilities.<br>Compose Solutions.
Turn AI Workflows<br>Into Tools You Own.
</h1>
<p class="mt-6 text-xl text-gray-600 max-w-3xl mx-auto">
Stop searching through documentation. Describe what you need in plain English
and discover AI-powered tools that work together like Unix pipes.
Build one useful command, connect it to another, and keep the result on your machine.
CmdForge makes AI capabilities composable like Unix pipes—and callable from coding agents through MCP.
</p>
<!-- Semantic Search Demo -->
<div class="mt-10 max-w-2xl mx-auto">
<div class="bg-gray-900 rounded-lg p-4 text-left font-mono text-sm">
<p class="text-gray-400 mb-2"># Ask for what you need:</p>
<p class="text-green-400">$ cmdforge registry describe "something that can summarize long documents"</p>
<p class="text-gray-300 mt-2">Found 3 matching tools:</p>
<p class="text-cyan-400"> rob/summarize</p>
<p class="text-gray-500 ml-4">Condenses text while preserving key points</p>
<p class="text-gray-400 mb-2"># Improvise once. Keep what becomes useful.</p>
<p class="text-green-400">$ cat meeting.txt | cmdforge run-once \</p>
<p class="text-green-400 ml-4">"Extract decisions and owners from {input}"</p>
<p class="text-gray-300 mt-3"># Reusable tomorrow—from your shell or your coding agent:</p>
<p class="text-cyan-400">$ cat meeting.txt | meeting-decisions</p>
</div>
</div>
@@ -62,11 +62,10 @@
<section class="py-16 bg-gray-50">
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 class="text-3xl font-bold text-gray-900 text-center mb-4">
A New Way to Build
Small Tools, Serious Leverage
</h2>
<p class="text-center text-gray-600 mb-12 max-w-2xl mx-auto">
Traditional development: search docs, install libraries, write glue code.<br>
CmdForge: describe what you need, compose existing capabilities, ship.
Start with a command that solves one problem. Add contracts, composition, and sharing only when the work earns it.
</p>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
@@ -77,10 +76,10 @@
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z"/>
</svg>
</div>
<h3 class="text-xl font-semibold text-gray-900 mb-3">Ask for Capabilities</h3>
<h3 class="text-xl font-semibold text-gray-900 mb-3">Discover or Create</h3>
<p class="text-gray-600">
Semantic search finds tools by what they <em>do</em>, not what they're named.
"I need something that extracts key points" just works.
Search local tools and the registry by what they do. For a new idea, forge a
personal or project-owned tool from plain language.
</p>
</div>
@@ -91,10 +90,10 @@
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"/>
</svg>
</div>
<h3 class="text-xl font-semibold text-gray-900 mb-3">Compose Solutions</h3>
<h3 class="text-xl font-semibold text-gray-900 mb-3">Compose and Verify</h3>
<p class="text-gray-600">
Tools call other tools. Chain capabilities together like Unix pipes.
Build complex workflows from simple, tested components.
Join prompts, Python, CmdForge tools, and MCP calls. Contracts, preflight,
regression evidence, and quality coverage keep the result inspectable.
</p>
</div>
@@ -105,10 +104,10 @@
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z"/>
</svg>
</div>
<h3 class="text-xl font-semibold text-gray-900 mb-3">Share & Discover</h3>
<h3 class="text-xl font-semibold text-gray-900 mb-3">Use It Everywhere</h3>
<p class="text-gray-600">
Every tool you publish becomes a capability others can use.
Collaboration over competition. Build on each other's progress.
Run tools as ordinary commands, compose them in projects, publish immutable
versions, or expose a deliberate allowlist to Codex and Claude Code over MCP.
</p>
</div>
</div>
@@ -180,8 +179,8 @@
</svg>
</div>
<div>
<h3 class="text-lg font-semibold text-gray-900">Works With Any AI</h3>
<p class="text-sm text-gray-600">Claude, GPT, Ollama, or any CLI-accessible model. Switch providers without changing tools.</p>
<h3 class="text-lg font-semibold text-gray-900">Choose the Engine at Runtime</h3>
<p class="text-sm text-gray-600">Local models, coding CLIs, and OpenAI-compatible APIs—with explicit privacy, capability, fallback, and provenance controls.</p>
</div>
</div>
<a href="{{ url_for('web.docs', path='providers') }}" class="text-indigo-600 hover:text-indigo-800 font-medium flex items-center whitespace-nowrap">