Update homepage messaging to emphasize capabilities paradigm
- Changed hero from "Build Custom AI Commands in YAML" to "Ask for Capabilities. Compose Solutions." - Added semantic search demo in hero showing registry describe - Renamed three pillars to: Ask for Capabilities, Compose Solutions, Share & Discover - Added "See It In Action" section with side-by-side demos of semantic search and tool composition - Added provider-agnostic callout highlighting multi-AI support - Updated meta description to reflect vision - Swapped secondary CTA from Tutorials to Philosophy page Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c920bb5384
commit
97be7e7b2d
|
|
@ -3,24 +3,36 @@
|
|||
{% from "components/tutorial_card.html" import tutorial_card %}
|
||||
{% from "components/contributor_card.html" import contributor_card %}
|
||||
|
||||
{% block title %}CmdForge - Build Custom AI Commands in YAML{% endblock %}
|
||||
{% block title %}CmdForge - Compose AI Capabilities{% endblock %}
|
||||
|
||||
{% block meta_description %}Create Unix-style pipeable AI tools with simple YAML configuration. Provider-agnostic, composable, and community-driven.{% 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 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>
|
||||
<h1 class="text-4xl md:text-5xl font-bold text-gray-900 leading-tight">
|
||||
Build Custom AI Commands in YAML
|
||||
Ask for Capabilities.<br>Compose Solutions.
|
||||
</h1>
|
||||
<p class="mt-6 text-xl text-gray-600 max-w-3xl mx-auto">
|
||||
Create Unix-style pipeable tools that work with any AI provider.
|
||||
Provider-agnostic and composable for ultimate flexibility.
|
||||
Stop searching through documentation. Describe what you need in plain English
|
||||
and discover AI-powered tools that work together like Unix pipes.
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Install Link -->
|
||||
<div class="mt-10">
|
||||
<div class="mt-8">
|
||||
<a href="https://gitea.brrd.tech/rob/CmdForge#installation"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
|
|
@ -28,19 +40,19 @@
|
|||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"/>
|
||||
</svg>
|
||||
View Installation Options (pip, Docker, 60-second setup)
|
||||
Install in 60 seconds (pip, Docker, or from source)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- CTAs -->
|
||||
<div class="mt-10 flex flex-col sm:flex-row items-center justify-center gap-4">
|
||||
<div class="mt-8 flex flex-col sm:flex-row items-center justify-center gap-4">
|
||||
<a href="{{ url_for('web.docs', path='getting-started') }}"
|
||||
class="w-full sm:w-auto inline-flex justify-center items-center px-8 py-4 text-lg font-medium text-white bg-indigo-600 rounded-md hover:bg-indigo-700 transition-colors shadow-md">
|
||||
Get Started
|
||||
</a>
|
||||
<a href="{{ url_for('web.tutorials') }}"
|
||||
<a href="{{ url_for('web.philosophy') }}"
|
||||
class="w-full sm:w-auto inline-flex justify-center items-center px-8 py-4 text-lg font-medium text-cyan-700 border-2 border-cyan-600 rounded-md hover:bg-cyan-50 transition-colors">
|
||||
View Tutorials
|
||||
Read the Philosophy
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -50,59 +62,141 @@
|
|||
<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">
|
||||
Why CmdForge?
|
||||
A New Way to Build
|
||||
</h2>
|
||||
<p class="text-center text-gray-600 mb-12">
|
||||
<a href="{{ url_for('web.philosophy') }}" class="text-indigo-600 hover:text-indigo-800">
|
||||
Read our philosophy →
|
||||
</a>
|
||||
<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.
|
||||
</p>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<!-- Pillar 1: Easy -->
|
||||
<!-- Pillar 1: Ask -->
|
||||
<div class="bg-white rounded-lg border border-gray-200 p-8 text-center hover:shadow-lg transition-shadow">
|
||||
<div class="w-16 h-16 bg-indigo-100 rounded-full flex items-center justify-center mx-auto mb-6">
|
||||
<svg class="w-8 h-8 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
||||
<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">Easy to Use</h3>
|
||||
<h3 class="text-xl font-semibold text-gray-900 mb-3">Ask for Capabilities</h3>
|
||||
<p class="text-gray-600">
|
||||
Simple YAML configuration for quick setup. No complex programming required to get started.
|
||||
Semantic search finds tools by what they <em>do</em>, not what they're named.
|
||||
"I need something that extracts key points" just works.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Pillar 2: Powerful -->
|
||||
<!-- Pillar 2: Compose -->
|
||||
<div class="bg-white rounded-lg border border-gray-200 p-8 text-center hover:shadow-lg transition-shadow">
|
||||
<div class="w-16 h-16 bg-cyan-100 rounded-full flex items-center justify-center mx-auto mb-6">
|
||||
<svg class="w-8 h-8 text-cyan-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
||||
<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">Powerful</h3>
|
||||
<h3 class="text-xl font-semibold text-gray-900 mb-3">Compose Solutions</h3>
|
||||
<p class="text-gray-600">
|
||||
Leverage any AI provider, compose complex multi-step workflows with Python code integration.
|
||||
Tools call other tools. Chain capabilities together like Unix pipes.
|
||||
Build complex workflows from simple, tested components.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Pillar 3: Community -->
|
||||
<!-- Pillar 3: Share -->
|
||||
<div class="bg-white rounded-lg border border-gray-200 p-8 text-center hover:shadow-lg transition-shadow">
|
||||
<div class="w-16 h-16 bg-indigo-100 rounded-full flex items-center justify-center mx-auto mb-6">
|
||||
<svg class="w-8 h-8 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"/>
|
||||
<div class="w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mx-auto mb-6">
|
||||
<svg class="w-8 h-8 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<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">Community</h3>
|
||||
<h3 class="text-xl font-semibold text-gray-900 mb-3">Share & Discover</h3>
|
||||
<p class="text-gray-600">
|
||||
Share, discover, and contribute to a growing ecosystem of tools built by developers like you.
|
||||
Every tool you publish becomes a capability others can use.
|
||||
Collaboration over competition. Build on each other's progress.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Featured Tools Section -->
|
||||
<!-- How It Works Section -->
|
||||
<section class="py-16 bg-white">
|
||||
<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">
|
||||
See It In Action
|
||||
</h2>
|
||||
<p class="text-center text-gray-600 mb-12">
|
||||
From natural language query to working solution
|
||||
</p>
|
||||
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
<!-- Left: Semantic Search -->
|
||||
<div>
|
||||
<h3 class="text-xl font-semibold text-gray-900 mb-4 flex items-center">
|
||||
<span class="w-8 h-8 bg-indigo-600 text-white rounded-full flex items-center justify-center text-sm font-bold mr-3">1</span>
|
||||
Describe What You Need
|
||||
</h3>
|
||||
<div class="bg-gray-900 rounded-lg p-4 font-mono text-sm">
|
||||
<p class="text-gray-400"># Natural language search:</p>
|
||||
<p class="text-green-400">$ cmdforge registry describe \</p>
|
||||
<p class="text-green-400 ml-4">"analyze code for security issues"</p>
|
||||
<p class="text-gray-300 mt-3">Matching tools:</p>
|
||||
<p class="text-cyan-400 mt-1"> official/code-review</p>
|
||||
<p class="text-gray-500 ml-4 text-xs">Reviews code for bugs, security, and style</p>
|
||||
<p class="text-cyan-400 mt-1"> rob/security-scan</p>
|
||||
<p class="text-gray-500 ml-4 text-xs">Focused security vulnerability detection</p>
|
||||
</div>
|
||||
<p class="text-gray-600 text-sm mt-3">
|
||||
Semantic search understands intent, not just keywords.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Right: Composition -->
|
||||
<div>
|
||||
<h3 class="text-xl font-semibold text-gray-900 mb-4 flex items-center">
|
||||
<span class="w-8 h-8 bg-cyan-600 text-white rounded-full flex items-center justify-center text-sm font-bold mr-3">2</span>
|
||||
Compose Into Workflows
|
||||
</h3>
|
||||
<div class="bg-gray-900 rounded-lg p-4 font-mono text-sm">
|
||||
<p class="text-gray-400"># Tools can call other tools:</p>
|
||||
<p class="text-yellow-400">steps:</p>
|
||||
<p class="text-gray-300"> - tool: official/code-review</p>
|
||||
<p class="text-gray-300"> output_var: review</p>
|
||||
<p class="text-gray-300"> - tool: rob/summarize</p>
|
||||
<p class="text-gray-300"> input_template: "{review}"</p>
|
||||
<p class="text-gray-300"> output_var: summary</p>
|
||||
<p class="text-gray-400 mt-2"># Use like any Unix command:</p>
|
||||
<p class="text-green-400">$ cat app.py | my-review-tool</p>
|
||||
</div>
|
||||
<p class="text-gray-600 text-sm mt-3">
|
||||
Build complex solutions from simple, tested components.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Provider Agnostic Callout -->
|
||||
<div class="mt-12 p-6 bg-gradient-to-r from-indigo-50 to-cyan-50 rounded-lg border border-indigo-100">
|
||||
<div class="flex flex-col md:flex-row items-center justify-between gap-4">
|
||||
<div class="flex items-center">
|
||||
<div class="w-12 h-12 bg-white rounded-lg flex items-center justify-center mr-4 shadow-sm">
|
||||
<svg class="w-6 h-6 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/>
|
||||
</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>
|
||||
</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">
|
||||
Configure Providers
|
||||
<svg class="w-4 h-4 ml-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Featured Tools Section -->
|
||||
<section class="py-16 bg-gray-50">
|
||||
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex items-center justify-between mb-12">
|
||||
<h2 class="text-3xl font-bold text-gray-900">
|
||||
|
|
@ -163,7 +257,7 @@
|
|||
</section>
|
||||
|
||||
<!-- Getting Started Section -->
|
||||
<section class="py-16 bg-gray-50">
|
||||
<section class="py-16 bg-white">
|
||||
<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-12">
|
||||
Getting Started
|
||||
|
|
@ -196,7 +290,7 @@
|
|||
|
||||
<!-- Featured Contributor Section -->
|
||||
{% if featured_contributor %}
|
||||
<section class="py-16 bg-white">
|
||||
<section class="py-16 bg-gray-50">
|
||||
<div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<h2 class="text-3xl font-bold text-gray-900 text-center mb-12">
|
||||
Featured Contributor
|
||||
|
|
|
|||
Loading…
Reference in New Issue