docs(landing): rewrite tagline and features around Command as Service
- Badge: 'Command as Service · Human + Agent Engineering' - Subtitle: 'Every action is a command. Every command is versioned, auditable, and composable.' - Terminal demo: show service deploy, skill run, and replay commands - Features: lead with Command as Service, rewrite all descriptions around the command stream paradigm - Section header: 'Build. Review. Automate. All via Commands.' - Highlight: 'Your CLI is also your API' - Nav/Footer: surface Command as Service in Platform menu
This commit is contained in:
parent
431f40063f
commit
a4cb18580b
@ -1,12 +1,12 @@
|
||||
const FOOTER_LINKS = {
|
||||
Platform: ['Git Repositories', 'Issues & PRs', 'Collaborative Rooms', 'AI Agents'],
|
||||
Platform: ['Git Repositories', 'Issues & PRs', 'Collaborative Rooms', 'AI Agents', 'Command Stream'],
|
||||
Skills: ['Skill Registry', 'Publish a Skill', 'Skill Documentation', 'Community'],
|
||||
Developers: ['Documentation', 'CLI Reference', 'API Reference', 'Status'],
|
||||
Company: ['About', 'Careers', 'Contact', 'Privacy'],
|
||||
};
|
||||
|
||||
const FOOTER_HREFS: Record<string, string[]> = {
|
||||
Platform: ['/solutions', '/solutions', '/solutions/rooms', '/solutions'],
|
||||
Platform: ['/solutions', '/solutions', '/solutions/rooms', '/solutions', '/solutions'],
|
||||
Skills: ['/skills', '/skills/publish', '/skills/docs', '/network'],
|
||||
Developers: ['/docs', '/docs', '/network/api', '/status'],
|
||||
Company: ['/about', '/careers', '/contact', '/privacy'],
|
||||
@ -45,8 +45,8 @@ export function LandingFooter({onRegister}: LandingFooterProps) {
|
||||
<span className="font-semibold text-sm text-zinc-900 dark:text-zinc-100">GitDataAI</span>
|
||||
</div>
|
||||
<p className="text-xs text-zinc-500 leading-relaxed">
|
||||
The unified platform for code collaboration and AI-powered development.
|
||||
Built for teams that ship.
|
||||
The platform where humans and AI agents engineer together via commands.
|
||||
Every action versioned. Every agent accountable. Built for teams that ship.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
@ -3,20 +3,20 @@ import {useNavigate} from 'react-router-dom';
|
||||
|
||||
const POP_ITEMS = {
|
||||
Platform: [
|
||||
{title: 'Command as Service', href: '/solutions', desc: 'Every action is a versioned, replayable command'},
|
||||
{title: 'Collaborative Rooms', href: '/solutions/rooms', desc: 'Real-time human-AI workspaces via command streams'},
|
||||
{title: 'AI Agents', href: '/solutions', desc: 'Agents that listen to commands and execute skills'},
|
||||
{title: 'Git Repositories', href: '/solutions', desc: 'Branches, commits, PRs, branch protection'},
|
||||
{title: 'Collaborative Rooms', href: '/solutions/rooms', desc: 'Real-time human-AI workspaces'},
|
||||
{title: 'AI Agents', href: '/solutions', desc: 'Persistent memory, tools, skill registry'},
|
||||
{title: 'Command as Service', href: '/solutions', desc: 'Versioned, auditable, composable commands'},
|
||||
],
|
||||
Skills: [
|
||||
{title: 'Explore Skills', href: '/skills', desc: 'Browse the community skill library'},
|
||||
{title: 'Publish a Skill', href: '/skills/publish', desc: 'Share your agent behavior'},
|
||||
{title: 'Publish a Skill', href: '/skills/publish', desc: 'Share your agent behavior as a service'},
|
||||
{title: 'Skill Documentation', href: '/skills/docs', desc: 'Build and test skills locally'},
|
||||
],
|
||||
Network: [
|
||||
{title: 'Explore Network', href: '/network', desc: 'Discover agents and workspaces'},
|
||||
{title: 'Explore Network', href: '/network', desc: 'Discover agents and command flows'},
|
||||
{title: 'Public Rooms', href: '/network/rooms', desc: 'Join open collaborative sessions'},
|
||||
{title: 'Developer API', href: '/network/api', desc: 'Integrate with the network'},
|
||||
{title: 'Developer API', href: '/network/api', desc: 'Emit commands, stream results'},
|
||||
],
|
||||
Pricing: [
|
||||
{title: 'Plans & Pricing', href: '/pricing', desc: 'Compare free and paid tiers'},
|
||||
|
||||
@ -2,6 +2,21 @@ import {motion} from 'framer-motion';
|
||||
import {Bot, Brain, Code2, GitBranch, History, Layers, Network, Workflow, Zap} from 'lucide-react';
|
||||
|
||||
const FEATURES = [
|
||||
{
|
||||
icon: Workflow,
|
||||
title: 'Command as Service',
|
||||
description: 'Every action — a repo create, a PR review, an agent deploy — is a versioned command. Audit, replay, and compose them. Your CLI is your API.',
|
||||
},
|
||||
{
|
||||
icon: Network,
|
||||
title: 'Collaborative Rooms',
|
||||
description: 'Real-time rooms where humans and AI agents work together. Issue commands, review results, and build consensus — all in one thread.',
|
||||
},
|
||||
{
|
||||
icon: Bot,
|
||||
title: 'AI Agents',
|
||||
description: 'Deploy agents that listen to room commands, execute tasks, and report back. Agents run skills, query repos, and call your own services.',
|
||||
},
|
||||
{
|
||||
icon: Code2,
|
||||
title: 'Git Repositories',
|
||||
@ -10,37 +25,22 @@ const FEATURES = [
|
||||
{
|
||||
icon: GitBranch,
|
||||
title: 'Issues & Pull Requests',
|
||||
description: 'Track issues, review code, and manage pull requests with inline comments, review threads, and merge strategies.',
|
||||
},
|
||||
{
|
||||
icon: Workflow,
|
||||
title: 'Command as Service',
|
||||
description: 'Every action is a versioned command. Compose, audit, and replay your entire development workflow. Your CLI is also your API.',
|
||||
},
|
||||
{
|
||||
icon: Network,
|
||||
title: 'Collaborative Rooms',
|
||||
description: 'Real-time chat rooms where humans and AI agents work together. Share context, run commands, review code — all in one thread.',
|
||||
},
|
||||
{
|
||||
icon: Bot,
|
||||
title: 'AI Agents',
|
||||
description: 'Deploy AI agents backed by persistent, versioned memory. Agents read your codebase, run tools, and execute tasks on your behalf.',
|
||||
description: 'Track issues, review code, and manage pull requests. Agents can listen to PR events and automatically run review commands.',
|
||||
},
|
||||
{
|
||||
icon: Layers,
|
||||
title: 'Skill Registry',
|
||||
description: 'Package agent behaviors as reusable Skills. Versioned, testable, and composable. Your best agent workflows become shared infrastructure.',
|
||||
description: 'Package agent behaviors as reusable Skills. Publish to a registry, pull into any room, and invoke via command. Your workflows become shared services.',
|
||||
},
|
||||
{
|
||||
icon: History,
|
||||
title: 'Full Audit Trail',
|
||||
description: 'Every AI decision, every code change, every room message — logged, versioned, and queryable. Human-in-the-loop by design.',
|
||||
title: 'Command Audit Trail',
|
||||
description: 'Every command is logged with its intent, result, and caller. Trace every AI decision back to the human who issued it.',
|
||||
},
|
||||
{
|
||||
icon: Brain,
|
||||
title: 'Agent Memory',
|
||||
description: 'Persistent, git-native context for AI agents. Branch, commit, and roll back agent memory just like source code.',
|
||||
description: 'Agents have persistent, git-native memory. Branch, commit, and roll back context just like source code. No more stateless agents.',
|
||||
},
|
||||
];
|
||||
|
||||
@ -81,7 +81,7 @@ export function LandingHero({onRegister}: { onRegister: () => void }) {
|
||||
className="animate-ping absolute inline-flex h-full w-full rounded-full bg-zinc-400 opacity-75"/>
|
||||
<span className="relative inline-flex h-1.5 w-1.5 rounded-full bg-zinc-500"/>
|
||||
</span>
|
||||
Git + Chat + AI Agents · Command as Service
|
||||
Command as Service · Human + Agent Engineering
|
||||
</span>
|
||||
</motion.div>
|
||||
|
||||
@ -99,8 +99,8 @@ export function LandingHero({onRegister}: { onRegister: () => void }) {
|
||||
{/* Subtitle */}
|
||||
<motion.p variants={fadeUp}
|
||||
className="text-lg text-zinc-500 dark:text-zinc-500 mb-12 max-w-2xl mx-auto leading-relaxed">
|
||||
GitDataAI is the unified platform for code collaboration and AI-powered development.
|
||||
Git repositories, real-time rooms, AI agents, and versioned commands — all in one place.
|
||||
Every action is a command. Every command is versioned, auditable, and composable.
|
||||
Git repositories, rooms, and AI agents — all driven by a command stream you own.
|
||||
</motion.p>
|
||||
|
||||
{/* CTAs */}
|
||||
@ -132,7 +132,7 @@ export function LandingHero({onRegister}: { onRegister: () => void }) {
|
||||
<div className="w-2.5 h-2.5 rounded-full bg-zinc-300 dark:bg-zinc-700"/>
|
||||
<div className="w-2.5 h-2.5 rounded-full bg-zinc-300 dark:bg-zinc-700"/>
|
||||
</div>
|
||||
<span className="text-[10px] uppercase tracking-widest text-zinc-400 font-medium">gitdata — Command as Service</span>
|
||||
<span className="text-[10px] uppercase tracking-widest text-zinc-400 font-medium">gitdata — every action is a command</span>
|
||||
</div>
|
||||
|
||||
{/* Terminal content */}
|
||||
@ -140,30 +140,24 @@ export function LandingHero({onRegister}: { onRegister: () => void }) {
|
||||
<div className="flex gap-3 mb-3">
|
||||
<span className="text-zinc-400">›</span>
|
||||
<span className="text-zinc-800 dark:text-zinc-200">
|
||||
gitdata <span className="text-zinc-500">repo create</span> --name api-service --visibility private
|
||||
gitdata <span className="text-zinc-500">service deploy</span> --name api --repo ZhenYi/api
|
||||
</span>
|
||||
</div>
|
||||
<div className="text-zinc-400 mb-3 ml-6 leading-6">
|
||||
[12:05:01] <Code2 className="inline h-3 w-3 mr-1 text-zinc-500"/> Repository 'api-service' created<br/>
|
||||
[12:05:02] <GitBranch className="inline h-3 w-3 mr-1 text-zinc-500"/> Default branch 'main' initialized<br/>
|
||||
[12:05:03] <Zap className="inline h-3 w-3 mr-1 text-zinc-500"/> Webhook endpoint ready: POST /api/hooks/gitdata/abc123
|
||||
[12:05:01] <Code2 className="inline h-3 w-3 mr-1 text-zinc-500"/> Service 'api' registered via command.<br/>
|
||||
[12:05:02] <GitBranch className="inline h-3 w-3 mr-1 text-zinc-500"/> Default branch 'main' detected.<br/>
|
||||
[12:05:03] <Bot className="inline h-3 w-3 mr-1 text-zinc-500"/> @reviewer-agent is watching — /command/pr:review queued.
|
||||
</div>
|
||||
<div className="flex gap-3 mb-3">
|
||||
<span className="text-zinc-400">›</span>
|
||||
<span className="text-zinc-800 dark:text-zinc-200">
|
||||
gitdata <span className="text-zinc-500">room create</span> --name api-review --project api-service
|
||||
</span>
|
||||
</div>
|
||||
<div className="flex gap-3 mb-3">
|
||||
<span className="text-zinc-400">›</span>
|
||||
<span className="text-zinc-800 dark:text-zinc-200">
|
||||
gitdata <span className="text-zinc-500">agent deploy</span> --name reviewer --room api-review --skill CodeReviewer
|
||||
gitdata <span className="text-zinc-500">skill run</span> CodeReviewer --pr 42 --room api-review
|
||||
</span>
|
||||
</div>
|
||||
<div className="ml-6 text-zinc-500 dark:text-zinc-400">
|
||||
✓ Agent 'reviewer' joined room 'api-review'.<br/>
|
||||
✓ Skill 'CodeReviewer' loaded. Watching for new pull requests.<br/>
|
||||
✓ Command registered: <span className="text-zinc-600 dark:text-zinc-400">gitdata pr review</span>
|
||||
✓ Skill 'CodeReviewer' dispatched to room 'api-review'.<br/>
|
||||
✓ Agent executing command. Result stream → /command/history/abc123<br/>
|
||||
✓ All commands versioned. Replay anytime with <span className="text-zinc-600 dark:text-zinc-400">gitdata replay</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -181,10 +175,10 @@ export function LandingFeatures() {
|
||||
{/* Section header */}
|
||||
<div className="text-center mb-16">
|
||||
<h2 className="text-3xl md:text-4xl font-semibold tracking-tight mb-3">
|
||||
Code. Issues. Rooms. Agents. Commands.
|
||||
Build. Review. Automate. All via Commands.
|
||||
</h2>
|
||||
<p className="text-zinc-500 dark:text-zinc-500">
|
||||
Everything your team and AI agents need to build software — in one place, versioned like code.
|
||||
Every capability is exposed as a command. Agents listen. Humans approve. Everything is logged and replayable.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -211,9 +205,9 @@ export function LandingFeatures() {
|
||||
}
|
||||
|
||||
const HIGHLIGHTS = [
|
||||
{t: 'Command as Service', d: 'Every operation is a versioned command. Audit, replay, and compose them like building blocks.'},
|
||||
{t: 'Human-in-the-Loop', d: 'AI agents request approval before destructive actions. You stay in control.'},
|
||||
{t: 'Git-Native Everything', d: 'Your agents\' memory, skills, and audit logs are stored in Git — branch, commit, diff.'},
|
||||
{t: 'Commands All the Way Down', d: 'Every operation — repo create, agent deploy, skill run — is a command. Your workflow is a composable, queryable stream.'},
|
||||
{t: 'Agents Listen to Commands', d: 'Deploy an agent to a room and it subscribes to command events. Agents don\'t guess — they execute what you command.'},
|
||||
{t: 'Git-Native Audit', d: 'Command history is stored in Git. Branch your command log, diff a workflow, replay it anywhere. Full traceability without a separate log store.'},
|
||||
];
|
||||
|
||||
export function LandingHighlight() {
|
||||
@ -225,10 +219,10 @@ export function LandingHighlight() {
|
||||
<div>
|
||||
<div className="h-px w-12 bg-zinc-300 dark:bg-zinc-700 mb-8"/>
|
||||
<h2 className="text-3xl md:text-4xl font-semibold tracking-tight leading-tight mb-6">
|
||||
Commands are the new commits.
|
||||
Your CLI is also your API.
|
||||
</h2>
|
||||
<p className="text-zinc-500 dark:text-zinc-500 mb-8 leading-relaxed">
|
||||
In GitDataAI, every action — creating a repo, opening a PR, deploying an agent — is a first-class command. Commands are versioned, diffable, and composable. Your development workflow becomes an auditable, replayable stream of intent.
|
||||
Every GitDataAI action is a command with a name, parameters, and a result. Agents subscribe to command streams. Rooms execute commands. Your entire development workflow becomes a versioned, replayable, diffable stream — without a separate event bus.
|
||||
</p>
|
||||
|
||||
{/* Feature list */}
|
||||
@ -265,7 +259,7 @@ export function LandingHighlight() {
|
||||
<span className="text-xs font-medium text-zinc-600 dark:text-zinc-400">John Doe</span>
|
||||
</div>
|
||||
<p className="text-xs text-zinc-700 dark:text-zinc-300">
|
||||
@reviewer, please audit the auth module on the feature/oauth branch.
|
||||
<span className="text-zinc-400">/skill</span> CodeReviewer --branch feature/oauth --room api-review
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -278,10 +272,10 @@ export function LandingHighlight() {
|
||||
className="text-xs font-medium text-zinc-500">reviewer</span>
|
||||
</div>
|
||||
<p className="text-xs text-zinc-600 dark:text-zinc-400 mb-3">
|
||||
Audit complete on feature/oauth. Found 3 issues — 1 critical (token validation bypass). Creating fix PR...
|
||||
Command received. Running CodeReviewer on feature/oauth. Found 3 issues — 1 critical (token validation bypass). Proposing fix...
|
||||
</p>
|
||||
<div className="rounded-md border border-zinc-200 dark:border-zinc-700 bg-zinc-50 dark:bg-zinc-800 font-mono text-[10px] text-zinc-500 p-2 mb-3">
|
||||
gitdata pr create --title "fix: resolve token validation bypass" --from feature/oauth --auto-merge
|
||||
gitdata pr create --title "fix: resolve token validation bypass" --from feature/oauth --command-id abc123
|
||||
</div>
|
||||
<div className="flex gap-2">
|
||||
<button
|
||||
|
||||
Loading…
Reference in New Issue
Block a user