diff --git a/apps/marketing/astro.config.mjs b/apps/marketing/astro.config.mjs index 0188d7019..c51109da2 100644 --- a/apps/marketing/astro.config.mjs +++ b/apps/marketing/astro.config.mjs @@ -1,6 +1,10 @@ import { defineConfig } from "astro/config"; import react from "@astrojs/react"; +import tailwindcss from "@tailwindcss/vite"; export default defineConfig({ integrations: [react()], + vite: { + plugins: [tailwindcss()], + }, }); diff --git a/apps/marketing/package.json b/apps/marketing/package.json index 90fafebbc..fba9efd45 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -8,10 +8,12 @@ "preview": "astro preview" }, "dependencies": { - "astro": "^5.9.3", "@astrojs/react": "^4.2.1", + "@tailwindcss/vite": "^4.2.1", + "astro": "^5.9.3", "react": "^19.2.4", - "react-dom": "^19.2.4" + "react-dom": "^19.2.4", + "tailwindcss": "^4.2.1" }, "devDependencies": { "@types/react": "^19.2.7", diff --git a/apps/marketing/public/favicon.svg b/apps/marketing/public/favicon.svg new file mode 100644 index 000000000..b785c738b --- /dev/null +++ b/apps/marketing/public/favicon.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/apps/marketing/public/symbol.svg b/apps/marketing/public/symbol.svg new file mode 100644 index 000000000..ea5e66e90 --- /dev/null +++ b/apps/marketing/public/symbol.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/marketing/src/layouts/Layout.astro b/apps/marketing/src/layouts/Layout.astro index 0c120e7de..40e130648 100644 --- a/apps/marketing/src/layouts/Layout.astro +++ b/apps/marketing/src/layouts/Layout.astro @@ -1,4 +1,6 @@ --- +import "../styles/global.css"; + interface Props { title: string; } @@ -7,14 +9,20 @@ const { title } = Astro.props; --- - + + + + {title} - + diff --git a/apps/marketing/src/pages/index.astro b/apps/marketing/src/pages/index.astro index 5fc5d52c9..44d8118cc 100644 --- a/apps/marketing/src/pages/index.astro +++ b/apps/marketing/src/pages/index.astro @@ -1,9 +1,419 @@ --- import Layout from "../layouts/Layout.astro"; + +const dotExample = `digraph plan_implement_verify { + goal = "Build and verify a feature" + + start [shape=Mdiamond] + plan [shape=box] + review [shape=diamond] + impl [shape=box] + verify [shape=box] + done [shape=Msquare] + + start -> plan + plan -> review + review -> plan [label="revise"] + review -> impl [label="approve"] + impl -> verify + verify -> impl [label="fail"] + verify -> done [label="pass"] +}`; + +const cssExample = `/* Fast model for planning */ +box { + model: gemini/gemini-2.5-flash; +} + +/* Frontier for verification */ +#verify { + model: anthropic/claude-opus-4; +} + +/* Code generation */ +#impl { + model: anthropic/claude-sonnet-4; +}`; --- - + + + +
-

Arc

+ +
+
+
+

+ Open Source +

+

+ The AI software factory for
+ expert engineering teams +

+

+ Ship production code through long-horizon deterministic workflows, built-in verification, + and full observability — without trading quality for speed. +

+ +
+
+ + +
+
+

+ Controlled, auditable pipelines for real engineering +

+

+ Instead of one-shot code generation, Arc runs workflows: plan, implement, verify, review, ship — using + the right model at each step, with guardrails that fail closed. +

+
+
+ + +
+
+
+
+
+ + + +
+

Deterministic long-horizon runs

+

+ Predictable automation with guardrails and rerun-ability. Human-in-the-loop when needed, fully automated when it's not. +

+
+ +
+
+ + + +
+

Verification-first pipeline

+

+ Builds, tests, static analysis, LLM review, and human approval — baked into every workflow, not bolted on after. +

+
+ +
+
+ + + +
+

Multi-model orchestration

+

+ Use the right model for each step. CSS-like stylesheets assign fast models for breadth, frontier models for correctness. +

+
+ +
+
+ + + + +
+

Total observability

+

+ Trace every step down to each tool call. Inspect inputs, outputs, and timing. Compare runs and diagnose regressions. +

+
+ +
+
+ + + +
+

Cloud sandboxes

+

+ Ephemeral sandboxes for safe execution. Preview environments to validate changes end-to-end. SSH access when you need it. +

+
+ +
+
+ + + +
+

Open source, forkable

+

+ Written in Rust. AGPL-licensed. Fork it, extend it, make it the center of your engineering process. +

+
+
+
+
+ + +
+
+
+
+

+ Built for real engineering, not promptware +

+

+ Arc is built like infrastructure: solid architecture, strong defaults, and the reliability you expect from production tooling. +

+
    +
  • + + Written in Rust for performance, safety, and a durable core +
  • +
  • + + Designed for long-horizon tasks across real codebases, not toy demos +
  • +
  • + + Open source — fork it, extend it, and make it the center of your business +
  • +
+
+ + +
+
+ + + + workflow.dot +
+
+
+
+
+
+ + +
+
+
+
+
+
+
Gate
+
Build + Tests
+

Hard gate. Fails block the pipeline.

+
+
+
Gate
+
Static Analysis
+

Policy checks enforced at every stage.

+
+
+
Layer
+
LLM Review
+

Additional layer, not a substitute for real checks.

+
+
+
Loop
+
Human Review
+

Integrated cleanly into the workflow graph.

+
+
+
+
+

+ Verification is a first-class concept +

+

+ Arc doesn't just produce output — it validates it. Builds and tests are gates, not suggestions. + LLM review adds a layer. Human review loops close the gap. +

+

+ Mergeable results that survive CI and code review. +

+
+
+
+
+ + +
+
+
+
+

+ Multi-model, multi-provider +

+

+ Different steps deserve different models. Arc orchestrates an ensemble so you get the best + quality per dollar — fast models for breadth, frontier models for correctness. +

+
    +
  • + + CSS-like stylesheets assign models to workflow stages +
  • +
  • + + Provider flexibility — avoid lock-in, keep leverage +
  • +
  • + + Ensemble strategies to maximize quality and minimize cost +
  • +
+
+ +
+
+ + + + models.css +
+
+
+
+
+
+ + +
+
+

+ Ground-up observability +

+

+ If you can't see what happened, you can't trust it. Full traceability across runs — inspect every model + call, every tool invocation, every decision point. Compare runs, diagnose regressions, tune workflows. +

+
+
+ + +
+
+

+ Shippable outcomes, not impressive output +

+

+ Most AI coding tools optimize for impressive output. Arc optimizes for what actually merges. +

+
+
+ → +
+
Reviewable changes
+
Not massive diffs
+
+
+
+ → +
+
Verification gates
+
Not vibes
+
+
+
+ → +
+
Audit trails
+
Not opaque agents
+
+
+
+ → +
+
Repeatable workflows
+
Not one-off prompts
+
+
+
+
+
+ + +
+
+

+ Workflow-as-Code +

+

+ Define how work gets done in version-controlled graph files, then run it consistently. + Composable steps. Auditable history. Repeatable results. IaC for coding. +

+
+
+ + +
+
+

+ Workflows you can audit.
Output you can trust. +

+ +
+
+ + +
+
+
+
+ Arc + Arc — Open source, AGPL-licensed +
+
+ Docs + GitHub +
+
+
+
diff --git a/apps/marketing/src/styles/global.css b/apps/marketing/src/styles/global.css new file mode 100644 index 000000000..0fedc0f42 --- /dev/null +++ b/apps/marketing/src/styles/global.css @@ -0,0 +1,22 @@ +@import "tailwindcss"; + +@theme { + --color-teal-300: #B5DDEF; + --color-teal-500: #67B2D7; + --color-teal-700: #357F9E; + + --color-navy-950: #0F1729; + --color-navy-800: #252C3D; + --color-navy-600: #4B5768; + + --color-ice-50: #F7F9FB; + --color-ice-100: #E8EDF3; + --color-ice-300: #A8B5C5; + + --color-mint: #5AC8A8; + --color-amber: #F0A45B; + --color-coral: #E86B6B; + + --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif; + --font-mono: "JetBrains Mono", ui-monospace, monospace; +} diff --git a/bun.lock b/bun.lock index e98ed6eac..b62e77268 100644 --- a/bun.lock +++ b/bun.lock @@ -42,9 +42,11 @@ "name": "marketing", "dependencies": { "@astrojs/react": "^4.2.1", + "@tailwindcss/vite": "^4.2.1", "astro": "^5.9.3", "react": "^19.2.4", "react-dom": "^19.2.4", + "tailwindcss": "^4.2.1", }, "devDependencies": { "@types/react": "^19.2.7",