mirror of
https://github.com/block/goose.git
synced 2026-04-28 03:29:36 +00:00
docs: rework homepage and add aaif migration blog post (#8356)
Some checks failed
Canary / Prepare Version (push) Waiting to run
Canary / build-cli (push) Blocked by required conditions
Canary / Upload Install Script (push) Blocked by required conditions
Canary / bundle-desktop (push) Blocked by required conditions
Canary / bundle-desktop-intel (push) Blocked by required conditions
Canary / bundle-desktop-linux (push) Blocked by required conditions
Canary / bundle-desktop-windows (push) Blocked by required conditions
Canary / Release (push) Blocked by required conditions
Unused Dependencies / machete (push) Waiting to run
CI / changes (push) Waiting to run
CI / Check Rust Code Format (push) Blocked by required conditions
CI / Build and Test Rust Project (push) Blocked by required conditions
CI / Build Rust Project on Windows (push) Waiting to run
CI / Lint Rust Code (push) Blocked by required conditions
CI / Check OpenAPI Schema is Up-to-Date (push) Blocked by required conditions
CI / Test and Lint Electron Desktop App (push) Blocked by required conditions
Live Provider Tests / check-fork (push) Waiting to run
Live Provider Tests / changes (push) Blocked by required conditions
Live Provider Tests / Build Binary (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (Code Execution) (push) Blocked by required conditions
Live Provider Tests / Compaction Tests (push) Blocked by required conditions
Live Provider Tests / goose server HTTP integration tests (push) Blocked by required conditions
Publish Docker Image / docker (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Cargo Deny / deny (push) Has been cancelled
Deploy Documentation / deploy (push) Has been cancelled
Publish Ask AI Bot Docker Image / docker (push) Has been cancelled
Publish to npm / Generate ACP Schema (push) Has been cancelled
Publish to npm / Build goose CLI (darwin-arm64) (push) Has been cancelled
Publish to npm / Build goose CLI (darwin-x64) (push) Has been cancelled
Publish to npm / Build goose CLI (linux-arm64) (push) Has been cancelled
Publish to npm / Build goose CLI (linux-x64) (push) Has been cancelled
Publish to npm / Release to npm (push) Has been cancelled
Some checks failed
Canary / Prepare Version (push) Waiting to run
Canary / build-cli (push) Blocked by required conditions
Canary / Upload Install Script (push) Blocked by required conditions
Canary / bundle-desktop (push) Blocked by required conditions
Canary / bundle-desktop-intel (push) Blocked by required conditions
Canary / bundle-desktop-linux (push) Blocked by required conditions
Canary / bundle-desktop-windows (push) Blocked by required conditions
Canary / Release (push) Blocked by required conditions
Unused Dependencies / machete (push) Waiting to run
CI / changes (push) Waiting to run
CI / Check Rust Code Format (push) Blocked by required conditions
CI / Build and Test Rust Project (push) Blocked by required conditions
CI / Build Rust Project on Windows (push) Waiting to run
CI / Lint Rust Code (push) Blocked by required conditions
CI / Check OpenAPI Schema is Up-to-Date (push) Blocked by required conditions
CI / Test and Lint Electron Desktop App (push) Blocked by required conditions
Live Provider Tests / check-fork (push) Waiting to run
Live Provider Tests / changes (push) Blocked by required conditions
Live Provider Tests / Build Binary (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (Code Execution) (push) Blocked by required conditions
Live Provider Tests / Compaction Tests (push) Blocked by required conditions
Live Provider Tests / goose server HTTP integration tests (push) Blocked by required conditions
Publish Docker Image / docker (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Cargo Deny / deny (push) Has been cancelled
Deploy Documentation / deploy (push) Has been cancelled
Publish Ask AI Bot Docker Image / docker (push) Has been cancelled
Publish to npm / Generate ACP Schema (push) Has been cancelled
Publish to npm / Build goose CLI (darwin-arm64) (push) Has been cancelled
Publish to npm / Build goose CLI (darwin-x64) (push) Has been cancelled
Publish to npm / Build goose CLI (linux-arm64) (push) Has been cancelled
Publish to npm / Build goose CLI (linux-x64) (push) Has been cancelled
Publish to npm / Release to npm (push) Has been cancelled
Signed-off-by: Michael Neale <michael.neale@gmail.com>
This commit is contained in:
parent
583acd4335
commit
7449a96664
15 changed files with 822 additions and 115 deletions
|
|
@ -31,7 +31,7 @@ For cases when it's a large pull request, or I don't understand what is going on
|
|||
E.g
|
||||
|
||||
```
|
||||
Hey Goose, this pull request https://github.com/block/goose/pull/1949, has a lot of changes. Can you summarize into a changelog for me?
|
||||
Hey Goose, this pull request https://github.com/aaif-goose/goose/pull/1949, has a lot of changes. Can you summarize into a changelog for me?
|
||||
```
|
||||
|
||||
## Knowledge Graph Memory: Context on Steroids
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ Wanna see it in action?
|
|||
|
||||
Download [goose](/docs/quickstart#install-goose), give an MCP server a UI facelift of your own, and see the magic for yourself. Boring text prompts will never hit the same again.
|
||||
|
||||
*Got questions?* Explore our [docs](/docs/category/guides), browse the [blog](/blog), or join the conversation in our [Discord](https://discord.gg/goose-oss) and [GitHub Discussions](https://github.com/block/goose/discussions). We’d love to have you.
|
||||
*Got questions?* Explore our [docs](/docs/category/guides), browse the [blog](/blog), or join the conversation in our [Discord](https://discord.gg/goose-oss) and [GitHub Discussions](https://github.com/aaif-goose/goose/discussions). We’d love to have you.
|
||||
|
||||
|
||||
<head>
|
||||
|
|
|
|||
38
documentation/blog/2026-04-07-goose-moves-to-aaif/index.md
Normal file
38
documentation/blog/2026-04-07-goose-moves-to-aaif/index.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
title: "goose repo and site migrating to aaif"
|
||||
description: "goose has moved to the Agentic AI Foundation (aaif) at the Linux Foundation"
|
||||
authors:
|
||||
- mic
|
||||
---
|
||||
|
||||
goose has moved! The project now lives under the [Agentic AI Foundation (AAIF)](https://aaif.io/) at the Linux Foundation.
|
||||
|
||||
There is also a new docs site [https://goose-docs.ai/](https://goose-docs.ai/) with a nice .ai TLD!
|
||||
|
||||
<!-- truncate -->
|
||||
|
||||
## What's changed
|
||||
|
||||
The GitHub repository and related projects have moved from `block/goose` to a new org:
|
||||
|
||||
**[https://github.com/aaif-goose/goose](https://github.com/aaif-goose/goose)**
|
||||
|
||||
This includes related repositories in the [aaif-goose](https://github.com/aaif-goose) organization.
|
||||
|
||||
Everything else — the project, the community, the mission — remains the same. goose is still open source, still actively developed, and still the same agent you know.
|
||||
|
||||
## Migration in progress
|
||||
|
||||
We're still working through some migration issues (broken links, redirects, CI, etc). If you hit anything that seems off, please reach out on [Discord](https://discord.gg/goose-oss) and let us know.
|
||||
|
||||
## Update your remotes
|
||||
|
||||
If you have a local clone, update your git remote:
|
||||
|
||||
```bash
|
||||
git remote set-url origin git@github.com:aaif-goose/goose.git
|
||||
```
|
||||
|
||||
## Learn more
|
||||
|
||||
Visit [aaif.io](https://aaif.io/) to learn more about the foundation and its mission.
|
||||
|
|
@ -44,7 +44,7 @@ import styles from '@site/src/components/Card/styles.module.css';
|
|||
<Card
|
||||
title="GitHub Issues"
|
||||
description="Browse existing issues, contribute to discussions, or create new bug reports and feature requests on our GitHub repository."
|
||||
link="https://github.com/block/goose/issues"
|
||||
link="https://github.com/aaif-goose/goose/issues"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
34
documentation/package-lock.json
generated
34
documentation/package-lock.json
generated
|
|
@ -250,6 +250,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.42.0.tgz",
|
||||
"integrity": "sha512-NZR7yyHj2WzK6D5X8gn+/KOxPdzYEXOqVdSaK/biU8QfYUpUuEA0sCWg/XlO05tPVEcJelF/oLrrNY3UjRbOww==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@algolia/client-common": "5.42.0",
|
||||
"@algolia/requester-browser-xhr": "5.42.0",
|
||||
|
|
@ -387,6 +388,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
|
||||
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.27.1",
|
||||
"@babel/generator": "^7.28.5",
|
||||
|
|
@ -2176,6 +2178,7 @@
|
|||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
|
|
@ -2198,6 +2201,7 @@
|
|||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
|
|
@ -2307,6 +2311,7 @@
|
|||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
|
||||
"integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
|
|
@ -2728,6 +2733,7 @@
|
|||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
|
||||
"integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
|
|
@ -3688,6 +3694,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz",
|
||||
"integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "3.9.2",
|
||||
"@docusaurus/logger": "3.9.2",
|
||||
|
|
@ -5032,6 +5039,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz",
|
||||
"integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/mdx": "^2.0.0"
|
||||
},
|
||||
|
|
@ -5366,6 +5374,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz",
|
||||
"integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.21.3",
|
||||
"@svgr/babel-preset": "8.1.0",
|
||||
|
|
@ -5728,6 +5737,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz",
|
||||
"integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"csstype": "^3.0.2"
|
||||
}
|
||||
|
|
@ -6078,6 +6088,7 @@
|
|||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
|
|
@ -6163,6 +6174,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
|
||||
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
|
|
@ -6208,6 +6220,7 @@
|
|||
"resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.42.0.tgz",
|
||||
"integrity": "sha512-X5+PtWc9EJIPafT/cj8ZG+6IU3cjRRnlHGtqMHK/9gsiupQbAyYlH5y7qt/FtsAhfX5AICHffZy69ZAsVrxWkQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@algolia/abtesting": "1.8.0",
|
||||
"@algolia/client-abtesting": "5.42.0",
|
||||
|
|
@ -6706,6 +6719,7 @@
|
|||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.8.19",
|
||||
"caniuse-lite": "^1.0.30001751",
|
||||
|
|
@ -7634,6 +7648,7 @@
|
|||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
|
||||
"integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
|
|
@ -7946,7 +7961,8 @@
|
|||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/debounce": {
|
||||
"version": "1.2.1",
|
||||
|
|
@ -9031,6 +9047,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
|
||||
"integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
|
|
@ -13681,6 +13698,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
|
||||
"integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
|
|
@ -14251,6 +14269,7 @@
|
|||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.11",
|
||||
"picocolors": "^1.1.1",
|
||||
|
|
@ -15263,6 +15282,7 @@
|
|||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
|
||||
"integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
|
|
@ -16080,6 +16100,7 @@
|
|||
"resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz",
|
||||
"integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
|
|
@ -16089,6 +16110,7 @@
|
|||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz",
|
||||
"integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"scheduler": "^0.27.0"
|
||||
},
|
||||
|
|
@ -16161,6 +16183,7 @@
|
|||
"resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz",
|
||||
"integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/react": "*"
|
||||
},
|
||||
|
|
@ -16216,6 +16239,7 @@
|
|||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz",
|
||||
"integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.13",
|
||||
"history": "^4.9.0",
|
||||
|
|
@ -18190,7 +18214,8 @@
|
|||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"license": "0BSD"
|
||||
"license": "0BSD",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/turndown": {
|
||||
"version": "7.2.2",
|
||||
|
|
@ -18262,6 +18287,7 @@
|
|||
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
|
|
@ -18603,6 +18629,7 @@
|
|||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
|
||||
"integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
|
|
@ -18810,6 +18837,7 @@
|
|||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.1.tgz",
|
||||
"integrity": "sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.7",
|
||||
"@types/estree": "^1.0.8",
|
||||
|
|
@ -19423,6 +19451,7 @@
|
|||
"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
|
||||
"devOptional": true,
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"yaml": "bin.mjs"
|
||||
},
|
||||
|
|
@ -19462,6 +19491,7 @@
|
|||
"resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz",
|
||||
"integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import Link from "@docusaurus/Link";
|
|||
import { IconDownload } from "@site/src/components/icons/download";
|
||||
import { useState, useEffect } from "react";
|
||||
|
||||
const FALLBACK_URL = "https://github.com/block/goose/releases/latest";
|
||||
const FALLBACK_URL = "https://github.com/aaif-goose/goose/releases/latest";
|
||||
|
||||
const LinuxDesktopInstallButtons = () => {
|
||||
const [downloadUrls, setDownloadUrls] = useState({
|
||||
|
|
@ -26,7 +26,7 @@ const LinuxDesktopInstallButtons = () => {
|
|||
}
|
||||
|
||||
// Fetch latest release from GitHub API
|
||||
const response = await fetch('https://api.github.com/repos/block/goose/releases/latest');
|
||||
const response = await fetch('https://api.github.com/repos/aaif-goose/goose/releases/latest');
|
||||
if (!response.ok) throw new Error('API request failed');
|
||||
|
||||
const release = await response.json();
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ const DesktopInstallButtons = () => {
|
|||
<div className="pill-button" style={{ display: 'flex', gap: '0.5rem', flexWrap: 'wrap' }}>
|
||||
<Link
|
||||
className="button button--primary button--lg"
|
||||
to="https://github.com/block/goose/releases/download/stable/Goose.zip"
|
||||
to="https://github.com/aaif-goose/goose/releases/download/stable/Goose.zip"
|
||||
>
|
||||
<IconDownload /> macOS Silicon
|
||||
</Link>
|
||||
<Link
|
||||
className="button button--primary button--lg"
|
||||
to="https://github.com/block/goose/releases/download/stable/Goose_intel_mac.zip"
|
||||
to="https://github.com/aaif-goose/goose/releases/download/stable/Goose_intel_mac.zip"
|
||||
>
|
||||
<IconDownload /> macOS Intel
|
||||
</Link>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ const SupportedEnvironments = () => {
|
|||
The goose CLI currently works on <strong>macOS</strong> and <strong>Linux</strong> systems and supports both <strong>ARM</strong> and <strong>x86</strong> architectures.
|
||||
On <strong>Windows</strong>, goose CLI can run via WSL, and goose Desktop is natively supported. If you'd like to request support for additional operating systems, please{" "}
|
||||
<a
|
||||
href="https://github.com/block/goose/discussions/867"
|
||||
href="https://github.com/aaif-goose/goose/discussions/867"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ const WindowsDesktopInstallButtons = () => {
|
|||
<div className="pill-button">
|
||||
<Link
|
||||
className="button button--primary button--lg"
|
||||
to="https://github.com/block/goose/releases/download/stable/Goose-win32-x64.zip"
|
||||
to="https://github.com/aaif-goose/goose/releases/download/stable/Goose-win32-x64.zip"
|
||||
>
|
||||
<IconDownload /> Windows
|
||||
</Link>
|
||||
|
|
|
|||
|
|
@ -1,98 +1,411 @@
|
|||
/**
|
||||
* CSS files with the .module.css suffix will be treated as CSS modules
|
||||
* and scoped locally.
|
||||
*/
|
||||
* Homepage styles
|
||||
*/
|
||||
|
||||
.header {
|
||||
padding: 4rem 2rem;
|
||||
}
|
||||
|
||||
|
||||
.wrapper {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 3rem;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
.textColumn {
|
||||
flex: 1 1 300px;
|
||||
max-width: 500px;
|
||||
/* Hero */
|
||||
.hero {
|
||||
padding: 5rem 2rem 3rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.heroInner {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: -40px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
.heroBadge {
|
||||
display: inline-block;
|
||||
padding: 0.35rem 1rem;
|
||||
border-radius: 999px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
font-size: 0.8rem;
|
||||
color: var(--text-subtle);
|
||||
margin-bottom: 2rem;
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.heroLogo {
|
||||
max-width: 300px;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.heroSubtitle {
|
||||
font-size: 1.35rem;
|
||||
line-height: 1.6;
|
||||
color: var(--text-standard);
|
||||
max-width: 600px;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.heroActions {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.secondaryButton {
|
||||
border-color: var(--border-standard);
|
||||
color: var(--text-standard);
|
||||
}
|
||||
|
||||
.heroStats {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.stat {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
.statNumber {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
color: var(--text-prominent);
|
||||
}
|
||||
|
||||
.statLabel {
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-subtle);
|
||||
}
|
||||
|
||||
.statDivider {
|
||||
width: 1px;
|
||||
height: 2.5rem;
|
||||
background: var(--border-subtle);
|
||||
}
|
||||
|
||||
/* Sections */
|
||||
.section {
|
||||
padding: 4rem 2rem;
|
||||
}
|
||||
|
||||
.sectionAlt {
|
||||
background: var(--background-subtle);
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.sectionTitle {
|
||||
font-size: 1.75rem;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
margin-bottom: 0.75rem;
|
||||
color: var(--text-prominent);
|
||||
}
|
||||
|
||||
.sectionSubtitle {
|
||||
text-align: center;
|
||||
max-width: 700px;
|
||||
margin: 0 auto 2.5rem;
|
||||
color: var(--text-subtle);
|
||||
font-size: 1.05rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
/* Features — top row (3 big cards) */
|
||||
.featuresGridTop {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.featureCard {
|
||||
padding: 1.75rem;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
background: var(--background-app);
|
||||
transition: border-color 0.2s ease;
|
||||
}
|
||||
|
||||
.featureCard:hover {
|
||||
border-color: var(--border-standard);
|
||||
}
|
||||
|
||||
.featureIcon {
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.featureTitle {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.5rem;
|
||||
color: var(--text-prominent);
|
||||
}
|
||||
|
||||
.featureDescription {
|
||||
font-size: 0.9rem;
|
||||
color: var(--text-subtle);
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.featureDescription p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.featureDescription a {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* Features — bottom row (4 smaller cards) */
|
||||
.featuresGridBottom {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.smallCard {
|
||||
padding: 1.25rem;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
background: var(--background-app);
|
||||
transition: border-color 0.2s ease;
|
||||
}
|
||||
|
||||
.smallCard:hover {
|
||||
border-color: var(--border-standard);
|
||||
}
|
||||
|
||||
.smallCardIcon {
|
||||
font-size: 1.25rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.smallCardTitle {
|
||||
font-size: 0.95rem;
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.4rem;
|
||||
color: var(--text-prominent);
|
||||
}
|
||||
|
||||
.smallCardDescription {
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-subtle);
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.smallCardDescription p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.smallCardDescription a {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* Standards Grid */
|
||||
.standardsGrid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 2rem;
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.standardCard {
|
||||
padding: 1.5rem;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
background: var(--background-app);
|
||||
}
|
||||
|
||||
.standardCard h3 {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.75rem;
|
||||
color: var(--text-prominent);
|
||||
}
|
||||
|
||||
.standardCard p {
|
||||
font-size: 0.9rem;
|
||||
color: var(--text-subtle);
|
||||
line-height: 1.6;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.standardCard a {
|
||||
font-size: 0.9rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* Community Grid */
|
||||
.communityGrid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.communityCard {
|
||||
padding: 1.5rem;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-subtle);
|
||||
background: var(--background-app);
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
transition: border-color 0.2s ease, transform 0.2s ease;
|
||||
}
|
||||
|
||||
.communityCard:hover {
|
||||
border-color: var(--border-standard);
|
||||
transform: translateY(-2px);
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.communityCard h3 {
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.5rem;
|
||||
color: var(--text-prominent);
|
||||
}
|
||||
|
||||
.communityCard p {
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-subtle);
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Install */
|
||||
.installBlock {
|
||||
max-width: 700px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.installDesktop {
|
||||
text-align: center;
|
||||
margin-bottom: 1.5rem;
|
||||
max-width: 30ch;
|
||||
}
|
||||
|
||||
.videoColumn {
|
||||
flex: 1 1 400px;
|
||||
.installPlatforms {
|
||||
margin-top: 0.75rem;
|
||||
font-size: 0.9rem;
|
||||
color: var(--text-subtle);
|
||||
}
|
||||
|
||||
.installDivider {
|
||||
text-align: center;
|
||||
margin-bottom: 1.5rem;
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-subtle);
|
||||
}
|
||||
|
||||
.installTerminal {
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--border-subtle);
|
||||
background: var(--grey-10);
|
||||
}
|
||||
|
||||
.terminalBar {
|
||||
display: flex;
|
||||
gap: 6px;
|
||||
padding: 12px 16px;
|
||||
background: var(--grey-20);
|
||||
}
|
||||
|
||||
.terminalDot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
background: var(--grey-50);
|
||||
}
|
||||
|
||||
.terminalBody {
|
||||
padding: 1.25rem 1.5rem;
|
||||
margin: 0;
|
||||
font-size: 0.85rem;
|
||||
line-height: 1.7;
|
||||
color: #e0e0e0;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.installNote {
|
||||
text-align: center;
|
||||
margin-top: 1.25rem;
|
||||
font-size: 0.9rem;
|
||||
color: var(--text-subtle);
|
||||
}
|
||||
|
||||
/* Video */
|
||||
.videoWrapper {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
aspect-ratio: 16 / 9;
|
||||
}
|
||||
|
||||
.video {
|
||||
width: 100%;
|
||||
max-width: 640px;
|
||||
height: 100%;
|
||||
border: none;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.aspect-ratio{
|
||||
aspect-ratio: 16 / 9;
|
||||
width: 100%;
|
||||
}
|
||||
/* Responsive */
|
||||
@media (max-width: 996px) {
|
||||
.featuresGridTop {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
|
||||
.featuresGridBottom {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 996px) {
|
||||
.heroBanner {
|
||||
padding: 2rem;
|
||||
.standardsGrid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
.communityGrid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.header {
|
||||
padding: 1rem 1rem;
|
||||
@media (max-width: 640px) {
|
||||
.hero {
|
||||
padding: 3rem 1.5rem 2rem;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
gap: 1rem;
|
||||
padding: 1rem 1rem;
|
||||
}
|
||||
|
||||
.textColumn {
|
||||
text-align: center;
|
||||
max-width: 100%;
|
||||
flex: 1 1 400px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
.heroSubtitle {
|
||||
font-size: 1.1rem;
|
||||
line-height: 1.5;
|
||||
margin: 0 auto 1.5rem;
|
||||
}
|
||||
|
||||
.ctaButton {
|
||||
font-size: 1rem;
|
||||
width: auto;
|
||||
.heroStats {
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.videoColumn {
|
||||
flex: 1 1 180px;
|
||||
aspect-ratio: 16 / 9;
|
||||
width: 100%;
|
||||
.statDivider {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.featuresGridTop {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.featuresGridBottom {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.standardsGrid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.communityGrid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.section {
|
||||
padding: 3rem 1.5rem;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,47 +2,363 @@ import type { ReactNode } from "react";
|
|||
import Link from "@docusaurus/Link";
|
||||
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
|
||||
import Layout from "@theme/Layout";
|
||||
import HomepageFeatures from "@site/src/components/HomepageFeatures";
|
||||
|
||||
import styles from "./index.module.css";
|
||||
import { GooseLogo } from "../components/GooseLogo";
|
||||
|
||||
function HomepageHeader() {
|
||||
const { siteConfig } = useDocusaurusContext();
|
||||
function HeroSection() {
|
||||
return (
|
||||
<header className={styles.header}>
|
||||
<div className={styles.wrapper}>
|
||||
<div className={styles.textColumn}>
|
||||
<div className="hero--logo">
|
||||
<GooseLogo />
|
||||
</div>
|
||||
<p className={styles.subtitle}>{siteConfig.tagline}</p>
|
||||
<Link className="button button--primary button--lg" to="docs/getting-started/installation">
|
||||
install goose
|
||||
<header className={styles.hero}>
|
||||
<div className={styles.heroInner}>
|
||||
<div className={styles.heroBadge}>
|
||||
Open Source · Apache 2.0 · Linux Foundation
|
||||
</div>
|
||||
<div className={styles.heroLogo}>
|
||||
<GooseLogo />
|
||||
</div>
|
||||
<p className={styles.heroSubtitle}>
|
||||
Your native open source AI agent. Desktop app, CLI, and API — for code,
|
||||
workflows, and everything in between.
|
||||
</p>
|
||||
<div className={styles.heroActions}>
|
||||
<Link
|
||||
className="button button--primary button--lg"
|
||||
to="docs/getting-started/installation"
|
||||
>
|
||||
Install goose
|
||||
</Link>
|
||||
<Link
|
||||
className={`button button--outline button--lg ${styles.secondaryButton}`}
|
||||
to="docs/quickstart"
|
||||
>
|
||||
Quickstart
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
<div className={styles.videoColumn}>
|
||||
<iframe
|
||||
src="https://www.youtube.com/embed/D-DpDunrbpo"
|
||||
className="aspect-ratio"
|
||||
title="vibe coding with goose"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
<div className={styles.heroStats}>
|
||||
<div className={styles.stat}>
|
||||
<span className={styles.statNumber}>38k+</span>
|
||||
<span className={styles.statLabel}>GitHub stars</span>
|
||||
</div>
|
||||
<div className={styles.statDivider} />
|
||||
<div className={styles.stat}>
|
||||
<span className={styles.statNumber}>400+</span>
|
||||
<span className={styles.statLabel}>Contributors</span>
|
||||
</div>
|
||||
<div className={styles.statDivider} />
|
||||
<div className={styles.stat}>
|
||||
<span className={styles.statNumber}>70+</span>
|
||||
<span className={styles.statLabel}>MCP extensions</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
|
||||
type FeatureCardProps = {
|
||||
title: string;
|
||||
description: ReactNode;
|
||||
icon: string;
|
||||
};
|
||||
|
||||
function FeatureCard({ title, description, icon }: FeatureCardProps) {
|
||||
return (
|
||||
<div className={styles.featureCard}>
|
||||
<div className={styles.featureIcon}>{icon}</div>
|
||||
<h3 className={styles.featureTitle}>{title}</h3>
|
||||
<div className={styles.featureDescription}>{description}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
type SmallCardProps = {
|
||||
title: string;
|
||||
description: ReactNode;
|
||||
icon: string;
|
||||
};
|
||||
|
||||
function SmallCard({ title, description, icon }: SmallCardProps) {
|
||||
return (
|
||||
<div className={styles.smallCard}>
|
||||
<div className={styles.smallCardIcon}>{icon}</div>
|
||||
<h3 className={styles.smallCardTitle}>{title}</h3>
|
||||
<div className={styles.smallCardDescription}>{description}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function FeaturesSection() {
|
||||
return (
|
||||
<section className={styles.section}>
|
||||
<div className={styles.container}>
|
||||
<h2 className={styles.sectionTitle}>What goose does</h2>
|
||||
<p className={styles.sectionSubtitle}>
|
||||
goose is a general-purpose AI agent that runs on your machine. Not
|
||||
just for code — use it for research, writing, automation, data
|
||||
analysis, or anything you need to get done.
|
||||
</p>
|
||||
<div className={styles.featuresGridTop}>
|
||||
<FeatureCard
|
||||
icon="🖥️"
|
||||
title="Desktop app, CLI, and API"
|
||||
description={
|
||||
<p>
|
||||
A native desktop app for macOS, Linux, and Windows. A full CLI
|
||||
for terminal workflows. An API to embed it anywhere. Built
|
||||
in Rust for performance and portability.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
<FeatureCard
|
||||
icon="🔌"
|
||||
title="Extensible"
|
||||
description={
|
||||
<p>
|
||||
Connect to 70+ extensions — databases, APIs, browsers, GitHub,
|
||||
Google Drive, and more — via the{" "}
|
||||
<a href="https://modelcontextprotocol.io/" target="_blank" rel="noopener">
|
||||
Model Context Protocol
|
||||
</a>{" "}
|
||||
open standard. Add community{" "}
|
||||
<Link to="/skills">skills</Link>, or{" "}
|
||||
<Link to="/docs/tutorials/custom-extensions">build your own</Link>.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
<FeatureCard
|
||||
icon="🤖"
|
||||
title="Any LLM, including your subscriptions"
|
||||
description={
|
||||
<p>
|
||||
Works with 15+ providers — Anthropic, OpenAI, Google, Ollama,
|
||||
OpenRouter, Azure, Bedrock, and more. Use API keys or your
|
||||
existing Claude, ChatGPT, or Gemini subscriptions via{" "}
|
||||
<Link to="/docs/guides/acp-providers">ACP</Link>.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
<div className={styles.featuresGridBottom}>
|
||||
<SmallCard
|
||||
icon="📋"
|
||||
title="Recipes"
|
||||
description={
|
||||
<p>
|
||||
Capture workflows as portable YAML configs. Share with your
|
||||
team, run in CI, include instructions, extensions, parameters,
|
||||
and{" "}
|
||||
<Link to="/docs/guides/recipes/session-recipes">subrecipes</Link>.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
<SmallCard
|
||||
icon="🧩"
|
||||
title="MCP Apps"
|
||||
description={
|
||||
<p>
|
||||
Extensions can render interactive UIs directly inside goose
|
||||
Desktop — buttons, forms, visualizations. A new way to build{" "}
|
||||
<Link to="/docs/tutorials/building-mcp-apps">
|
||||
agent-powered tools
|
||||
</Link>.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
<SmallCard
|
||||
icon="🔀"
|
||||
title="Subagents"
|
||||
description={
|
||||
<p>
|
||||
Spawn independent{" "}
|
||||
<Link to="/docs/guides/subagents">subagents</Link> to handle
|
||||
tasks in parallel — code review, research, file processing —
|
||||
keeping the main conversation clean.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
<SmallCard
|
||||
icon="🔒"
|
||||
title="Security"
|
||||
description={
|
||||
<p>
|
||||
Prompt injection detection, tool permission controls, sandbox
|
||||
mode, and an{" "}
|
||||
<Link to="/docs/guides/security/adversary-mode">
|
||||
adversary reviewer
|
||||
</Link>{" "}
|
||||
that watches for unsafe actions.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
function StandardsSection() {
|
||||
return (
|
||||
<section className={`${styles.section} ${styles.sectionAlt}`}>
|
||||
<div className={styles.container}>
|
||||
<h2 className={styles.sectionTitle}>Built on open standards</h2>
|
||||
<div className={styles.standardsGrid}>
|
||||
<div className={styles.standardCard}>
|
||||
<h3>Model Context Protocol</h3>
|
||||
<p>
|
||||
<a href="https://modelcontextprotocol.io/" target="_blank" rel="noopener">MCP</a>{" "}
|
||||
is the open standard for connecting AI agents to tools and data
|
||||
sources. goose was one of the earliest adopters and has one of the
|
||||
deepest integrations in the ecosystem — with 70+ documented
|
||||
extensions and growing.
|
||||
</p>
|
||||
<Link to="/docs/category/mcp-servers">Browse MCP extensions →</Link>
|
||||
</div>
|
||||
<div className={styles.standardCard}>
|
||||
<h3>Agent Client Protocol</h3>
|
||||
<p>
|
||||
<a href="https://agentclientprotocol.com/" target="_blank" rel="noopener">ACP</a>{" "}
|
||||
is a standard for communicating with coding agents. goose works as
|
||||
an ACP server — connect from Zed, JetBrains, or VS Code — and can
|
||||
use ACP agents like Claude Code and Codex as providers.
|
||||
</p>
|
||||
<Link to="/docs/guides/acp-clients">goose as ACP server →</Link>
|
||||
</div>
|
||||
<div className={styles.standardCard}>
|
||||
<h3>Agentic AI Foundation</h3>
|
||||
<p>
|
||||
goose is part of the{" "}
|
||||
<a href="https://aaif.io/" target="_blank" rel="noopener">
|
||||
Agentic AI Foundation
|
||||
</a>{" "}
|
||||
at the Linux Foundation — ensuring the project remains
|
||||
vendor-neutral, community-governed, and open for the long term.
|
||||
</p>
|
||||
<a href="https://aaif.io/" target="_blank" rel="noopener">
|
||||
Learn about AAIF →
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
function CommunitySection() {
|
||||
return (
|
||||
<section className={styles.section}>
|
||||
<div className={styles.container}>
|
||||
<h2 className={styles.sectionTitle}>Community</h2>
|
||||
<p className={styles.sectionSubtitle}>
|
||||
An active community of developers, contributors, and users building
|
||||
extensions, sharing recipes, and pushing the boundaries of what local
|
||||
AI agents can do.
|
||||
</p>
|
||||
<div className={styles.communityGrid}>
|
||||
<a
|
||||
href="https://discord.gg/goose-oss"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
className={styles.communityCard}
|
||||
>
|
||||
<h3>💬 Discord</h3>
|
||||
<p>
|
||||
Ask questions, share what you've built, get help from the
|
||||
community.
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/aaif-goose/goose"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
className={styles.communityCard}
|
||||
>
|
||||
<h3>🐙 GitHub</h3>
|
||||
<p>
|
||||
Star, fork, file issues, contribute code. goose is built in the
|
||||
open.
|
||||
</p>
|
||||
</a>
|
||||
<Link to="/extensions" className={styles.communityCard}>
|
||||
<h3>🧩 Extensions</h3>
|
||||
<p>Browse community-built MCP extensions and add your own.</p>
|
||||
</Link>
|
||||
<Link to="/blog" className={styles.communityCard}>
|
||||
<h3>📝 Blog</h3>
|
||||
<p>Tutorials, deep dives, release notes, and community spotlights.</p>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
function InstallSection() {
|
||||
return (
|
||||
<section className={`${styles.section} ${styles.sectionAlt}`}>
|
||||
<div className={styles.container}>
|
||||
<h2 className={styles.sectionTitle}>Get started</h2>
|
||||
<div className={styles.installBlock}>
|
||||
<div className={styles.installDesktop}>
|
||||
<Link
|
||||
className="button button--primary button--lg"
|
||||
to="docs/getting-started/installation"
|
||||
>
|
||||
Download the desktop app
|
||||
</Link>
|
||||
<p className={styles.installPlatforms}>
|
||||
Available for macOS, Linux, and Windows
|
||||
</p>
|
||||
</div>
|
||||
<div className={styles.installDivider}>
|
||||
<span>or install the CLI</span>
|
||||
</div>
|
||||
<div className={styles.installTerminal}>
|
||||
<div className={styles.terminalBar}>
|
||||
<span className={styles.terminalDot} />
|
||||
<span className={styles.terminalDot} />
|
||||
<span className={styles.terminalDot} />
|
||||
</div>
|
||||
<pre className={styles.terminalBody}>
|
||||
<code>
|
||||
{`curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash`}
|
||||
</code>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
function VideoSection() {
|
||||
return (
|
||||
<section className={styles.section}>
|
||||
<div className={styles.container}>
|
||||
<h2 className={styles.sectionTitle}>See goose in action</h2>
|
||||
<div className={styles.videoWrapper}>
|
||||
<iframe
|
||||
src="https://www.youtube.com/embed/D-DpDunrbpo"
|
||||
className={styles.video}
|
||||
title="vibe coding with goose"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
export default function Home(): ReactNode {
|
||||
return (
|
||||
<Layout description="your open source AI agent, automating engineering tasks seamlessly">
|
||||
<HomepageHeader />
|
||||
<Layout description="Your native open source AI agent. Desktop app, CLI, and API — for code, workflows, and everything in between.">
|
||||
<HeroSection />
|
||||
<main>
|
||||
<HomepageFeatures />
|
||||
<FeaturesSection />
|
||||
<StandardsSection />
|
||||
<CommunitySection />
|
||||
<InstallSection />
|
||||
<VideoSection />
|
||||
</main>
|
||||
</Layout>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -393,7 +393,7 @@ function PageActionsMenu(): ReactNode {
|
|||
|
||||
const handleViewMarkdown = () => {
|
||||
const source = metadata?.source?.replace('@site/', '') || '';
|
||||
window.open(`https://raw.githubusercontent.com/block/goose/refs/heads/main/documentation/${source}`, '_blank');
|
||||
window.open(`https://raw.githubusercontent.com/aaif-goose/goose/refs/heads/main/documentation/${source}`, '_blank');
|
||||
setDropdownOpen(false);
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue