From 4883291a95d08c5d8c043e8c0bdc3647325c7305 Mon Sep 17 00:00:00 2001 From: Nivesh353 Date: Thu, 28 May 2026 15:20:35 +0530 Subject: [PATCH 1/3] feat: add GitAgent and OpenGAP pages with full docs Add GitAgent product page, GitAgent docs (/docs/:section), and OpenGAP docs (/opengap/:section) with sidebar navigation, bump spec to v0.4.0, and clean up landing page sections and nav CTAs. --- package-lock.json | 48 +++ package.json | 1 + src/App.tsx | 12 +- src/components/AdaptersSection.tsx | 6 +- src/components/CLISection.tsx | 42 ++- src/components/ComplianceSection.tsx | 38 ++- src/components/ExportSection.tsx | 45 ++- src/components/FAQSection.tsx | 20 +- src/components/Footer.tsx | 145 +++++--- src/components/HeroSection.tsx | 48 ++- src/components/HowItWorksSection.tsx | 21 +- src/components/Navbar.tsx | 14 +- src/components/PatternsSection.tsx | 8 +- src/components/QuickStartSection.tsx | 31 +- src/components/SkillsFlowSection.tsx | 18 +- src/components/SkillsSection.tsx | 86 +++-- src/components/WhySection.tsx | 4 +- src/components/gitAgent/CodeBlock.tsx | 60 ++++ .../gitAgent/GitAgentArchitecture.tsx | 262 +++++++++++++++ .../gitAgent/GitAgentArchitectureSection.tsx | 202 ++++++++++++ src/components/gitAgent/GitAgentCLI.tsx | 159 +++++++++ .../gitAgent/GitAgentCompliance.tsx | 191 +++++++++++ src/components/gitAgent/GitAgentEnvVars.tsx | 104 ++++++ .../gitAgent/GitAgentFeaturesSection.tsx | 96 ++++++ src/components/gitAgent/GitAgentHero.tsx | 49 +++ .../gitAgent/GitAgentHeroSection.tsx | 248 ++++++++++++++ src/components/gitAgent/GitAgentHooks.tsx | 242 ++++++++++++++ .../gitAgent/GitAgentInstallSection.tsx | 160 +++++++++ .../gitAgent/GitAgentIntegrations.tsx | 157 +++++++++ .../gitAgent/GitAgentIntegrationsSection.tsx | 127 +++++++ .../gitAgent/GitAgentInterfaces.tsx | 105 ++++++ src/components/gitAgent/GitAgentMemory.tsx | 187 +++++++++++ .../gitAgent/GitAgentMemorySection.tsx | 75 +++++ src/components/gitAgent/GitAgentMessaging.tsx | 127 +++++++ src/components/gitAgent/GitAgentModels.tsx | 275 ++++++++++++++++ .../gitAgent/GitAgentModelsSection.tsx | 64 ++++ src/components/gitAgent/GitAgentNavbar.tsx | 191 +++++++++++ src/components/gitAgent/GitAgentOverview.tsx | 219 ++++++++++++ src/components/gitAgent/GitAgentPlugins.tsx | 176 ++++++++++ .../gitAgent/GitAgentQuickStart.tsx | 212 ++++++++++++ src/components/gitAgent/GitAgentSDK.tsx | 295 +++++++++++++++++ src/components/gitAgent/GitAgentSchedules.tsx | 125 +++++++ src/components/gitAgent/GitAgentSecurity.tsx | 170 ++++++++++ src/components/gitAgent/GitAgentSidebar.tsx | 106 ++++++ src/components/gitAgent/GitAgentSkills.tsx | 213 ++++++++++++ src/components/gitAgent/GitAgentTools.tsx | 234 +++++++++++++ src/components/gitAgent/GitAgentUtilities.tsx | 289 ++++++++++++++++ .../gitAgent/GitAgentVoiceSection.tsx | 119 +++++++ src/components/gitAgent/GitAgentWebUI.tsx | 311 ++++++++++++++++++ .../gitAgent/GitAgentWhySection.tsx | 95 ++++++ src/components/gitAgent/GitAgentWorkflows.tsx | 176 ++++++++++ src/components/opengap/OpenGAPNavbar.tsx | 181 ++++++++++ src/components/opengap/OpenGAPSidebar.tsx | 84 +++++ src/index.css | 17 + src/pages/GitAgentDocsPage.tsx | 135 ++++++++ src/pages/GitAgentPage.tsx | 118 +++++++ src/pages/Index.tsx | 4 +- src/pages/OpenGAPDocsPage.tsx | 115 +++++++ 58 files changed, 6915 insertions(+), 147 deletions(-) create mode 100644 src/components/gitAgent/CodeBlock.tsx create mode 100644 src/components/gitAgent/GitAgentArchitecture.tsx create mode 100644 src/components/gitAgent/GitAgentArchitectureSection.tsx create mode 100644 src/components/gitAgent/GitAgentCLI.tsx create mode 100644 src/components/gitAgent/GitAgentCompliance.tsx create mode 100644 src/components/gitAgent/GitAgentEnvVars.tsx create mode 100644 src/components/gitAgent/GitAgentFeaturesSection.tsx create mode 100644 src/components/gitAgent/GitAgentHero.tsx create mode 100644 src/components/gitAgent/GitAgentHeroSection.tsx create mode 100644 src/components/gitAgent/GitAgentHooks.tsx create mode 100644 src/components/gitAgent/GitAgentInstallSection.tsx create mode 100644 src/components/gitAgent/GitAgentIntegrations.tsx create mode 100644 src/components/gitAgent/GitAgentIntegrationsSection.tsx create mode 100644 src/components/gitAgent/GitAgentInterfaces.tsx create mode 100644 src/components/gitAgent/GitAgentMemory.tsx create mode 100644 src/components/gitAgent/GitAgentMemorySection.tsx create mode 100644 src/components/gitAgent/GitAgentMessaging.tsx create mode 100644 src/components/gitAgent/GitAgentModels.tsx create mode 100644 src/components/gitAgent/GitAgentModelsSection.tsx create mode 100644 src/components/gitAgent/GitAgentNavbar.tsx create mode 100644 src/components/gitAgent/GitAgentOverview.tsx create mode 100644 src/components/gitAgent/GitAgentPlugins.tsx create mode 100644 src/components/gitAgent/GitAgentQuickStart.tsx create mode 100644 src/components/gitAgent/GitAgentSDK.tsx create mode 100644 src/components/gitAgent/GitAgentSchedules.tsx create mode 100644 src/components/gitAgent/GitAgentSecurity.tsx create mode 100644 src/components/gitAgent/GitAgentSidebar.tsx create mode 100644 src/components/gitAgent/GitAgentSkills.tsx create mode 100644 src/components/gitAgent/GitAgentTools.tsx create mode 100644 src/components/gitAgent/GitAgentUtilities.tsx create mode 100644 src/components/gitAgent/GitAgentVoiceSection.tsx create mode 100644 src/components/gitAgent/GitAgentWebUI.tsx create mode 100644 src/components/gitAgent/GitAgentWhySection.tsx create mode 100644 src/components/gitAgent/GitAgentWorkflows.tsx create mode 100644 src/components/opengap/OpenGAPNavbar.tsx create mode 100644 src/components/opengap/OpenGAPSidebar.tsx create mode 100644 src/pages/GitAgentDocsPage.tsx create mode 100644 src/pages/GitAgentPage.tsx create mode 100644 src/pages/OpenGAPDocsPage.tsx diff --git a/package-lock.json b/package-lock.json index 13d1ba8..cf5073f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -75,6 +75,7 @@ "eslint-plugin-react-refresh": "^0.4.20", "globals": "^15.15.0", "jsdom": "^20.0.3", + "playwright": "^1.60.0", "postcss": "^8.5.6", "tailwindcss": "^3.4.17", "typescript": "^5.8.3", @@ -6257,6 +6258,53 @@ "node": ">= 6" } }, + "node_modules/playwright": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz", + "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.60.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz", + "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", diff --git a/package.json b/package.json index 0923707..44425df 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "eslint-plugin-react-refresh": "^0.4.20", "globals": "^15.15.0", "jsdom": "^20.0.3", + "playwright": "^1.60.0", "postcss": "^8.5.6", "tailwindcss": "^3.4.17", "typescript": "^5.8.3", diff --git a/src/App.tsx b/src/App.tsx index 18daf2e..06d5b27 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,8 +2,10 @@ import { Toaster } from "@/components/ui/toaster"; import { Toaster as Sonner } from "@/components/ui/sonner"; import { TooltipProvider } from "@/components/ui/tooltip"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; -import { BrowserRouter, Routes, Route } from "react-router-dom"; -import Index from "./pages/Index"; +import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; +import GitAgentPage from "./pages/GitAgentPage"; +import GitAgentDocsPage from "./pages/GitAgentDocsPage"; +import OpenGAPDocsPage from "./pages/OpenGAPDocsPage"; import NotFound from "./pages/NotFound"; const queryClient = new QueryClient(); @@ -15,7 +17,11 @@ const App = () => ( - } /> + } /> + } /> + } /> + } /> + } /> {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */} } /> diff --git a/src/components/AdaptersSection.tsx b/src/components/AdaptersSection.tsx index 6ea4f72..8692f75 100644 --- a/src/components/AdaptersSection.tsx +++ b/src/components/AdaptersSection.tsx @@ -9,6 +9,10 @@ const adapters = [ { name: "Lyzr Studio", adapter: "lyzr", mode: "One-shot", requires: "LYZR_API_KEY", features: ["REST API deployment", "Agent ID persistence", "Provider auto-mapping"] }, { name: "GitHub Models", adapter: "github", mode: "One-shot (streaming)", requires: "GITHUB_TOKEN (models:read)", features: ["Model namespace mapping", "Streaming responses", "Multi-provider support"] }, { name: "Git (Auto-Detect)", adapter: "git", mode: "Auto", requires: "Depends on detected adapter", features: [".gitagent_adapter hint", "Model-based detection", "File-based fallback"] }, + { name: "OpenCode", adapter: "opencode", mode: "Interactive / one-shot", requires: "OpenCode CLI", features: ["System prompt injection", "Tool mapping", "Config export"] }, + { name: "Gemini", adapter: "gemini", mode: "Interactive / one-shot", requires: "GEMINI_API_KEY", features: ["Gemini model mapping", "Streaming responses", "Multi-provider support"] }, + { name: "GitClaw", adapter: "gitclaw", mode: "Interactive / one-shot", requires: "ANTHROPIC_API_KEY, GitClaw CLI", features: ["Workspace generation", "Tool stubs", "Skill mapping"] }, + { name: "Prompt", adapter: "prompt", mode: "Output only", requires: "None", features: ["Raw system prompt output", "No runtime required", "Universal fallback"] }, ]; export function AdaptersSection() { @@ -23,7 +27,7 @@ export function AdaptersSection() { >

