diff --git a/documentation/docusaurus.config.ts b/documentation/docusaurus.config.ts index 465e5bb4..bac0b1eb 100644 --- a/documentation/docusaurus.config.ts +++ b/documentation/docusaurus.config.ts @@ -4,7 +4,7 @@ import type * as Preset from "@docusaurus/preset-classic"; // This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) -require('dotenv').config(); +require("dotenv").config(); const inkeepApiKey = process.env.INKEEP_API_KEY; const inkeepIntegrationId = process.env.INKEEP_INTEGRATION_ID; @@ -13,7 +13,7 @@ const inkeepOrgId = process.env.INKEEP_ORG_ID; const config: Config = { title: "codename goose", tagline: - "goose is your on-machine AI agent, automating engineering tasks seamlessly within your IDE or terminal", + "Your on-machine AI agent, automating engineering tasks seamlessly.", favicon: "img/favicon.ico", // Set the production url of your site here @@ -165,31 +165,30 @@ const config: Config = { }, inkeepConfig: { baseSettings: { - apiKey: inkeepApiKey, - integrationId: inkeepIntegrationId, - organizationId: inkeepOrgId, - primaryBrandColor: "#1E1E1E" + apiKey: inkeepApiKey, + integrationId: inkeepIntegrationId, + organizationId: inkeepOrgId, + primaryBrandColor: "#1E1E1E", }, aiChatSettings: { - chatSubjectName: "goose", - botAvatarSrcUrl: "https://storage.googleapis.com/organization-image-assets/block-botAvatarSrcUrl-1737745528096.png", - botAvatarDarkSrcUrl: "https://storage.googleapis.com/organization-image-assets/block-botAvatarDarkSrcUrl-1737745527450.png", - getHelpCallToActions: [ - { - name: "GitHub", - url: "https://github.com/block/goose", - icon: { - builtIn: "FaGithub" - } - } - ], - quickQuestions: [ - "What is Goose?" - ] - } - }, + chatSubjectName: "goose", + botAvatarSrcUrl: + "https://storage.googleapis.com/organization-image-assets/block-botAvatarSrcUrl-1737745528096.png", + botAvatarDarkSrcUrl: + "https://storage.googleapis.com/organization-image-assets/block-botAvatarDarkSrcUrl-1737745527450.png", + getHelpCallToActions: [ + { + name: "GitHub", + url: "https://github.com/block/goose", + icon: { + builtIn: "FaGithub", + }, + }, + ], + quickQuestions: ["What is Goose?"], + }, + }, } satisfies Preset.ThemeConfig, - }; export default config; diff --git a/documentation/src/components/HomepageFeatures/index.tsx b/documentation/src/components/HomepageFeatures/index.tsx index bf796e51..f44b7bc3 100644 --- a/documentation/src/components/HomepageFeatures/index.tsx +++ b/documentation/src/components/HomepageFeatures/index.tsx @@ -9,13 +9,21 @@ type FeatureItem = { description: ReactNode; }; +type FeatureQuote = { + name: string; + github: string; + role: string; + testimonial: string; +}; + const FeatureList: FeatureItem[] = [ { title: "Open Source", Svg: require("@site/static/img/lock-unlocked-fill.svg").default, description: ( <> - Built with transparency and collaboration in mind, Goose empowers developers to contribute, customize, and innovate freely. + Built with transparency and collaboration in mind, goose empowers + developers to contribute, customize, and innovate freely. ), }, @@ -24,7 +32,8 @@ const FeatureList: FeatureItem[] = [ Svg: require("@site/static/img/category-moving.svg").default, description: ( <> - Goose runs locally to execute tasks efficiently, keeping control in your hands. + Goose runs locally to execute tasks efficiently, keeping control in your + hands. ), }, @@ -33,7 +42,8 @@ const FeatureList: FeatureItem[] = [ Svg: require("@site/static/img/category-ETF.svg").default, description: ( <> - Customize Goose with your preferred LLM and enhance its capabilities by connecting it to any external MCP server or API. + Customize goose with your preferred LLM and enhance its capabilities by connecting it to any + external MCP server or API. ), }, @@ -42,12 +52,65 @@ const FeatureList: FeatureItem[] = [ Svg: require("@site/static/img/pay-in-four.svg").default, description: ( <> - Goose independently handles complex tasks, from debugging to deployment, freeing you to focus on what matters most. + Goose independently handles complex tasks, from debugging to deployment, + freeing you to focus on what matters most. ), }, ]; +const FeatureQuotes: FeatureQuote[] = [ + { + name: "Prem Prem Pillai", + github: "https://github.com/cloud-on-prem", + role: "Software Engineer", + testimonial: + "With Goose, I feel like I am Maverick. Thanks a ton for creating this. 🙏 I have been having way too much fun with it today.", + }, + { + name: "Jarrod Sibbison", + github: "https://github.com/jsibbison-square", + role: "Software Engineer", + testimonial: + "I wanted to construct some fake data for an API with a large request body and business rules I haven't memorized. So I told Goose which object to update and a test to run that calls the vendor. Got it to use the errors descriptions from the vendor response to keep correcting the request until it was successful. So good!", + }, + { + name: "Manik Surtani", + github: "https://github.com/maniksurtani", + role: "Head of Open Source", + testimonial: + "I asked Goose to write up a few Google Scripts that mimic Clockwise's functionality (particularly, creating blocks on my work calendar based on events in my personal calendar, as well as color-coding calendar entries based on type and importance). Took me under an hour. If you haven't tried Goose yet, I highly encourage you to do so!", + }, + { + name: "Andrey Bolduzev", + github: "https://github.com/andrey-bolduzev", + role: "Android Engineer", + testimonial: + "If anyone was looking for another reason to check it out: I just asked Goose to break a string-array into individual string resources across eleven localizations, and it performed amazingly well and saved me a bunch of time doing it manually or figuring out some way to semi-automate it.", + }, + { + name: "Kang Huang", + github: "https://github.com/kang-square", + role: "Software Engineer", + testimonial: + "Hi team, thank you for much for making Goose, it's so amazing. Our team is working on migrating Dashboard components to React components. I am working with Goose to help the migration.", + }, + { + name: "Jarrod Sibbison", + github: "https://github.com/jsibbison-square", + role: "Software Engineer", + testimonial: + "Got Goose to update a dependency, run tests, make a branch and a commit... it was 🤌. Not that complicated but I was impressed it figured out how to run tests from the README.", + }, + { + name: "Lily Delalande", + github: "https://github.com/lily-de", + role: "Software Engineer", + testimonial: + "Wanted to document what I had Goose do -- took about 30 minutes end to end! I created a custom CLI command in the gh CLI library to download in-line comments on PRs about code changes (currently they aren't directly viewable). I don't know Go that well and I definitely didn't know where to start looking in the code base or how to even test the new command was working and Goose did it all for me 😁", + }, +]; + function Feature({ title, Svg, description }: FeatureItem) { return (
@@ -62,14 +125,112 @@ function Feature({ title, Svg, description }: FeatureItem) { ); } +function Quote({ name, github, role, testimonial }: FeatureQuote) { + return ( +
+ {/* inline styles in the interest of time */} +
+

{testimonial}

+
+ {`${name}'s +
+
{name}
+ {role} +
+
+
+
+ ); +} + export default function HomepageFeatures(): ReactNode { return (
+
+ + + +
+ {FeatureList.map((props, idx) => ( ))} + +
+ +
+ + {/* inline styles in the interest of time */} +
+

+ Loved by engineers +

+
+ {FeatureQuotes.map((props, idx) => ( + + ))} +
+
diff --git a/documentation/src/components/HomepageFeatures/styles.module.css b/documentation/src/components/HomepageFeatures/styles.module.css index 8e0c123f..3811e856 100644 --- a/documentation/src/components/HomepageFeatures/styles.module.css +++ b/documentation/src/components/HomepageFeatures/styles.module.css @@ -14,3 +14,23 @@ height: 32px; width: 32px; } + +.videoContainer { + width: 100%; + overflow: hidden; + margin-bottom: 100px; + position: relative; +} + +.video { + width: 100%; + height: auto; + display: block; + outline: none; +} + +.video + .video { + position: absolute; + top: 0; + left: 0; +} diff --git a/documentation/src/components/gooseWordmark.tsx b/documentation/src/components/gooseWordmark.tsx new file mode 100644 index 00000000..430ee9df --- /dev/null +++ b/documentation/src/components/gooseWordmark.tsx @@ -0,0 +1,68 @@ +export const GooseWordmark = (props: { className?: string }) => { + return ( + + + + + + + + + + + + + + + + + ); +}; diff --git a/documentation/src/components/icons/pay-in-four.svg b/documentation/src/components/icons/pay-in-four.svg new file mode 100644 index 00000000..d408ec2e --- /dev/null +++ b/documentation/src/components/icons/pay-in-four.svg @@ -0,0 +1,3 @@ + + + diff --git a/documentation/src/css/custom.css b/documentation/src/css/custom.css index 115a1758..5b3c0094 100644 --- a/documentation/src/css/custom.css +++ b/documentation/src/css/custom.css @@ -53,7 +53,7 @@ --constant-white: #ffffff; --constant-black: #000000; --green-for-lightbg: #0f6636; /* accessible on white bg */ - --green-for-darkbg: #25c2a0;; /* accessible on black bg */ + --green-for-darkbg: #25c2a0; /* accessible on black bg */ --grey-10: #101010; --grey-20: #1e1e1e; --grey-50: #666666; @@ -152,7 +152,7 @@ --text-inverse: var(--constant-black); --button-primary-background: var(--constant-white); - --ifm-link-color: var(--green-for-darkbg); + --ifm-link-color: var(--green-for-darkbg); } /* overrides */ @@ -203,18 +203,20 @@ html { .hero__subtitle { max-width: 600px; margin-bottom: 32px; + font-size: 28px; + line-height: 36px; } -.footer .container { - border-top: 2px solid var(--border-prominent); +.footer { + border-top: 2px solid var(--border-subtle); padding-top: 24px; } /* net new */ .hero--logo svg { - height: 100px; - width: 100px; + height: 220px; + width: 220px; } .pill-button { @@ -232,3 +234,11 @@ html { word-wrap: break-word; overflow-wrap: break-word; } + +html[data-theme="dark"] .hide-in-dark { + opacity: 0; +} + +html[data-theme="light"] .hide-in-light { + opacity: 0; +} diff --git a/documentation/src/pages/index.module.css b/documentation/src/pages/index.module.css index 9f71a5da..025f2064 100644 --- a/documentation/src/pages/index.module.css +++ b/documentation/src/pages/index.module.css @@ -8,6 +8,7 @@ text-align: center; position: relative; overflow: hidden; + padding-bottom: 0; } @media screen and (max-width: 996px) { diff --git a/documentation/src/pages/index.tsx b/documentation/src/pages/index.tsx index 23229b40..949409ab 100644 --- a/documentation/src/pages/index.tsx +++ b/documentation/src/pages/index.tsx @@ -8,7 +8,7 @@ import Heading from "@theme/Heading"; import styles from "./index.module.css"; import { IconDownload } from "../components/icons/download"; -import Goose from "../components/icons/goose"; +import { GooseWordmark } from "../components/gooseWordmark"; function HomepageHeader() { const { siteConfig } = useDocusaurusContext(); @@ -16,11 +16,8 @@ function HomepageHeader() {
- +
- - {siteConfig.title} -

{siteConfig.tagline}