Framework Adapters: One Standard, Every Runtime

- One agent definition. Eight runtime targets. + One agent definition. Twelve runtime targets.

diff --git a/src/components/CLISection.tsx b/src/components/CLISection.tsx index 52e7f2d..929324a 100644 --- a/src/components/CLISection.tsx +++ b/src/components/CLISection.tsx @@ -1,20 +1,29 @@ +import { useState } from "react"; import { motion } from "framer-motion"; -import { Terminal, Play, FileCheck, Info, Download, Upload, Package, ShieldCheck, Zap, Rocket } from "lucide-react"; +import { Terminal, Play, FileCheck, Info, Download, Upload, Package, ShieldCheck, Zap, Rocket, Copy, Check } from "lucide-react"; const commands = [ - { name: "init", icon: Rocket, desc: "Scaffold a new agent repo", usage: "gitagent init --template ", detail: "Templates: minimal (2 files), standard (skills + tools), full (compliance + hooks + memory)" }, - { name: "validate", icon: FileCheck, desc: "Validate agent against spec", usage: "gitagent validate --compliance", detail: "JSON schema validation, skill checks, and optional regulatory compliance audit" }, - { name: "run", icon: Play, desc: "Run agent with any adapter", usage: "gitagent run -a -p \"prompt\"", detail: "Adapters: claude, openai, crewai, openclaw, nanobot, lyzr, github, git (auto-detect)" }, - { name: "export", icon: Download, desc: "Export to another framework", usage: "gitagent export --format -o output", detail: "Formats: system-prompt, claude-code, openai, crewai, openclaw, nanobot, lyzr, github" }, - { name: "import", icon: Upload, desc: "Import from Claude, Cursor, CrewAI", usage: "gitagent import --from ", detail: "Convert existing agent configs into gitagent format" }, - { name: "install", icon: Package, desc: "Resolve git-based dependencies", usage: "gitagent install", detail: "Shallow-clones dependencies at specified versions into mount paths" }, - { name: "skills", icon: Zap, desc: "Search, install, list, inspect skills", usage: "gitagent skills search \"code review\"", detail: "Registries: SkillsMP marketplace, GitHub repos, local filesystem" }, - { name: "audit", icon: ShieldCheck, desc: "Generate compliance audit report", usage: "gitagent audit", detail: "FINRA 3110, SEC 17a-4, SR 11-7, CFPB checks with pass/fail/warn indicators" }, - { name: "info", icon: Info, desc: "Display agent summary", usage: "gitagent info", detail: "Shows config, model, skills, tools, compliance, and SOUL.md preview" }, - { name: "lyzr", icon: Terminal, desc: "Create, update, and run on Lyzr Studio", usage: "gitagent lyzr run -r -p \"Hello\"", detail: "One command: clone → create agent on Lyzr → chat. Saves agent ID for reuse" }, + { name: "init", icon: Rocket, desc: "Scaffold a new agent repo", usage: "opengap init --template ", detail: "Templates: minimal (2 files), standard (skills + tools), full (compliance + hooks + memory), llm-wiki (knowledge base)" }, + { name: "validate", icon: FileCheck, desc: "Validate agent against spec", usage: "opengap validate --compliance", detail: "JSON schema validation, skill checks, and optional regulatory compliance audit" }, + { name: "run", icon: Play, desc: "Run agent with any adapter", usage: "opengap run -a -p \"prompt\"", detail: "Adapters: claude, openai, crewai, openclaw, nanobot, lyzr, github, opencode, gemini, gitclaw, git, prompt" }, + { name: "export", icon: Download, desc: "Export to another framework", usage: "opengap export --format -o output", detail: "Formats: system-prompt, claude-code, openai, crewai, openclaw, nanobot, lyzr, github, copilot, opencode, cursor, gemini, codex, kiro, gitclaw" }, + { name: "import", icon: Upload, desc: "Import from Claude, Cursor, CrewAI, OpenCode, Gemini, Codex", usage: "opengap import --from ", detail: "Formats: claude, cursor, crewai, opencode, gemini, codex" }, + { name: "install", icon: Package, desc: "Resolve git-based dependencies", usage: "opengap install", detail: "Shallow-clones dependencies at specified versions into mount paths" }, + { name: "skills", icon: Zap, desc: "Search, install, list, info", usage: "opengap skills search \"code review\"", detail: "Registries: SkillsMP marketplace, GitHub repos, local filesystem" }, + { name: "audit", icon: ShieldCheck, desc: "Generate compliance audit report", usage: "opengap audit", detail: "FINRA 3110, SEC 17a-4, SR 11-7, CFPB checks with pass/fail/warn indicators" }, + { name: "info", icon: Info, desc: "Display agent summary", usage: "opengap info", detail: "Shows config, model, skills, tools, compliance, and SOUL.md preview" }, + { name: "lyzr", icon: Terminal, desc: "Create, update, and run on Lyzr Studio", usage: "opengap lyzr run -r -p \"Hello\"", detail: "One command: clone → create agent on Lyzr → chat. Saves agent ID for reuse" }, ]; export function CLISection() { + const [copiedCmd, setCopiedCmd] = useState(null); + + const handleCopy = (usage: string, name: string) => { + navigator.clipboard.writeText(usage); + setCopiedCmd(name); + setTimeout(() => setCopiedCmd(null), 2000); + }; + return (
@@ -24,7 +33,7 @@ export function CLISection() { viewport={{ once: true }} className="mb-12" > -

Git Agent Protocol: Build & Run AI Agents

+

OpenGAP: Build & Run AI Agents

Everything you need to build, validate, run, and ship agents.

@@ -43,7 +52,14 @@ export function CLISection() {
{cmd.name} - {cmd.desc} + {cmd.desc} +
$ {cmd.usage}

{cmd.detail}

diff --git a/src/components/ComplianceSection.tsx b/src/components/ComplianceSection.tsx index 0d226f0..fb5f4d9 100644 --- a/src/components/ComplianceSection.tsx +++ b/src/components/ComplianceSection.tsx @@ -1,5 +1,6 @@ +import { useState } from "react"; import { motion } from "framer-motion"; -import { ShieldCheck, AlertTriangle, Lock, Scale } from "lucide-react"; +import { ShieldCheck, AlertTriangle, Lock, Scale, Copy, Check } from "lucide-react"; const riskTiers = [ { tier: "low", label: "Low", desc: "Minimal — standard logging", color: "text-primary", bg: "bg-primary/10" }, @@ -15,7 +16,20 @@ const frameworks = [ { icon: AlertTriangle, name: "CFPB", rules: "Circular 2022-03", checks: "Bias testing, fair lending analysis" }, ]; +const artifactsContent = `compliance/ +├── risk-assessment.md +├── regulatory-map.yaml +└── validation-schedule.yaml`; + export function ComplianceSection() { + const [copied, setCopied] = useState(false); + + const handleCopy = () => { + navigator.clipboard.writeText(artifactsContent); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + }; + return (
@@ -28,7 +42,7 @@ export function ComplianceSection() {

AI Agent Compliance & Governance

First-class regulatory support baked into the manifest. Run{" "} - gitagent audit for a full report. + opengap audit for a full report.

@@ -58,11 +72,21 @@ export function ComplianceSection() {

Compliance Artifacts

-
-
{`compliance/
-├── risk-assessment.md
-├── regulatory-map.yaml
-└── validation-schedule.yaml`}
+
+
+ + + + compliance/ + +
+
{artifactsContent}
diff --git a/src/components/ExportSection.tsx b/src/components/ExportSection.tsx index a4a91be..8d1a55b 100644 --- a/src/components/ExportSection.tsx +++ b/src/components/ExportSection.tsx @@ -1,23 +1,31 @@ import { motion } from "framer-motion"; -import { Play, Copy } from "lucide-react"; +import { Play, Copy, Check } from "lucide-react"; import { useState } from "react"; import { track } from "@/lib/analytics"; -const runCommand = `gitagent run -r "https://github.com/shreyaskapale/shreyas-agent" -a claude`; +const runCommand = `opengap run -r "https://github.com/shreyaskapale/shreyas-agent" -a claude`; const exports = [ - { label: "Claude Code", desc: "Export to CLAUDE.md with skills, model hints, and compliance.", cmd: "$ gitagent export -f claude-code" }, - { label: "OpenAI Agents SDK", desc: "Generate Python code with Agent(), Tool stubs, and type mappings.", cmd: "$ gitagent export -f openai" }, - { label: "CrewAI", desc: "YAML crew config with role/goal extraction and sub-agent mapping.", cmd: "$ gitagent export -f crewai" }, - { label: "OpenClaw", desc: "Workspace with config JSON, AGENTS.md, tools, and skills.", cmd: "$ gitagent export -f openclaw" }, - { label: "Nanobot", desc: "Config JSON + system prompt for Nanobot runtime.", cmd: "$ gitagent export -f nanobot" }, - { label: "Lyzr Studio", desc: "API payload with provider mapping and credential IDs.", cmd: "$ gitagent export -f lyzr" }, - { label: "GitHub Models", desc: "Chat completions payload with model namespace mapping.", cmd: "$ gitagent export -f github" }, - { label: "System Prompt", desc: "Single concatenated markdown for any LLM.", cmd: "$ gitagent export -f system-prompt" }, + { label: "Claude Code", desc: "Export to CLAUDE.md with skills, model hints, and compliance.", cmd: "$ opengap export -f claude-code" }, + { label: "OpenAI Agents SDK", desc: "Generate Python code with Agent(), Tool stubs, and type mappings.", cmd: "$ opengap export -f openai" }, + { label: "CrewAI", desc: "YAML crew config with role/goal extraction and sub-agent mapping.", cmd: "$ opengap export -f crewai" }, + { label: "OpenClaw", desc: "Workspace with config JSON, AGENTS.md, tools, and skills.", cmd: "$ opengap export -f openclaw" }, + { label: "Nanobot", desc: "Config JSON + system prompt for Nanobot runtime.", cmd: "$ opengap export -f nanobot" }, + { label: "Lyzr Studio", desc: "API payload with provider mapping and credential IDs.", cmd: "$ opengap export -f lyzr" }, + { label: "GitHub Models", desc: "Chat completions payload with model namespace mapping.", cmd: "$ opengap export -f github" }, + { label: "System Prompt", desc: "Single concatenated markdown for any LLM.", cmd: "$ opengap export -f system-prompt" }, + { label: "GitHub Copilot", desc: "Copilot workspace instructions and agent config.", cmd: "$ opengap export -f copilot" }, + { label: "OpenCode", desc: "OpenCode system prompt and tool configuration.", cmd: "$ opengap export -f opencode" }, + { label: "Cursor", desc: "Cursor rules file with agent identity and skills.", cmd: "$ opengap export -f cursor" }, + { label: "Gemini", desc: "Gemini system instruction and tool definitions.", cmd: "$ opengap export -f gemini" }, + { label: "Codex", desc: "OpenAI Codex agent config with tool stubs.", cmd: "$ opengap export -f codex" }, + { label: "Kiro", desc: "Kiro agent spec with steering and hook definitions.", cmd: "$ opengap export -f kiro" }, + { label: "GitClaw", desc: "GitClaw workspace with config and skill mapping.", cmd: "$ opengap export -f gitclaw" }, ]; export function ExportSection() { const [copied, setCopied] = useState(false); + const [copiedExport, setCopiedExport] = useState(null); const handleCopy = () => { navigator.clipboard.writeText(runCommand); @@ -61,7 +69,7 @@ export function ExportSection() {
$ - gitagent run + opengap run -r "https://github.com/shreyaskapale/shreyas-agent" -a @@ -134,7 +142,20 @@ export function ExportSection() { {e.label}

{e.desc}

- {e.cmd} +
+ {e.cmd} + +
))}
diff --git a/src/components/FAQSection.tsx b/src/components/FAQSection.tsx index 83bdf6f..49e2478 100644 --- a/src/components/FAQSection.tsx +++ b/src/components/FAQSection.tsx @@ -8,29 +8,29 @@ import { const faqs = [ { - question: "What is GitAgent?", + question: "What is OpenGAP?", answer: - "GitAgent is an open standard for defining AI agents as files in a git repository. Instead of configuring agents in proprietary dashboards, you define identity (SOUL.md), skills (SKILL.md), config (agent.yaml), and more — all version-controlled, branchable, and exportable to any AI framework.", + "OpenGAP is an open standard for defining AI agents as files in a git repository. Instead of configuring agents in proprietary dashboards, you define identity (SOUL.md), skills (SKILL.md), config (agent.yaml), and more — all version-controlled, branchable, and exportable to any AI framework.", }, { - question: "What makes GitAgent a git-native AI agent framework?", + question: "What makes OpenGAP a git-native AI agent framework?", answer: - "GitAgent stores every aspect of an AI agent — identity, skills, tools, knowledge, memory, hooks, and compliance artifacts — as plain files in a git repository. This means you get version control, branching, pull requests, code review, CI/CD, and collaboration for free, using tools developers already know.", + "OpenGAP stores every aspect of an AI agent — identity, skills, tools, knowledge, memory, hooks, and compliance artifacts — as plain files in a git repository. This means you get version control, branching, pull requests, code review, CI/CD, and collaboration for free, using tools developers already know.", }, { - question: "How is GitAgent different from other AI agent frameworks?", + question: "How is OpenGAP different from other AI agent frameworks?", answer: - "Most agent frameworks lock you into a single runtime or vendor. GitAgent is framework-agnostic: define your agent once, then export to Claude Code, OpenAI Agents SDK, CrewAI, Lyzr, OpenClaw, Nanobot, or a raw system prompt. Your agent definition lives in git, not in a vendor's cloud.", + "Most agent frameworks lock you into a single runtime or vendor. OpenGAP is framework-agnostic: define your agent once, then export to Claude Code, OpenAI Agents SDK, CrewAI, Lyzr, OpenClaw, Nanobot, or a raw system prompt. Your agent definition lives in git, not in a vendor's cloud.", }, { - question: "Is GitAgent an open standard?", + question: "Is OpenGAP an open standard?", answer: - "Yes. GitAgent is MIT-licensed and developed in the open at github.com/open-gitagent/gitagent. The specification, CLI, adapters, and examples are all open source. Anyone can contribute, fork, or build on the standard.", + "Yes. OpenGAP is MIT-licensed and developed in the open at github.com/open-gitagent/opengap. The specification, CLI, adapters, and examples are all open source. Anyone can contribute, fork, or build on the standard.", }, { question: "How do I create a git-native AI agent?", answer: - 'Install the CLI with "npm install -g gitagent", then run "gitagent init --template standard" to scaffold an agent repo. Edit agent.yaml, SOUL.md, and SKILL.md to define your agent. Validate with "gitagent validate", then run or export with "gitagent run" or "gitagent export".', + 'Install the CLI with "npm install -g @open-gitagent/opengap", then run "opengap init --template standard" to scaffold an agent repo. Edit agent.yaml, SOUL.md, and SKILL.md to define your agent. Validate with "opengap validate", then run or export with "opengap run" or "opengap export".', }, ]; @@ -48,7 +48,7 @@ export function FAQSection() { Frequently Asked Questions

- Common questions about the GitAgent open AI agent standard. + Common questions about the OpenGAP open AI agent standard.

diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index fb28af3..795237c 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -1,70 +1,117 @@ -const REPO = "https://github.com/open-gitagent/gitagent"; +const OPENGAP_REPO = "https://github.com/open-gitagent/opengap"; +const GITAGENT_REPO = "https://github.com/open-gitagent/gitagent"; -const docsLinks = [ - { label: "Specification", href: `${REPO}/blob/main/spec/SPECIFICATION.md` }, - { label: "Getting Started", href: `${REPO}#readme` }, - { label: "Protocol Reference", href: `${REPO}#cli-commands` }, - { label: "Schema Reference", href: `${REPO}/blob/main/spec/SPECIFICATION.md` }, -]; +interface FooterProps { + variant?: "opengap" | "gitagent"; +} + +export function Footer({ variant = "opengap" }: FooterProps) { + const REPO = variant === "gitagent" ? GITAGENT_REPO : OPENGAP_REPO; + + const docsLinks = [ + { label: "Specification", href: `${REPO}/blob/main/spec/SPECIFICATION.md` }, + { label: "Getting Started", href: `${REPO}#readme` }, + { label: "Protocol Reference", href: `${REPO}#cli-commands` }, + { label: "Schema Reference", href: `${REPO}/blob/main/spec/SPECIFICATION.md` }, + ]; -const examplesLinks = [ - { label: "Minimal", href: `${REPO}/tree/main/examples/minimal` }, - { label: "Standard", href: `${REPO}/tree/main/examples/standard` }, - { label: "Full (Compliance)", href: `${REPO}/tree/main/examples/full` }, - { label: "Skills", href: `${REPO}/tree/main/examples/standard/skills` }, -]; + const examplesLinks = [ + { label: "Minimal", href: `${REPO}/tree/main/examples/minimal` }, + { label: "Standard", href: `${REPO}/tree/main/examples/standard` }, + { label: "Full (Compliance)", href: `${REPO}/tree/main/examples/full` }, + { label: "Skills", href: `${REPO}/tree/main/examples/standard/skills` }, + ]; + + const gitAgentStartLinks = [ + { label: "Install", href: `${REPO}#install` }, + { label: "Documentation", href: "/docs" }, + { label: "GitHub", href: REPO }, + ]; -export function Footer() { return (