diff --git a/.github/DISCUSSION_TEMPLATE/qa.yml b/.github/DISCUSSION_TEMPLATE/qa.yml index 9bbd676a..c7c314e1 100644 --- a/.github/DISCUSSION_TEMPLATE/qa.yml +++ b/.github/DISCUSSION_TEMPLATE/qa.yml @@ -6,7 +6,7 @@ body: attributes: value: | πŸ’‘ Before posting, please attach your **diagnostics zip** β€” it helps the Goose team debug faster and saves everyone time. - [How to capture and share diagnostics](https://block.github.io/goose/docs/troubleshooting/diagnostics-and-reporting/) + [How to capture and share diagnostics](https://goose-docs.ai/docs/troubleshooting/diagnostics-and-reporting/) - type: textarea id: problem attributes: diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index e2d4d93e..6f464634 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -9,10 +9,10 @@ assignees: '' **Describe the bug** πŸ’‘ Before filing, please check common issues: -https://block.github.io/goose/docs/troubleshooting +https://goose-docs.ai/docs/troubleshooting πŸ“¦ To help us debug faster, attach your **diagnostics zip** if possible. -πŸ‘‰ How to capture it: https://block.github.io/goose/docs/troubleshooting/diagnostics-and-reporting/ +πŸ‘‰ How to capture it: https://goose-docs.ai/docs/troubleshooting/diagnostics-and-reporting/ A clear and concise description of what the bug is. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 4b6341ce..5c2d2a45 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -4,5 +4,5 @@ contact_links: url: https://discord.gg/goose-oss about: Please ask and answer questions here. - name: Report a security vulnerability - url: https://github.com/block/goose/security/policy + url: https://github.com/aaif-goose/goose/security/policy about: Please report security vulnerabilities here. diff --git a/.github/ISSUE_TEMPLATE/submit-recipe.yml b/.github/ISSUE_TEMPLATE/submit-recipe.yml index b2af2ae9..4c632582 100644 --- a/.github/ISSUE_TEMPLATE/submit-recipe.yml +++ b/.github/ISSUE_TEMPLATE/submit-recipe.yml @@ -15,7 +15,7 @@ body: - Paste it into the field and submit the issue β€” we'll review and add it to the cookbook! πŸͺ„ **What Happens After?** - - If accepted, we'll publish your recipe to the [goose recipes cookbook](https://block.github.io/goose/recipes) + - If accepted, we'll publish your recipe to the [goose recipes cookbook](https://goose-docs.ai/recipes) - Your GitHub handle will be displayed and linked on the recipe card - If the YAML has any issues, goose will comment with validation errors so you can fix and resubmit. diff --git a/.github/workflows/cargo-deny.yml b/.github/workflows/cargo-deny.yml index b7b4a7fd..c2215b08 100644 --- a/.github/workflows/cargo-deny.yml +++ b/.github/workflows/cargo-deny.yml @@ -18,7 +18,7 @@ on: jobs: deny: runs-on: ubuntu-latest - if: github.repository == 'block/goose' + if: github.repository == 'aaif-goose/goose' permissions: contents: read steps: diff --git a/.github/workflows/cargo-machete.yml b/.github/workflows/cargo-machete.yml index 17601cc5..e5e7e043 100644 --- a/.github/workflows/cargo-machete.yml +++ b/.github/workflows/cargo-machete.yml @@ -16,7 +16,7 @@ on: jobs: machete: runs-on: ubuntu-latest - if: github.repository == 'block/goose' + if: github.repository == 'aaif-goose/goose' permissions: contents: read steps: diff --git a/.github/workflows/code-review.yml b/.github/workflows/code-review.yml index 9154827c..66e2d71c 100644 --- a/.github/workflows/code-review.yml +++ b/.github/workflows/code-review.yml @@ -77,7 +77,7 @@ jobs: timeout-minutes: 15 container: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest options: --user root env: HOME: /tmp/goose-home diff --git a/.github/workflows/docs-update-cli-ref.yml b/.github/workflows/docs-update-cli-ref.yml index 23ca92b9..37600bfe 100644 --- a/.github/workflows/docs-update-cli-ref.yml +++ b/.github/workflows/docs-update-cli-ref.yml @@ -49,10 +49,10 @@ jobs: fetch-tags: true # Fetch all tags so we can checkout version tags - name: Fetch upstream tags (for forks) - if: github.repository != 'block/goose' + if: github.repository != 'aaif-goose/goose' run: | # Add upstream remote and fetch tags (only needed when testing in forks) - git remote add upstream https://github.com/block/goose.git || git remote set-url upstream https://github.com/block/goose.git + git remote add upstream https://github.com/aaif-goose/goose.git || git remote set-url upstream https://github.com/aaif-goose/goose.git git fetch upstream --tags --force echo "βœ… Fetched tags from upstream (fork mode)" echo "Total tags available: $(git tag | wc -l)" @@ -80,7 +80,7 @@ jobs: - name: Install goose CLI run: | mkdir -p /home/runner/.local/bin - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh \ + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh \ | CONFIGURE=false GOOSE_BIN_DIR=/home/runner/.local/bin bash echo "/home/runner/.local/bin" >> $GITHUB_PATH goose --version diff --git a/.github/workflows/docs-update-recipe-ref.yml b/.github/workflows/docs-update-recipe-ref.yml index bd671ceb..5f5926a8 100644 --- a/.github/workflows/docs-update-recipe-ref.yml +++ b/.github/workflows/docs-update-recipe-ref.yml @@ -47,10 +47,10 @@ jobs: fetch-tags: true # Fetch all tags so we can checkout version tags - name: Fetch upstream tags (for forks) - if: github.repository != 'block/goose' + if: github.repository != 'aaif-goose/goose' run: | # Add upstream remote and fetch tags (only needed when testing in forks) - git remote add upstream https://github.com/block/goose.git || git remote set-url upstream https://github.com/block/goose.git + git remote add upstream https://github.com/aaif-goose/goose.git || git remote set-url upstream https://github.com/aaif-goose/goose.git git fetch upstream --tags --force echo "βœ… Fetched tags from upstream (fork mode)" echo "Total tags available: $(git tag | wc -l)" @@ -68,7 +68,7 @@ jobs: - name: Install goose CLI run: | mkdir -p /home/runner/.local/bin - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh \ + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh \ | CONFIGURE=false GOOSE_BIN_DIR=/home/runner/.local/bin bash echo "/home/runner/.local/bin" >> $GITHUB_PATH goose --version diff --git a/.github/workflows/goose-issue-solver.yml b/.github/workflows/goose-issue-solver.yml index 8c36fdee..d3fc40dc 100644 --- a/.github/workflows/goose-issue-solver.yml +++ b/.github/workflows/goose-issue-solver.yml @@ -131,7 +131,7 @@ jobs: timeout-minutes: 30 container: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest options: --user root env: GOOSE_PROVIDER: ${{ vars.GOOSE_PROVIDER || 'anthropic' }} diff --git a/.github/workflows/goose-pr-reviewer.yml b/.github/workflows/goose-pr-reviewer.yml index fc5b7aba..a6fcb799 100644 --- a/.github/workflows/goose-pr-reviewer.yml +++ b/.github/workflows/goose-pr-reviewer.yml @@ -223,7 +223,7 @@ jobs: timeout-minutes: 15 container: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest options: --user root env: GOOSE_PROVIDER: ${{ vars.GOOSE_PROVIDER || 'anthropic' }} diff --git a/.github/workflows/goose-release-notes.yml b/.github/workflows/goose-release-notes.yml index 4efc16da..4a2d70b0 100644 --- a/.github/workflows/goose-release-notes.yml +++ b/.github/workflows/goose-release-notes.yml @@ -51,7 +51,7 @@ env: - πŸ“š **Documentation** - Documentation updates Format each item as: - - Concise description [#XXXX](https://github.com/block/goose/pull/XXXX) + - Concise description [#XXXX](https://github.com/aaif-goose/goose/pull/XXXX) Rules: - Extract PR numbers from commit messages (look for (#XXXX) pattern) @@ -85,7 +85,7 @@ jobs: github.event.workflow_run.head_branch != 'stable') container: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest options: --user root env: GOOSE_PROVIDER: ${{ vars.GOOSE_PROVIDER || 'anthropic' }} @@ -190,7 +190,7 @@ jobs: DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_RELEASE_BOT_TOKEN }} DISCORD_CHANNEL_ID: ${{ secrets.DISCORD_RELEASE_BOT_CHANNEL_ID }} RELEASE_TAG: ${{ needs.generate-release-notes.outputs.release_tag }} - RELEASE_URL: https://github.com/block/goose/releases/tag/${{ needs.generate-release-notes.outputs.release_tag }} + RELEASE_URL: https://github.com/aaif-goose/goose/releases/tag/${{ needs.generate-release-notes.outputs.release_tag }} RELEASE_NOTES: ${{ needs.generate-release-notes.outputs.release_notes }} NOTES_LENGTH: ${{ needs.generate-release-notes.outputs.notes_length }} shell: bash diff --git a/.github/workflows/minor-release.yaml b/.github/workflows/minor-release.yaml index 106b41c2..539dc335 100644 --- a/.github/workflows/minor-release.yaml +++ b/.github/workflows/minor-release.yaml @@ -11,7 +11,7 @@ on: jobs: release: - if: github.repository == 'block/goose' + if: github.repository == 'aaif-goose/goose' uses: ./.github/workflows/create-version-bump-pr.yaml secrets: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} diff --git a/.github/workflows/pr-website-preview.yml b/.github/workflows/pr-website-preview.yml index 01886641..41cc5116 100644 --- a/.github/workflows/pr-website-preview.yml +++ b/.github/workflows/pr-website-preview.yml @@ -17,6 +17,9 @@ concurrency: jobs: deploy: runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write steps: - name: Checkout the branch uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 @@ -41,7 +44,7 @@ jobs: - name: Deploy preview uses: rossjrw/pr-preview-action@ffa7509e91a3ec8dfc2e5536c4d5c1acdf7a6de9 # v1.8.1 - if: ${{ github.event.pull_request.head.repo.full_name == 'block/goose' }} + if: ${{ github.event.pull_request.head.repo.full_name == 'aaif-goose/goose' }} with: source-dir: documentation/build diff --git a/.github/workflows/rebuild-skills-marketplace.yml b/.github/workflows/rebuild-skills-marketplace.yml index 1985a4a8..846196c6 100644 --- a/.github/workflows/rebuild-skills-marketplace.yml +++ b/.github/workflows/rebuild-skills-marketplace.yml @@ -23,7 +23,7 @@ concurrency: jobs: rebuild-docs: runs-on: ubuntu-latest - if: github.repository == 'block/goose' + if: github.repository == 'aaif-goose/goose' permissions: contents: write diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 4d5bd6c7..1238972d 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -22,7 +22,7 @@ jobs: name: Scorecard analysis runs-on: ubuntu-latest # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. - if: github.repository == 'block/goose' && (github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request') + if: github.repository == 'aaif-goose/goose' && (github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request') permissions: # Needed to upload the results to code-scanning dashboard. security-events: write diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 74a2f1d8..8a689ff1 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -24,7 +24,7 @@ jobs: stale: name: 'Mark and Close Stale PRs' runs-on: ubuntu-latest - if: github.repository == 'block/goose' + if: github.repository == 'aaif-goose/goose' steps: # Use the official stale action from GitHub diff --git a/.github/workflows/test-finder.yml b/.github/workflows/test-finder.yml index 356ce504..7a4d5d71 100644 --- a/.github/workflows/test-finder.yml +++ b/.github/workflows/test-finder.yml @@ -20,7 +20,7 @@ jobs: find-untested-code: runs-on: ubuntu-latest container: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest options: --user root env: GOOSE_PROVIDER: ${{ vars.GOOSE_PROVIDER || 'openai' }} diff --git a/.github/workflows/update-hacktoberfest-leaderboard.yml b/.github/workflows/update-hacktoberfest-leaderboard.yml index f984e9f8..3816f258 100644 --- a/.github/workflows/update-hacktoberfest-leaderboard.yml +++ b/.github/workflows/update-hacktoberfest-leaderboard.yml @@ -9,7 +9,7 @@ on: jobs: update-leaderboard: runs-on: ubuntu-latest - if: github.repository == 'block/goose' + if: github.repository == 'aaif-goose/goose' permissions: contents: read pull-requests: read @@ -29,7 +29,7 @@ jobs: // Track the Goose repo only const REPOS = [ - 'block/goose' + 'aaif-goose/goose' ]; const POINT_VALUES = { small: 5, medium: 10, large: 15 }; diff --git a/.github/workflows/update-health-dashboard.yml b/.github/workflows/update-health-dashboard.yml index 1504fe15..62de6237 100644 --- a/.github/workflows/update-health-dashboard.yml +++ b/.github/workflows/update-health-dashboard.yml @@ -23,7 +23,7 @@ jobs: update-dashboard: name: 'Update Health Dashboard' runs-on: ubuntu-latest - if: github.repository == 'block/goose' + if: github.repository == 'aaif-goose/goose' steps: - name: 'Download previous metrics' diff --git a/BUILDING_DOCKER.md b/BUILDING_DOCKER.md index ed61e4b5..a86bd566 100644 --- a/BUILDING_DOCKER.md +++ b/BUILDING_DOCKER.md @@ -10,17 +10,17 @@ The easiest way to use goose with Docker is to pull the pre-built image from Git ```bash # Pull the latest image -docker pull ghcr.io/block/goose:latest +docker pull ghcr.io/aaif-goose/goose:latest # Run goose CLI -docker run --rm ghcr.io/block/goose:latest --version +docker run --rm ghcr.io/aaif-goose/goose:latest --version # Run with LLM configuration docker run --rm \ -e GOOSE_PROVIDER=openai \ -e GOOSE_MODEL=gpt-4o \ -e OPENAI_API_KEY=$OPENAI_API_KEY \ - ghcr.io/block/goose:latest run -t "Hello, world!" + ghcr.io/aaif-goose/goose:latest run -t "Hello, world!" ``` ## Building from Source @@ -35,7 +35,7 @@ docker run --rm \ 1. Clone the repository: ```bash -git clone https://github.com/block/goose.git +git clone https://github.com/aaif-goose/goose.git cd goose ``` @@ -110,7 +110,7 @@ version: '3.8' services: goose: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest environment: - GOOSE_PROVIDER=${GOOSE_PROVIDER:-openai} - GOOSE_MODEL=${GOOSE_MODEL:-gpt-4o} @@ -163,7 +163,7 @@ docker run --rm \ -c "apt-get update && apt-get install -y vim && goose --version" # Or create a custom Dockerfile -FROM ghcr.io/block/goose:latest +FROM ghcr.io/aaif-goose/goose:latest USER root RUN apt-get update && apt-get install -y \ vim \ @@ -181,7 +181,7 @@ jobs: analyze: runs-on: ubuntu-latest container: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest env: GOOSE_PROVIDER: openai GOOSE_MODEL: gpt-4o @@ -197,7 +197,7 @@ jobs: ```yaml analyze: - image: ghcr.io/block/goose:latest + image: ghcr.io/aaif-goose/goose:latest variables: GOOSE_PROVIDER: openai GOOSE_MODEL: gpt-4o @@ -298,7 +298,7 @@ For production deployments: Example production Dockerfile: ```dockerfile -FROM ghcr.io/block/goose:v1.6.0 +FROM ghcr.io/aaif-goose/goose:v1.6.0 # Add any additional tools needed for your use case USER root RUN apt-get update && apt-get install -y your-tools && rm -rf /var/lib/apt/lists/* @@ -318,5 +318,5 @@ When contributing Docker-related changes: ## Related Documentation - [goose in Docker Tutorial](documentation/docs/tutorials/goose-in-docker.md) - Step-by-step tutorial -- [Installation Guide](https://block.github.io/goose/docs/getting-started/installation) - All installation methods -- [Configuration Guide](https://block.github.io/goose/docs/guides/config-files) - Detailed configuration options +- [Installation Guide](https://goose-docs.ai/docs/getting-started/installation) - All installation methods +- [Configuration Guide](https://goose-docs.ai/docs/guides/config-files) - Detailed configuration options diff --git a/BUILDING_LINUX.md b/BUILDING_LINUX.md index f035ecb6..4efa3304 100644 --- a/BUILDING_LINUX.md +++ b/BUILDING_LINUX.md @@ -30,9 +30,9 @@ sudo zypper install dpkg fakeroot gcc gcc-c++ make **android / termux:** goose is not officially support termux build yet, you need some minor patch to fix build issues. -We will publish goose (block-goose) into termux-packages. +We will publish goose (block-goose) into termux-packages. If you want to try there is a non-official build, https://github.com/shawn111/goose/releases/download/termux/goose-termux-aarch64.tar.bz2 -For more details, see: https://github.com/block/goose/pull/3890 +For more details, see: https://github.com/aaif-goose/goose/pull/3890 ```bash pkg install rust @@ -49,7 +49,7 @@ pkg install cmake protobuf clang build-essential ### 1. Clone and Setup ```bash -git clone https://github.com/block/goose.git +git clone https://github.com/aaif-goose/goose.git cd goose ``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 50da0254..5ffd43ca 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -213,7 +213,7 @@ and stepping through the server code while interacting with the UI. To fork the repository: -1. Go to https://github.com/block/goose and click β€œFork” (top-right corner). +1. Go to https://github.com/aaif-goose/goose and click β€œFork” (top-right corner). 2. This creates https://github.com//goose under your GitHub account. 3. Clone your fork (not the main repo): @@ -225,7 +225,7 @@ cd goose 4. Add the main repository as upstream: ``` -git remote add upstream https://github.com/block/goose.git +git remote add upstream https://github.com/aaif-goose/goose.git ``` 5. Create a branch in your fork for your changes: @@ -250,7 +250,7 @@ git merge upstream/main git push origin my-feature-branch ``` -8. Open a Pull Request from your branch on your fork to block/goose’s main branch. +8. Open a Pull Request from your branch on your fork to aaif-goose/goose’s main branch. ## Keeping Your Fork Up-to-Date @@ -262,7 +262,7 @@ repository. This helps avoid conflicts and allows us to merge your pull requests 1. **Add the Main Repository as a Remote** (Skip if you have already set this up): ```bash - git remote add upstream https://github.com/block/goose.git + git remote add upstream https://github.com/aaif-goose/goose.git ``` 2. **Fetch the Latest Changes from the Main Repository**: @@ -346,7 +346,7 @@ Then you can view your traces at http://localhost:3000 This project follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification for PR titles. Conventional Commits make it easier to understand the history of a project and facilitate automation around versioning and changelog generation. -[issues]: https://github.com/block/goose/issues +[issues]: https://github.com/aaif-goose/goose/issues [hermit]: https://cashapp.github.io/hermit/ [just]: https://github.com/casey/just?tab=readme-ov-file#installation @@ -366,7 +366,7 @@ There are numerous ways to be an open source contributor and contribute to goose - **Stars on GitHub:** If you resonate with our project and find it valuable, consider starring our goose on GitHub! 🌟 - **Ask Questions:** Your questions not only help us improve but also benefit the community. If you have a question, don't hesitate to ask it on [Discord](https://discord.gg/goose-oss). -- **Give Feedback:** Have a feature you want to see or encounter an issue with goose, [click here to open an issue](https://github.com/block/goose/issues/new/choose), [start a discussion](https://github.com/block/goose/discussions) or tell us on Discord. +- **Give Feedback:** Have a feature you want to see or encounter an issue with goose, [click here to open an issue](https://github.com/aaif-goose/goose/issues/new/choose), [start a discussion](https://github.com/aaif-goose/goose/discussions) or tell us on Discord. - **Participate in Community Events:** We host a variety of community events and livestreams on Discord every month, ranging from workshops to brainstorming sessions. You can subscribe to our [events calendar](https://calget.com/c/t7jszrie) or follow us on [social media](https://linktr.ee/goose_oss) to stay in touch. - **Improve Documentation:** Good documentation is key to the success of any project. You can help improve the quality of our existing docs or add new pages. - **Help Other Members:** See another community member stuck? Or a contributor blocked by a question you know the answer to? Reply to community threads or do a code review for others to help. diff --git a/CONTRIBUTING_RECIPES.md b/CONTRIBUTING_RECIPES.md index 89a1026a..55bf973b 100644 --- a/CONTRIBUTING_RECIPES.md +++ b/CONTRIBUTING_RECIPES.md @@ -4,7 +4,7 @@ Thank you for your interest in contributing to the goose Recipe Cookbook! This g ## πŸš€ Quick Start -1. [Fork this repository](https://github.com/block/goose/fork) +1. [Fork this repository](https://github.com/aaif-goose/goose/fork) 2. Add your recipe file here: `documentation/src/pages/recipes/data/recipes/` 3. Create a pull request @@ -62,7 +62,7 @@ parameters: default: "default_value" ``` -πŸ“š **Need help with the format?** Check out the [Recipe Reference Guide](https://block.github.io/goose/docs/guides/recipes/recipe-reference) or [existing recipes](documentation/src/pages/recipes/data/recipes/) for examples. +πŸ“š **Need help with the format?** Check out the [Recipe Reference Guide](https://goose-docs.ai/docs/guides/recipes/recipe-reference) or [existing recipes](documentation/src/pages/recipes/data/recipes/) for examples. ### Step 4: Create a Pull Request @@ -84,7 +84,7 @@ Your recipe should: - [ ] **Work correctly** - Test it before submitting - [ ] **Be useful** - Solve a real problem or demonstrate a valuable workflow -- [ ] **Follow the format** - Refer to the [Recipe Reference Guide](https://block.github.io/goose/docs/guides/recipes/recipe-reference) +- [ ] **Follow the format** - Refer to the [Recipe Reference Guide](https://goose-docs.ai/docs/guides/recipes/recipe-reference) - [ ] **Have a unique filename** - No conflicts with existing recipe files ### πŸ“ **Naming Guidelines:** @@ -119,7 +119,7 @@ Need inspiration? Consider recipes for: - πŸ“– **Browse existing recipes** for examples - πŸ’¬ **Ask questions** in your PR - πŸ› **Report issues** if something isn't working -- πŸ“š **Check the docs** at [block.github.io/goose](https://block.github.io/goose/docs/guides/recipes/) +- πŸ“š **Check the docs** at [goose-docs.ai](https://goose-docs.ai/docs/guides/recipes/) ## 🀝 Community Guidelines @@ -128,6 +128,6 @@ Need inspiration? Consider recipes for: --- -**Ready to contribute?** [Fork the repo](https://github.com/block/goose/fork) and start creating! +**Ready to contribute?** [Fork the repo](https://github.com/aaif-goose/goose/fork) and start creating! *Questions? Ask in your PR or hop into [discord](https://discord.gg/goose-oss) - we're here to help!* πŸ’™ diff --git a/Cargo.toml b/Cargo.toml index 06cae8ce..4cd6bb8a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] members = [ - "crates/*", + "crates/*", # Mainly for cargo-machete to not error out during inspection. "vendor/v8" ] @@ -9,9 +9,9 @@ resolver = "2" [workspace.package] edition = "2021" version = "1.30.0" -authors = ["Block "] +authors = ["AAIF "] license = "Apache-2.0" -repository = "https://github.com/block/goose" +repository = "https://github.com/aaif-goose/goose" description = "An AI agent" [workspace.lints.clippy] @@ -105,4 +105,4 @@ opentelemetry = { git = "https://github.com/open-telemetry/opentelemetry-rust", opentelemetry_sdk = { git = "https://github.com/open-telemetry/opentelemetry-rust", rev = "345cd74a" } opentelemetry-appender-tracing = { git = "https://github.com/open-telemetry/opentelemetry-rust", rev = "345cd74a" } opentelemetry-otlp = { git = "https://github.com/open-telemetry/opentelemetry-rust", rev = "345cd74a" } -opentelemetry-stdout = { git = "https://github.com/open-telemetry/opentelemetry-rust", rev = "345cd74a" } \ No newline at end of file +opentelemetry-stdout = { git = "https://github.com/open-telemetry/opentelemetry-rust", rev = "345cd74a" } diff --git a/Dockerfile b/Dockerfile index c0f78860..05429dee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -72,5 +72,5 @@ CMD ["--help"] # Labels for metadata LABEL org.opencontainers.image.title="goose" LABEL org.opencontainers.image.description="goose CLI" -LABEL org.opencontainers.image.vendor="Block" -LABEL org.opencontainers.image.source="https://github.com/block/goose" +LABEL org.opencontainers.image.vendor="AAIF" +LABEL org.opencontainers.image.source="https://github.com/aaif-goose/goose" diff --git a/GOVERNANCE.md b/GOVERNANCE.md index ee6a912c..ff574e9f 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -175,7 +175,7 @@ This governance model may evolve as goose grows. Any proposed modification to th ## Current Membership -Core Maintainers and Maintainers are listed in the main goose repository's [MAINTAINERS.md](https://github.com/block/goose/blob/main/MAINTAINERS.md) file with their areas of expertise where applicable. +Core Maintainers and Maintainers are listed in the main goose repository's [MAINTAINERS.md](https://github.com/aaif-goose/goose/blob/main/MAINTAINERS.md) file with their areas of expertise where applicable. ## Summary @@ -190,7 +190,7 @@ We believe this balance enables goose to remain innovative while building a stro # General Project Policies -Founded by Block, goose has been established as a Series of LF Projects, LLC. Policies applicable to goose and participants in the goose project, including guidelines on the usage of trademarks, are located at [https://lfprojects.org/policies/](https://lfprojects.org/policies/). Governance changes approved as per the provisions of this governance document must also be approved by LF Projects, LLC. +Founded by Block and now stewarded by AAIF (Agentic AI Foundation), goose has been established as a Series of LF Projects, LLC. Policies applicable to goose and participants in the goose project, including guidelines on the usage of trademarks, are located at [https://lfprojects.org/policies/](https://lfprojects.org/policies/). Governance changes approved as per the provisions of this governance document must also be approved by LF Projects, LLC. goose participants acknowledge that the copyright in all new contributions will be retained by the copyright holder as independent works of authorship and that no contributor or copyright holder will be required to assign copyrights to the project. Except as described below, all code and specification contributions to the project must be made using the Apache License, Version 2.0 available at (the β€œProject License”). diff --git a/README.md b/README.md index cd2dc4e5..c3b2a950 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ _a local, extensible, open source AI agent that automates engineering tasks_ > Discord - CI + CI

@@ -23,16 +23,16 @@ Designed for maximum flexibility, goose works with any LLM and supports multi-mo [![Watch the video](https://github.com/user-attachments/assets/ddc71240-3928-41b5-8210-626dfb28af7a)](https://youtu.be/D-DpDunrbpo) # Quick Links -- [Quickstart](https://block.github.io/goose/docs/quickstart) -- [Installation](https://block.github.io/goose/docs/getting-started/installation) -- [Tutorials](https://block.github.io/goose/docs/category/tutorials) -- [Documentation](https://block.github.io/goose/docs/category/getting-started) -- [Governance](https://github.com/block/goose/blob/main/GOVERNANCE.md) -- [Custom Distributions](https://github.com/block/goose/blob/main/CUSTOM_DISTROS.md) - build your own goose distro with preconfigured providers, extensions, and branding +- [Quickstart](https://goose-docs.ai/docs/quickstart) +- [Installation](https://goose-docs.ai/docs/getting-started/installation) +- [Tutorials](https://goose-docs.ai/docs/category/tutorials) +- [Documentation](https://goose-docs.ai/docs/category/getting-started) +- [Governance](https://github.com/aaif-goose/goose/blob/main/GOVERNANCE.md) +- [Custom Distributions](https://github.com/aaif-goose/goose/blob/main/CUSTOM_DISTROS.md) - build your own goose distro with preconfigured providers, extensions, and branding ## Need Help? -- [Diagnostics & Reporting](https://block.github.io/goose/docs/troubleshooting/diagnostics-and-reporting) -- [Known Issues](https://block.github.io/goose/docs/troubleshooting/known-issues) +- [Diagnostics & Reporting](https://goose-docs.ai/docs/troubleshooting/diagnostics-and-reporting) +- [Known Issues](https://goose-docs.ai/docs/troubleshooting/known-issues) # a little goose humor πŸͺΏ @@ -45,5 +45,5 @@ Designed for maximum flexibility, goose works with any LLM and supports multi-mo - [YouTube](https://www.youtube.com/@goose-oss) - [LinkedIn](https://www.linkedin.com/company/goose-oss) - [Twitter/X](https://x.com/goose_oss) -- [Bluesky](https://bsky.app/profile/opensource.block.xyz) -- [Nostr](https://njump.me/opensource@block.xyz) +- [Bluesky](https://bsky.app/profile/opensource.block.xyz) +- [Nostr](https://njump.me/opensource@block.xyz) diff --git a/RELEASE.md b/RELEASE.md index 2f78f5ae..a5b54fd6 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -8,7 +8,7 @@ goose uses GitHub actions to automate the release process. The actual releases a These are typically done once per week. The process has two automated phases: -1. **Version bump PR** β€” An [action](https://github.com/block/goose/actions/workflows/minor-release.yaml) runs every Tuesday (or can be triggered manually) that creates a PR to bump the version on `main`. Review and merge this PR. +1. **Version bump PR** β€” An [action](https://github.com/aaif-goose/goose/actions/workflows/minor-release.yaml) runs every Tuesday (or can be triggered manually) that creates a PR to bump the version on `main`. Review and merge this PR. 2. **Release branch + PR** β€” When the version bump PR merges, automation creates a `release/` branch from `main` and opens a release PR with a QA checklist. @@ -18,13 +18,13 @@ From there: - Download and test the .zip from the release PR - When ready, follow the instructions on the release PR to tag and release -To trigger the release, find [the corresponding PR](https://github.com/block/goose/pulls?q=is%3Apr+%22chore%28release%29%22+author%3Aapp%2Fgithub-actions+) and follow the instructions in the PR description. +To trigger the release, find [the corresponding PR](https://github.com/aaif-goose/goose/pulls?q=is%3Apr+%22chore%28release%29%22+author%3Aapp%2Fgithub-actions+) and follow the instructions in the PR description. ## Patch version releases When a minor release is tagged, automation immediately creates the next patch release branch (e.g. `release/1.25.1` from `release/1.25.0`) with the version already bumped and a release PR open. Cherry-pick fixes into this branch, then tag when ready. -To trigger the release, find [the corresponding PR](https://github.com/block/goose/pulls?q=is%3Apr+%22chore%28release%29%22+%22%28patch%29%22+author%3Aapp%2Fgithub-actions+) and follow the instructions in the PR description. +To trigger the release, find [the corresponding PR](https://github.com/aaif-goose/goose/pulls?q=is%3Apr+%22chore%28release%29%22+%22%28patch%29%22+author%3Aapp%2Fgithub-actions+) and follow the instructions in the PR description. ## High level release flow: diff --git a/SECURITY.md b/SECURITY.md index 96cd246e..42eca542 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -10,6 +10,6 @@ > > In some circumstances, goose may follow commands found embedded in content even if those commands conflict with the task given to goose. We suggest taking the precautions above to limit risks from prompt injection. By taking these steps, you can reduce the potential security risks associated with developer agents and better protect your systems and users. > -> Block recognizes the important contributions our open source community makes. Part of keeping Block and its customers safe is by making sure that we find and fix any security issues found in our open source projects. If you find a security vulnerability, we encourage you to privately report it in the repository’s Security tab -> Report a vulnerability. +> AAIF (Agentic AI Foundation) recognizes the important contributions our open source community makes. Part of keeping goose and its users safe is by making sure that we find and fix any security issues found in our open source projects. If you find a security vulnerability, we encourage you to privately report it in the repository’s Security tab -> Report a vulnerability. > -> Please see [privately reporting a security vulnerability](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability) for more information. For assistance or escalation, please contact the [Block Open Source Governance Committee](mailto:open-source-governance@block.xyz) +> Please see [privately reporting a security vulnerability](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability) for more information. For assistance or escalation, please contact the [AAIF Open Source Governance Committee](mailto:open-source-governance@block.xyz) diff --git a/crates/goose-cli/src/commands/update.rs b/crates/goose-cli/src/commands/update.rs index c0fbb595..a513ac52 100644 --- a/crates/goose-cli/src/commands/update.rs +++ b/crates/goose-cli/src/commands/update.rs @@ -69,7 +69,7 @@ const GITHUB_ACTIONS_ISSUER: &str = "https://token.actions.githubusercontent.com async fn fetch_attestations(digest: &str, token: Option<&str>) -> Result> { let url = format!( - "https://api.github.com/repos/block/goose/attestations/sha256:{digest}\ + "https://api.github.com/repos/aaif-goose/goose/attestations/sha256:{digest}\ ?per_page=30&predicate_type=https://slsa.dev/provenance/v1" ); @@ -209,7 +209,7 @@ pub async fn update(canary: bool, reconfigure: bool) -> Result<()> { { let tag = if canary { "canary" } else { "stable" }; let asset = asset_name(); - let url = format!("https://github.com/block/goose/releases/download/{tag}/{asset}"); + let url = format!("https://github.com/aaif-goose/goose/releases/download/{tag}/{asset}"); println!("Downloading {asset} from {tag} release..."); diff --git a/crates/goose-cli/src/session/builder.rs b/crates/goose-cli/src/session/builder.rs index f83aeb58..dc1447d4 100644 --- a/crates/goose-cli/src/session/builder.rs +++ b/crates/goose-cli/src/session/builder.rs @@ -665,7 +665,7 @@ pub async fn build_session(session_config: SessionBuilderConfig) -> CliSession { "Error {}.\n\ Please check your system keychain and run 'goose configure' again.\n\ If your system is unable to use the keyring, please try setting secret key(s) via environment variables.\n\ - For more info, see: https://block.github.io/goose/docs/troubleshooting/#keychainkeyring-errors", + For more info, see: https://goose-docs.ai/docs/troubleshooting/#keychainkeyring-errors", e )); process::exit(1); diff --git a/crates/goose-mcp/src/lib.rs b/crates/goose-mcp/src/lib.rs index 24d9d37c..1bb0b77a 100644 --- a/crates/goose-mcp/src/lib.rs +++ b/crates/goose-mcp/src/lib.rs @@ -3,6 +3,8 @@ use once_cell::sync::Lazy; use rmcp::{ServerHandler, ServiceExt}; use std::collections::HashMap; +// NOTE: "Block" is kept here for backwards compatibility with existing +// user config/data directories. Changing this would orphan existing installations. pub static APP_STRATEGY: Lazy = Lazy::new(|| AppStrategyArgs { top_level_domain: "Block".to_string(), author: "Block".to_string(), diff --git a/crates/goose-server/ui/desktop/openapi.json b/crates/goose-server/ui/desktop/openapi.json index f7471caa..7ef26097 100644 --- a/crates/goose-server/ui/desktop/openapi.json +++ b/crates/goose-server/ui/desktop/openapi.json @@ -4,7 +4,7 @@ "title": "goose-server", "description": "An AI agent", "contact": { - "name": "Block", + "name": "AAIF", "email": "ai-oss-tools@block.xyz" }, "license": { diff --git a/crates/goose/src/agents/builtin_skills/skills/goose_doc_guide.md b/crates/goose/src/agents/builtin_skills/skills/goose_doc_guide.md index 268d23cb..62c8257b 100644 --- a/crates/goose/src/agents/builtin_skills/skills/goose_doc_guide.md +++ b/crates/goose/src/agents/builtin_skills/skills/goose_doc_guide.md @@ -15,11 +15,11 @@ Do NOT use this skill for: ## Steps (COMPLETE ALL BEFORE RESPONDING) 1. **Fetch official docs** - - Fetch the doc map from `https://block.github.io/goose/goose-docs-map.md` + - Fetch the doc map from `https://goose-docs.ai/goose-docs-map.md` - Search the doc map for pages relevant to the user's topic and get the paths for these pages - Use the EXACT paths from the doc map. For example: - If doc map shows: `docs/guides/sessions/session-management.md` - - Fetch: `https://block.github.io/goose/docs/guides/sessions/session-management.md` + - Fetch: `https://goose-docs.ai/docs/guides/sessions/session-management.md` - Do NOT modify or guess paths. - **ONLY fetch paths that are explicitly listed in the doc map - do not guess or infer URLs** - Make multiple fetch calls in parallel and save to temp files @@ -53,4 +53,4 @@ Do NOT use this skill for: 5. **List documentation links** - Only include docs actually used - Remove `.md` suffix from URLs - - Example: If you fetched `https://block.github.io/goose/docs/guides/sessions/session-management.md`, list it as `https://block.github.io/goose/docs/guides/sessions/session-management` + - Example: If you fetched `https://goose-docs.ai/docs/guides/sessions/session-management.md`, list it as `https://goose-docs.ai/docs/guides/sessions/session-management` diff --git a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__all_platform_extensions.snap b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__all_platform_extensions.snap index e40bc09a..df7355c9 100644 --- a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__all_platform_extensions.snap +++ b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__all_platform_extensions.snap @@ -2,7 +2,7 @@ source: crates/goose/src/agents/prompt_manager.rs expression: system_prompt --- -You are a general-purpose AI agent called goose, created by Block, the parent company of Square, CashApp, and Tidal. +You are a general-purpose AI agent called goose, created by AAIF (Agentic AI Foundation). goose is being developed as an open-source software project. # Extensions diff --git a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__basic.snap b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__basic.snap index fe496142..03c05494 100644 --- a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__basic.snap +++ b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__basic.snap @@ -2,7 +2,7 @@ source: crates/goose/src/agents/prompt_manager.rs expression: system_prompt --- -You are a general-purpose AI agent called goose, created by Block, the parent company of Square, CashApp, and Tidal. +You are a general-purpose AI agent called goose, created by AAIF (Agentic AI Foundation). goose is being developed as an open-source software project. # Extensions diff --git a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__one_extension.snap b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__one_extension.snap index c6597030..306fd7dc 100644 --- a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__one_extension.snap +++ b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__one_extension.snap @@ -2,7 +2,7 @@ source: crates/goose/src/agents/prompt_manager.rs expression: system_prompt --- -You are a general-purpose AI agent called goose, created by Block, the parent company of Square, CashApp, and Tidal. +You are a general-purpose AI agent called goose, created by AAIF (Agentic AI Foundation). goose is being developed as an open-source software project. # Extensions diff --git a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__typical_setup.snap b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__typical_setup.snap index 81d22026..f26bbb85 100644 --- a/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__typical_setup.snap +++ b/crates/goose/src/agents/snapshots/goose__agents__prompt_manager__tests__typical_setup.snap @@ -2,7 +2,7 @@ source: crates/goose/src/agents/prompt_manager.rs expression: system_prompt --- -You are a general-purpose AI agent called goose, created by Block, the parent company of Square, CashApp, and Tidal. +You are a general-purpose AI agent called goose, created by AAIF (Agentic AI Foundation). goose is being developed as an open-source software project. # Extensions diff --git a/crates/goose/src/config/paths.rs b/crates/goose/src/config/paths.rs index 839f8f1b..0fadf90a 100644 --- a/crates/goose/src/config/paths.rs +++ b/crates/goose/src/config/paths.rs @@ -13,6 +13,9 @@ impl Paths { DirType::State => base.join("state"), } } else { + // NOTE: "Block" is kept here for backwards compatibility with existing + // user config/data directories (e.g. ~/Library/Application Support/Block/goose/). + // Changing this would orphan existing installations. let strategy = choose_app_strategy(AppStrategyArgs { top_level_domain: "Block".to_string(), author: "Block".to_string(), diff --git a/crates/goose/src/config/signup_tetrate/mod.rs b/crates/goose/src/config/signup_tetrate/mod.rs index 58508ca3..0d4398e6 100644 --- a/crates/goose/src/config/signup_tetrate/mod.rs +++ b/crates/goose/src/config/signup_tetrate/mod.rs @@ -87,7 +87,7 @@ impl PkceAuthFlow { let response = client .post(TETRATE_TOKEN_URL) .header("X-Title", "goose") - .header("Referer", "https://github.com/block/goose") + .header("Referer", "https://github.com/aaif-goose/goose") .json(&request_body) .send() .await?; diff --git a/crates/goose/src/prompts/subagent_system.md b/crates/goose/src/prompts/subagent_system.md index 2ff619c2..192f94f2 100644 --- a/crates/goose/src/prompts/subagent_system.md +++ b/crates/goose/src/prompts/subagent_system.md @@ -1,4 +1,4 @@ -You are a specialized subagent within the goose AI framework, created by Block. You were spawned by the main goose agent to handle a specific task efficiently. +You are a specialized subagent within the goose AI framework, created by AAIF (Agentic AI Foundation). You were spawned by the main goose agent to handle a specific task efficiently. # Your Role You are an autonomous subagent with these characteristics: diff --git a/crates/goose/src/prompts/system.md b/crates/goose/src/prompts/system.md index 9c5d75fd..aa9d0ae8 100644 --- a/crates/goose/src/prompts/system.md +++ b/crates/goose/src/prompts/system.md @@ -1,4 +1,4 @@ -You are a general-purpose AI agent called goose, created by Block, the parent company of Square, CashApp, and Tidal. +You are a general-purpose AI agent called goose, created by AAIF (Agentic AI Foundation). goose is being developed as an open-source software project. {% if not code_execution_mode %} diff --git a/crates/goose/src/prompts/tiny_model_system.md b/crates/goose/src/prompts/tiny_model_system.md index 08b1f116..2a05d841 100644 --- a/crates/goose/src/prompts/tiny_model_system.md +++ b/crates/goose/src/prompts/tiny_model_system.md @@ -1,4 +1,4 @@ -You are goose, an autonomous AI agent created by Block. You act on the user's +You are goose, an autonomous AI agent created by AAIF (Agentic AI Foundation). You act on the user's behalf β€” you do not explain how to do things, you DO them directly. The OS is {{os}}, the shell is {{shell}}, and the working directory is {{working_directory}} diff --git a/crates/goose/src/providers/openrouter.rs b/crates/goose/src/providers/openrouter.rs index 6a3d02a9..1b00d7d9 100644 --- a/crates/goose/src/providers/openrouter.rs +++ b/crates/goose/src/providers/openrouter.rs @@ -57,7 +57,7 @@ impl OpenRouterProvider { let auth = AuthMethod::BearerToken(api_key); let api_client = ApiClient::new(host, auth)? - .with_header("HTTP-Referer", "https://block.github.io/goose")? + .with_header("HTTP-Referer", "https://goose-docs.ai")? .with_header("X-Title", "goose")?; Ok(Self { diff --git a/crates/goose/src/providers/tetrate.rs b/crates/goose/src/providers/tetrate.rs index 37c3aced..98aefefd 100644 --- a/crates/goose/src/providers/tetrate.rs +++ b/crates/goose/src/providers/tetrate.rs @@ -55,7 +55,7 @@ impl TetrateProvider { let auth = AuthMethod::BearerToken(api_key); let api_client = ApiClient::new(host, auth)? - .with_header("HTTP-Referer", "https://block.github.io/goose")? + .with_header("HTTP-Referer", "https://goose-docs.ai")? .with_header("X-Title", "goose")?; Ok(Self { diff --git a/crates/goose/tests/mcp_replays/github-mcp-serverstdio b/crates/goose/tests/mcp_replays/github-mcp-serverstdio index 3ed7300d..5c6f00f9 100644 --- a/crates/goose/tests/mcp_replays/github-mcp-serverstdio +++ b/crates/goose/tests/mcp_replays/github-mcp-serverstdio @@ -8,5 +8,5 @@ STDOUT: {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"completions":{},"logg STDIN: {"jsonrpc":"2.0","method":"notifications/initialized"} STDERR: time=2025-12-11T17:58:47.642-05:00 level=INFO msg="session initialized" STDIN: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"_meta":{"agent-session-id":"test-session-id","progressToken":0},"name":"get_file_contents","arguments":{"owner":"block","path":"README.md","repo":"goose","sha":"ab62b863c1666232a67048b6c4e10007a2a5b83c"}}} -STDOUT: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"successfully downloaded text file (SHA: de9bdde7f260549bf3a083651842f30ab29cf4e9)"},{"type":"resource","resource":{"uri":"repo://block/goose/sha/ab62b863c1666232a67048b6c4e10007a2a5b83c/contents/README.md","mimeType":"text/plain; charset=utf-8","text":"\u003cdiv align=\"center\"\u003e\n\n# goose\n\n_a local, extensible, open source AI agent that automates engineering tasks_\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://discord.gg/7GaTvbDwga\"\u003e\n \u003cimg src=\"https://img.shields.io/discord/1287729918100246654?logo=discord\u0026logoColor=white\u0026label=Join+Us\u0026color=blueviolet\" alt=\"Discord\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/block/goose/actions/workflows/ci.yml\"\u003e\n \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/block/goose/ci.yml?branch=main\" alt=\"CI\"\u003e\n \u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\ngoose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - _autonomously_.\n\nWhether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.\n\nDesigned for maximum flexibility, goose works with any LLM and supports multi-model configuration to optimize performance and cost, seamlessly integrates with MCP servers, and is available as both a desktop app as well as CLI - making it the ultimate AI assistant for developers who want to move faster and focus on innovation.\n\n[![Watch the video](https://github.com/user-attachments/assets/ddc71240-3928-41b5-8210-626dfb28af7a)](https://youtu.be/D-DpDunrbpo)\n\n# Quick Links\n- [Quickstart](https://block.github.io/goose/docs/quickstart)\n- [Installation](https://block.github.io/goose/docs/getting-started/installation)\n- [Tutorials](https://block.github.io/goose/docs/category/tutorials)\n- [Documentation](https://block.github.io/goose/docs/category/getting-started)\n\n\n# a little goose humor 🦒\n\n\u003e Why did the developer choose goose as their AI agent?\n\u003e \n\u003e Because it always helps them \"migrate\" their code to production! πŸš€\n\n# goose around with us\n- [Discord](https://discord.gg/block-opensource)\n- [YouTube](https://www.youtube.com/@goose-oss)\n- [LinkedIn](https://www.linkedin.com/company/goose-oss)\n- [Twitter/X](https://x.com/goose_oss)\n- [Bluesky](https://bsky.app/profile/opensource.block.xyz)\n- [Nostr](https://njump.me/opensource@block.xyz)\n"}}]}} +STDOUT: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"successfully downloaded text file (SHA: de9bdde7f260549bf3a083651842f30ab29cf4e9)"},{"type":"resource","resource":{"uri":"repo://block/goose/sha/ab62b863c1666232a67048b6c4e10007a2a5b83c/contents/README.md","mimeType":"text/plain; charset=utf-8","text":"\u003cdiv align=\"center\"\u003e\n\n# goose\n\n_a local, extensible, open source AI agent that automates engineering tasks_\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://discord.gg/7GaTvbDwga\"\u003e\n \u003cimg src=\"https://img.shields.io/discord/1287729918100246654?logo=discord\u0026logoColor=white\u0026label=Join+Us\u0026color=blueviolet\" alt=\"Discord\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/block/goose/actions/workflows/ci.yml\"\u003e\n \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/block/goose/ci.yml?branch=main\" alt=\"CI\"\u003e\n \u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\ngoose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - _autonomously_.\n\nWhether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.\n\nDesigned for maximum flexibility, goose works with any LLM and supports multi-model configuration to optimize performance and cost, seamlessly integrates with MCP servers, and is available as both a desktop app as well as CLI - making it the ultimate AI assistant for developers who want to move faster and focus on innovation.\n\n[![Watch the video](https://github.com/user-attachments/assets/ddc71240-3928-41b5-8210-626dfb28af7a)](https://youtu.be/D-DpDunrbpo)\n\n# Quick Links\n- [Quickstart](https://goose-docs.ai/docs/quickstart)\n- [Installation](https://goose-docs.ai/docs/getting-started/installation)\n- [Tutorials](https://goose-docs.ai/docs/category/tutorials)\n- [Documentation](https://goose-docs.ai/docs/category/getting-started)\n\n\n# a little goose humor 🦒\n\n\u003e Why did the developer choose goose as their AI agent?\n\u003e \n\u003e Because it always helps them \"migrate\" their code to production! πŸš€\n\n# goose around with us\n- [Discord](https://discord.gg/block-opensource)\n- [YouTube](https://www.youtube.com/@goose-oss)\n- [LinkedIn](https://www.linkedin.com/company/goose-oss)\n- [Twitter/X](https://x.com/goose_oss)\n- [Bluesky](https://bsky.app/profile/opensource.block.xyz)\n- [Nostr](https://njump.me/opensource@block.xyz)\n"}}]}} STDERR: time=2025-12-11T17:58:48.133-05:00 level=INFO msg="server session disconnected" session_id="" diff --git a/crates/goose/tests/mcp_replays/github-mcp-serverstdio.results.json b/crates/goose/tests/mcp_replays/github-mcp-serverstdio.results.json index bede7cc9..68df5138 100644 --- a/crates/goose/tests/mcp_replays/github-mcp-serverstdio.results.json +++ b/crates/goose/tests/mcp_replays/github-mcp-serverstdio.results.json @@ -10,7 +10,7 @@ "resource": { "uri": "repo://block/goose/sha/ab62b863c1666232a67048b6c4e10007a2a5b83c/contents/README.md", "mimeType": "text/plain; charset=utf-8", - "text": "
\n\n# goose\n\n_a local, extensible, open source AI agent that automates engineering tasks_\n\n

\n \n \n \n \n \"Discord\"\n \n \n \"CI\"\n \n

\n
\n\ngoose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - _autonomously_.\n\nWhether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.\n\nDesigned for maximum flexibility, goose works with any LLM and supports multi-model configuration to optimize performance and cost, seamlessly integrates with MCP servers, and is available as both a desktop app as well as CLI - making it the ultimate AI assistant for developers who want to move faster and focus on innovation.\n\n[![Watch the video](https://github.com/user-attachments/assets/ddc71240-3928-41b5-8210-626dfb28af7a)](https://youtu.be/D-DpDunrbpo)\n\n# Quick Links\n- [Quickstart](https://block.github.io/goose/docs/quickstart)\n- [Installation](https://block.github.io/goose/docs/getting-started/installation)\n- [Tutorials](https://block.github.io/goose/docs/category/tutorials)\n- [Documentation](https://block.github.io/goose/docs/category/getting-started)\n\n\n# a little goose humor 🦒\n\n> Why did the developer choose goose as their AI agent?\n> \n> Because it always helps them \"migrate\" their code to production! πŸš€\n\n# goose around with us\n- [Discord](https://discord.gg/block-opensource)\n- [YouTube](https://www.youtube.com/@goose-oss)\n- [LinkedIn](https://www.linkedin.com/company/goose-oss)\n- [Twitter/X](https://x.com/goose_oss)\n- [Bluesky](https://bsky.app/profile/opensource.block.xyz)\n- [Nostr](https://njump.me/opensource@block.xyz)\n" + "text": "
\n\n# goose\n\n_a local, extensible, open source AI agent that automates engineering tasks_\n\n

\n \n \n \n \n \"Discord\"\n \n \n \"CI\"\n \n

\n
\n\ngoose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - _autonomously_.\n\nWhether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.\n\nDesigned for maximum flexibility, goose works with any LLM and supports multi-model configuration to optimize performance and cost, seamlessly integrates with MCP servers, and is available as both a desktop app as well as CLI - making it the ultimate AI assistant for developers who want to move faster and focus on innovation.\n\n[![Watch the video](https://github.com/user-attachments/assets/ddc71240-3928-41b5-8210-626dfb28af7a)](https://youtu.be/D-DpDunrbpo)\n\n# Quick Links\n- [Quickstart](https://goose-docs.ai/docs/quickstart)\n- [Installation](https://goose-docs.ai/docs/getting-started/installation)\n- [Tutorials](https://goose-docs.ai/docs/category/tutorials)\n- [Documentation](https://goose-docs.ai/docs/category/getting-started)\n\n\n# a little goose humor 🦒\n\n> Why did the developer choose goose as their AI agent?\n> \n> Because it always helps them \"migrate\" their code to production! πŸš€\n\n# goose around with us\n- [Discord](https://discord.gg/block-opensource)\n- [YouTube](https://www.youtube.com/@goose-oss)\n- [LinkedIn](https://www.linkedin.com/company/goose-oss)\n- [Twitter/X](https://x.com/goose_oss)\n- [Bluesky](https://bsky.app/profile/opensource.block.xyz)\n- [Nostr](https://njump.me/opensource@block.xyz)\n" } } ] diff --git a/deny.toml b/deny.toml index 3f45e55f..a9e0ba19 100644 --- a/deny.toml +++ b/deny.toml @@ -7,7 +7,7 @@ unmaintained = "none" unsound = "none" # Ignore proc-macro-error unmaintained warning -# See: https://github.com/block/goose/issues/7008 +# See: https://github.com/aaif-goose/goose/issues/7008 ignore = [ "RUSTSEC-2023-0071", # rsa: Marvin Attack timing sidechannel (no safe upgrade available, via jsonwebtoken) ] diff --git a/documentation/automation/cli-command-tracking/README.md b/documentation/automation/cli-command-tracking/README.md index 1e706bf4..f7b8327f 100644 --- a/documentation/automation/cli-command-tracking/README.md +++ b/documentation/automation/cli-command-tracking/README.md @@ -4,7 +4,7 @@ Automated pipeline for detecting and documenting CLI command changes between goo ## Overview -This automation keeps the [CLI Commands Guide](https://block.github.io/goose/docs/guides/goose-cli-commands) synchronized with code changes by: +This automation keeps the [CLI Commands Guide](https://goose-docs.ai/docs/guides/goose-cli-commands) synchronized with code changes by: 1. **Extracting** CLI structure from goose binary using `--help` output (deterministic) 2. **Detecting** changes between versions (deterministic diff) diff --git a/documentation/automation/cli-command-tracking/scripts/extract-cli-structure.sh b/documentation/automation/cli-command-tracking/scripts/extract-cli-structure.sh index bb6edbf8..af220a00 100755 --- a/documentation/automation/cli-command-tracking/scripts/extract-cli-structure.sh +++ b/documentation/automation/cli-command-tracking/scripts/extract-cli-structure.sh @@ -32,7 +32,7 @@ download_release_binary() { echo "Downloading goose $version from GitHub releases..." >&2 # Use the official download script with custom bin dir and specific version - curl -fsSL "https://github.com/block/goose/releases/download/stable/download_cli.sh" | \ + curl -fsSL "https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh" | \ CONFIGURE=false GOOSE_BIN_DIR="$bin_dir" GOOSE_VERSION="$version" bash >&2 2>&1 || { echo "Error: Failed to download goose $version" >&2 return 1 diff --git a/documentation/automation/cli-command-tracking/scripts/run-pipeline.sh b/documentation/automation/cli-command-tracking/scripts/run-pipeline.sh index 054e24b1..8e051755 100755 --- a/documentation/automation/cli-command-tracking/scripts/run-pipeline.sh +++ b/documentation/automation/cli-command-tracking/scripts/run-pipeline.sh @@ -15,7 +15,7 @@ GOOSE_REPO=${GOOSE_REPO:-"$HOME/Development/goose"} # Function to get release tags using gh CLI get_latest_release() { if command -v gh &> /dev/null; then - gh release list --repo block/goose --limit 1 --json tagName --jq '.[0].tagName' 2>/dev/null + gh release list --repo aaif-goose/goose --limit 1 --json tagName --jq '.[0].tagName' 2>/dev/null else # Fallback: get latest version tag from git cd "$GOOSE_REPO" && git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -1 @@ -24,7 +24,7 @@ get_latest_release() { get_previous_release() { if command -v gh &> /dev/null; then - gh release list --repo block/goose --limit 2 --json tagName --jq '.[].tagName' 2>/dev/null | sed -n '2p' + gh release list --repo aaif-goose/goose --limit 2 --json tagName --jq '.[].tagName' 2>/dev/null | sed -n '2p' else # Fallback: get second-latest version tag from git cd "$GOOSE_REPO" && git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sed -n '2p' diff --git a/documentation/automation/recipe-schema-tracking/README.md b/documentation/automation/recipe-schema-tracking/README.md index 1e9015ec..8aa21962 100644 --- a/documentation/automation/recipe-schema-tracking/README.md +++ b/documentation/automation/recipe-schema-tracking/README.md @@ -4,7 +4,7 @@ Automated pipeline for detecting and documenting Recipe schema and validation ru ## Overview -This automation keeps the [Recipe Reference Guide](https://block.github.io/goose/docs/guides/recipes/recipe-reference) synchronized with code changes by: +This automation keeps the [Recipe Reference Guide](https://goose-docs.ai/docs/guides/recipes/recipe-reference) synchronized with code changes by: 1. **Extracting** schema and validation rules from source code (deterministic) 2. **Detecting** changes between versions (deterministic diff) diff --git a/documentation/blog/2024-11-22-screenshot-driven-development/index.md b/documentation/blog/2024-11-22-screenshot-driven-development/index.md index ac49c483..2999f41d 100644 --- a/documentation/blog/2024-11-22-screenshot-driven-development/index.md +++ b/documentation/blog/2024-11-22-screenshot-driven-development/index.md @@ -11,7 +11,7 @@ authors: I'm a developer at heart, so when I'm working on a personal project, the hardest part isn't writing codeβ€”it's making design decisions. I recently built a calendar user interface. I wanted to enhance its visual appeal, so I researched UI design trends like "glassmorphism" and "claymorphism." -However, I didn't want to spend hours implementing the CSS for each design trend, so I developed a faster approach: screenshot-driven development. I used an open source developer agent called [goose](https://github.com/block/goose) to transform my user interfaces quickly. +However, I didn't want to spend hours implementing the CSS for each design trend, so I developed a faster approach: screenshot-driven development. I used an open source developer agent called [goose](https://github.com/aaif-goose/goose) to transform my user interfaces quickly. @@ -205,7 +205,7 @@ export ANTHROPIC_API_KEY=your_api_key ``` ### Step 4: Enable the Screen toolkit -goose uses [toolkits](https://block.github.io/goose/plugins/plugins.html) to extend its capabilities. The [screen](https://block.github.io/goose/plugins/available-toolkits.html#6-screen-toolkit) toolkit lets goose take and analyze screenshots. +goose uses [toolkits](https://goose-docs.ai/plugins/plugins.html) to extend its capabilities. The [screen](https://goose-docs.ai/plugins/available-toolkits.html#6-screen-toolkit) toolkit lets goose take and analyze screenshots. To enable the Screen toolkit, add it to your goose profile at ~/.config/goose/profiles.yaml. @@ -281,17 +281,17 @@ Developing user interfaces is a blend of creativity and problem-solving. And I l Beyond prototyping, goose's ability to analyze screenshots can help developers identify and resolve UI bugs. -If you're interested in learning more, check out the [goose repo](https://github.com/block/goose) and join our [Discord community](https://discord.gg/goose-oss). +If you're interested in learning more, check out the [goose repo](https://github.com/aaif-goose/goose) and join our [Discord community](https://discord.gg/goose-oss). - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2024-12-06-previewing-goose-v10-beta/index.md b/documentation/blog/2024-12-06-previewing-goose-v10-beta/index.md index 21a118c9..5e8d30ce 100644 --- a/documentation/blog/2024-12-06-previewing-goose-v10-beta/index.md +++ b/documentation/blog/2024-12-06-previewing-goose-v10-beta/index.md @@ -47,18 +47,18 @@ goose now has an electron-based GUI macOS application that provides and alternat goose v1.0 Beta now uses a custom protocol, that is designed in parallel with [Anthropic’s Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) (MCP) to communicate with Systems. This makes it possible for developers to create their own systems (e.g Jira, ) that Goose can integrate with. -Excited for many more feature updates and improvements? Stay tuned for more updates on Goose! Check out the [goose repo](https://github.com/block/goose) and join our [Discord community](https://discord.gg/goose-oss). +Excited for many more feature updates and improvements? Stay tuned for more updates on Goose! Check out the [goose repo](https://github.com/aaif-goose/goose) and join our [Discord community](https://discord.gg/goose-oss). - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2024-12-10-connecting-ai-agents-to-your-systems-with-mcp/index.md b/documentation/blog/2024-12-10-connecting-ai-agents-to-your-systems-with-mcp/index.md index d149cf89..5630079b 100644 --- a/documentation/blog/2024-12-10-connecting-ai-agents-to-your-systems-with-mcp/index.md +++ b/documentation/blog/2024-12-10-connecting-ai-agents-to-your-systems-with-mcp/index.md @@ -22,7 +22,7 @@ This post was written about a beta version of goose and the commands and flow ma Anthropic is leading the charge with the [Model Context Protocol (MCP)](https://modelcontextprotocol.io), an open standard that enables large language model (LLM) applications to connect with external systems, providing the necessary context for more informed and relevant AI interactions. -This is a game changer for AI agents such as [goose](https://block.github.io/goose/), which can perform tasks autonomously - a significant leap beyond chatbots that only provide step-by-step instructions. However, to unlock the full potential of these AI agents, we need a standard method for connecting them to external data sources. MCP provides this foundation. +This is a game changer for AI agents such as [goose](https://goose-docs.ai/), which can perform tasks autonomously - a significant leap beyond chatbots that only provide step-by-step instructions. However, to unlock the full potential of these AI agents, we need a standard method for connecting them to external data sources. MCP provides this foundation. With MCP's standardized APIs and endpoints, goose can integrate seamlessly into your systems, enhancing its ability to perform complex tasks like debugging, writing code, and running commands directly in your environment. @@ -30,7 +30,7 @@ With MCP's standardized APIs and endpoints, goose can integrate seamlessly into ### What's Possible -Without MCP, every [goose toolkit](https://block.github.io/goose/plugins/using-toolkits.html) developer would need to implement bespoke integrations with every system they need to connect to. Not only is this tedious and repetitive, but it delays the fun stuff. +Without MCP, every [goose toolkit](https://goose-docs.ai/plugins/using-toolkits.html) developer would need to implement bespoke integrations with every system they need to connect to. Not only is this tedious and repetitive, but it delays the fun stuff. Let's take a simple GitHub workflow, for example. goose interacts directly with the GitHub API using custom scripts or configurations. Developers must configure goose to authenticate with GitHub and specify endpoints for actions like fetching open pull requests or adding comments. Each integration requires manual setup and custom coding to handle authentication tokens, error handling, and API updates. @@ -38,7 +38,7 @@ MCP simplifies the process by providing a standardized interface for accessing G ### Join the Ecosystem -As MCP adoption expands, so does goose’s potential to deliver even more powerful solutions for your organization. By [integrating goose](https://block.github.io/goose/) into your workflows and [embracing MCP](https://modelcontextprotocol.io/introduction), you’re not just enhancing your own systems, you’re contributing to the growth of an ecosystem that makes AI tools more interoperable, efficient, and impactful. +As MCP adoption expands, so does goose’s potential to deliver even more powerful solutions for your organization. By [integrating goose](https://goose-docs.ai/) into your workflows and [embracing MCP](https://modelcontextprotocol.io/introduction), you’re not just enhancing your own systems, you’re contributing to the growth of an ecosystem that makes AI tools more interoperable, efficient, and impactful. @@ -54,18 +54,18 @@ As MCP adoption expands, so does goose’s potential to deliver even more powerf - + - + - - + + - + diff --git a/documentation/blog/2024-12-11-resolving-ci-issues-with-goose-a-practical-walkthrough/index.md b/documentation/blog/2024-12-11-resolving-ci-issues-with-goose-a-practical-walkthrough/index.md index edfab11f..346b7cf9 100644 --- a/documentation/blog/2024-12-11-resolving-ci-issues-with-goose-a-practical-walkthrough/index.md +++ b/documentation/blog/2024-12-11-resolving-ci-issues-with-goose-a-practical-walkthrough/index.md @@ -162,12 +162,12 @@ Try it out, and let goose handle the heavy lifting of CI debugging for you! - + - + - + - + diff --git a/documentation/blog/2025-01-28-introducing-codename-goose/index.md b/documentation/blog/2025-01-28-introducing-codename-goose/index.md index 04b7c31d..cb67ce9e 100644 --- a/documentation/blog/2025-01-28-introducing-codename-goose/index.md +++ b/documentation/blog/2025-01-28-introducing-codename-goose/index.md @@ -16,7 +16,7 @@ Powered by your choice of [large language models (LLMs)](/docs/getting-started/p You can think of goose as an assistant that is ready to take your instructions, and do the work for you. -While goose's first use cases are engineering focused, the community has been exploring other non-engineering use cases for goose as well. And it goes without saying, goose is [open source](https://github.com/block/goose) πŸŽ‰. +While goose's first use cases are engineering focused, the community has been exploring other non-engineering use cases for goose as well. And it goes without saying, goose is [open source](https://github.com/aaif-goose/goose) πŸŽ‰. ## How goose Works @@ -52,7 +52,7 @@ You can get started using goose right away! Check out our [Quickstart](/docs/qui Excited for upcoming features and events? Be sure to connect with us! -- [GitHub](https://github.com/block/goose) +- [GitHub](https://github.com/aaif-goose/goose) - [Discord](https://discord.gg/goose-oss) - [YouTube](https://www.youtube.com/@goose-oss) - [LinkedIn](https://www.linkedin.com/company/goose-oss) @@ -60,18 +60,18 @@ Excited for upcoming features and events? Be sure to connect with us! - [BlueSky](https://bsky.app/profile/opensource.block.xyz) -[extensions-directory]: https://block.github.io/goose/v1/extensions +[extensions-directory]: https://goose-docs.ai/v1/extensions - + - + - + - + diff --git a/documentation/blog/2025-02-17-agentic-ai-mcp/index.md b/documentation/blog/2025-02-17-agentic-ai-mcp/index.md index 6169e2e2..2cdf0daf 100644 --- a/documentation/blog/2025-02-17-agentic-ai-mcp/index.md +++ b/documentation/blog/2025-02-17-agentic-ai-mcp/index.md @@ -149,12 +149,12 @@ Hopefully this has provided clear insight into what are AI agents, how they work - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-02-21-gooseteam-mcp/index.md b/documentation/blog/2025-02-21-gooseteam-mcp/index.md index fd17dba6..71d4cbe0 100644 --- a/documentation/blog/2025-02-21-gooseteam-mcp/index.md +++ b/documentation/blog/2025-02-21-gooseteam-mcp/index.md @@ -34,12 +34,12 @@ Hopefully this contribution inspired you as much as it inspired our community. I - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-06-goose-tips/index.md b/documentation/blog/2025-03-06-goose-tips/index.md index 6dd37403..120e78c8 100644 --- a/documentation/blog/2025-03-06-goose-tips/index.md +++ b/documentation/blog/2025-03-06-goose-tips/index.md @@ -86,12 +86,12 @@ By following these tips, you'll be able to work more effectively with goose, get - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-10-goose-calls-vyop/index.md b/documentation/blog/2025-03-10-goose-calls-vyop/index.md index 373e381e..4334bd64 100644 --- a/documentation/blog/2025-03-10-goose-calls-vyop/index.md +++ b/documentation/blog/2025-03-10-goose-calls-vyop/index.md @@ -38,12 +38,12 @@ For those eager to experiment with [VOYP](https://github.com/paulotaylor/voyp-mc - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-12-goose-figma-mcp/index.md b/documentation/blog/2025-03-12-goose-figma-mcp/index.md index d64e050c..815fb7f5 100644 --- a/documentation/blog/2025-03-12-goose-figma-mcp/index.md +++ b/documentation/blog/2025-03-12-goose-figma-mcp/index.md @@ -12,7 +12,7 @@ In our previous episode of [goose Flight School](https://www.youtube.com/playlis # How It Works -[Extensions](https://block.github.io/goose/docs/getting-started/using-extensions) enhance goose's functionality by connecting with your existing tools and workflows. They add new features, access external data resources, and integrate with other systems. Learn how multiple extensions, including Figma and Developer, worked together seamlessly to dramatically accelerate development. +[Extensions](https://goose-docs.ai/docs/getting-started/using-extensions) enhance goose's functionality by connecting with your existing tools and workflows. They add new features, access external data resources, and integrate with other systems. Learn how multiple extensions, including Figma and Developer, worked together seamlessly to dramatically accelerate development. # Live Tutorial: goose Builds Live During the livestream, Adewale demonstrated step-by-step how goose handled each development phase, from creating the basic application structure to generating responsive layouts using Tailwind CSS. Adewale also highlighted how goose addresses potential limitations as you go, showcasing the powerful balance between the goose's automation and developer control. @@ -27,19 +27,19 @@ Throughout the stream, Adewale shared valuable tips to prepare your design for g * make sure you thoroughly test for functionality and responsiveness # Getting Started with goose and Figma -Whether you're a designer wanting to rapidly turn concepts into working code or a developer curious about streamlining design implementation, you can download goose with its built-in [Developer extension](https://block.github.io/goose/docs/getting-started/installation) and add the [Figma extension](https://block.github.io/goose/v1/extensions/). +Whether you're a designer wanting to rapidly turn concepts into working code or a developer curious about streamlining design implementation, you can download goose with its built-in [Developer extension](https://goose-docs.ai/docs/getting-started/installation) and add the [Figma extension](https://goose-docs.ai/v1/extensions/). For step-by-step instructions, check out the [Figma tutorial](/docs/mcp/figma-mcp). - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-14-goose-ollama/index.md b/documentation/blog/2025-03-14-goose-ollama/index.md index 98c99dc3..a29dbb28 100644 --- a/documentation/blog/2025-03-14-goose-ollama/index.md +++ b/documentation/blog/2025-03-14-goose-ollama/index.md @@ -17,9 +17,9 @@ Together, they create a self-contained AI agent workflow that puts advanced capa # Getting Started -Before diving deep into various capabilities, Rizel walked us through how to set yourself up for success by integrating goose with Ollama. To follow along, you can [download goose](https://block.github.io/goose/) and follow a step-by-step walk through in the [Configure LLM Provider](https://block.github.io/goose/docs/getting-started/providers) guide. +Before diving deep into various capabilities, Rizel walked us through how to set yourself up for success by integrating goose with Ollama. To follow along, you can [download goose](https://goose-docs.ai/) and follow a step-by-step walk through in the [Configure LLM Provider](https://goose-docs.ai/docs/getting-started/providers) guide. -If you have any questions or get stuck, feel free to chat with us on [Discord](https://discord.gg/goose-oss) or post an issue/discussion on [GitHub](https://github.com/block/goose/). Thanks for reading! +If you have any questions or get stuck, feel free to chat with us on [Discord](https://discord.gg/goose-oss) or post an issue/discussion on [GitHub](https://github.com/aaif-goose/goose/). Thanks for reading! # Why Go Local? Using cloud-based LLMs and providers make it so you don't need substantial computing resources, so why go local? Here's some benefits you may want to consider: @@ -88,12 +88,12 @@ The benefits of owning your AI experience can be compelling for a variety of use - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-18-goose-langfuse/index.md b/documentation/blog/2025-03-18-goose-langfuse/index.md index 0c890fc6..e80fdd8d 100644 --- a/documentation/blog/2025-03-18-goose-langfuse/index.md +++ b/documentation/blog/2025-03-18-goose-langfuse/index.md @@ -44,7 +44,7 @@ As developers focus on operational efficiency, researchers can use the analytica # The Future of AI Observability These powerful debugging and analysis capabilities are only the beginning. This integration between goose and Langfuse represents a significant step forward in making AI agents as transparent and debuggable as traditional code. -To keep up with the exciting developments as they release, you can check out both of the [goose](https://github.com/block/goose) and [Langfuse](https://github.com/langfuse/langfuse) repositories on GitHub. +To keep up with the exciting developments as they release, you can check out both of the [goose](https://github.com/aaif-goose/goose) and [Langfuse](https://github.com/langfuse/langfuse) repositories on GitHub. You can also watch the [livestream discussing the goose and Langfuse integration](https://www.youtube.com/live/W39BQjsTS9E?feature=shared), and follow the [tutorial showing you how to integrate Langfuse with goose](/docs/tutorials/langfuse). @@ -53,12 +53,12 @@ Also, be sure to subscribe to our [events calendar](https://calget.com/c/t7jszri - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-19-better-ai-prompting/index.md b/documentation/blog/2025-03-19-better-ai-prompting/index.md index 479cd623..7e35ce7e 100644 --- a/documentation/blog/2025-03-19-better-ai-prompting/index.md +++ b/documentation/blog/2025-03-19-better-ai-prompting/index.md @@ -150,12 +150,12 @@ goose is here to make your life easier, so the next time you open up a session, - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-20-asana-calendar-mcp/index.md b/documentation/blog/2025-03-20-asana-calendar-mcp/index.md index 7af135bc..751984c9 100644 --- a/documentation/blog/2025-03-20-asana-calendar-mcp/index.md +++ b/documentation/blog/2025-03-20-asana-calendar-mcp/index.md @@ -43,12 +43,12 @@ This has been so extremely helpful in increasing my productivity. Thanks, Goose! - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-21-goose-boston-meetup/index.mdx b/documentation/blog/2025-03-21-goose-boston-meetup/index.mdx index b79b29ee..50d0206b 100644 --- a/documentation/blog/2025-03-21-goose-boston-meetup/index.mdx +++ b/documentation/blog/2025-03-21-goose-boston-meetup/index.mdx @@ -12,7 +12,7 @@ authors: **Answer: You get an electric night filled with great conversations, hands-on hacking, and mind-blowing insights into agentic systems.** -This week, we hosted our very first [Goose](https://block.github.io/goose) Meetup in Boston at the Cambridge Innovation Center. The turnout and energy exceeded all expectations! From first-time Goose users to seasoned AI engineers, attendees gathered to explore how Goose and the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) are shaping the future of AI automation. +This week, we hosted our very first [Goose](https://goose-docs.ai) Meetup in Boston at the Cambridge Innovation Center. The turnout and energy exceeded all expectations! From first-time Goose users to seasoned AI engineers, attendees gathered to explore how Goose and the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) are shaping the future of AI automation. @@ -110,12 +110,12 @@ _The Goose Team in Boston_ - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-21-goose-vscode/index.mdx b/documentation/blog/2025-03-21-goose-vscode/index.mdx index 35baf4d9..5b03632b 100644 --- a/documentation/blog/2025-03-21-goose-vscode/index.mdx +++ b/documentation/blog/2025-03-21-goose-vscode/index.mdx @@ -60,12 +60,12 @@ The project is open source, and welcomes contributions from the community. If yo - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-26-mcp-security/index.md b/documentation/blog/2025-03-26-mcp-security/index.md index ab66f3cd..9c8f023e 100644 --- a/documentation/blog/2025-03-26-mcp-security/index.md +++ b/documentation/blog/2025-03-26-mcp-security/index.md @@ -58,12 +58,12 @@ A quick glance at an MCP directory like Glama can save you from crying on your o - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-28-vibe-coding-with-goose/index.md b/documentation/blog/2025-03-28-vibe-coding-with-goose/index.md index 7e3751a2..2f4153dc 100644 --- a/documentation/blog/2025-03-28-vibe-coding-with-goose/index.md +++ b/documentation/blog/2025-03-28-vibe-coding-with-goose/index.md @@ -84,12 +84,12 @@ Voice interactions with AI agents like Goose with the power and tools to act on - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-03-31-goose-benchmark/index.md b/documentation/blog/2025-03-31-goose-benchmark/index.md index 0dd27cba..c047f5b0 100644 --- a/documentation/blog/2025-03-31-goose-benchmark/index.md +++ b/documentation/blog/2025-03-31-goose-benchmark/index.md @@ -23,7 +23,7 @@ These community evals aren't the rigorous, peer-reviewed benchmarks that researc In this spirit, we're introducing our **Goose Vibe Check** leaderboard. -Thank you to the Ollama team for their help and support in our experimentation contributing to this blog! We used Ollama’s [structured outputs](https://ollama.com/blog/structured-outputs) feature to enable our [toolshim implementation](https://block.github.io/goose/docs/experimental/ollama) (more below) and their recently released [context length parameter override](https://github.com/ollama/ollama/blob/main/docs/faq.mdx#how-can-i-specify-the-context-window-size) to enable testing on longer contexts. +Thank you to the Ollama team for their help and support in our experimentation contributing to this blog! We used Ollama’s [structured outputs](https://ollama.com/blog/structured-outputs) feature to enable our [toolshim implementation](https://goose-docs.ai/docs/experimental/ollama) (more below) and their recently released [context length parameter override](https://github.com/ollama/ollama/blob/main/docs/faq.mdx#how-can-i-specify-the-context-window-size) to enable testing on longer contexts. ## Leaderboard @@ -136,7 +136,7 @@ Tool calling enables models to interact with [MCP extensions](https://github.com ### Evaluation Suites -Our evaluations are defined in the [Goose repository](https://github.com/block/goose/tree/main/crates/goose-bench/src/eval_suites) (PRs welcome to add additional evals!) and are grouped into two categories: +Our evaluations are defined in the [Goose repository](https://github.com/aaif-goose/goose/tree/main/crates/goose-bench/src/eval_suites) (PRs welcome to add additional evals!) and are grouped into two categories: #### Core Suite These evals focus on certain tasks fundamental to developer workflows: @@ -237,7 +237,7 @@ However, this solution has limited performance due to: - **Structured output interference:** Ollama’s structured output feature influences the model’s token sampling process, where the output is impacted by the model’s fundamental ability to extract information and generate JSON appropriately. Despite these challenges, there could be potential in fine-tuning these toolshim models to specifically optimize them for tool call generation. -If you’d like to try out the toolshim, check out our [documentation](https://block.github.io/goose/docs/experimental/ollama) +If you’d like to try out the toolshim, check out our [documentation](https://goose-docs.ai/docs/experimental/ollama) ## Practical Advice for Local Model Users @@ -422,13 +422,13 @@ For runs that successfully created an index.html for the Wiki page task, here’ - + - + - + - + diff --git a/documentation/blog/2025-03-31-securing-mcp/index.md b/documentation/blog/2025-03-31-securing-mcp/index.md index a2cc3f53..f8f153e7 100644 --- a/documentation/blog/2025-03-31-securing-mcp/index.md +++ b/documentation/blog/2025-03-31-securing-mcp/index.md @@ -176,12 +176,12 @@ We’re excited to work on making this protocol more secure for users and develo - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-01-mcp-nondevs/index.md b/documentation/blog/2025-04-01-mcp-nondevs/index.md index aa21bdd1..6d216275 100644 --- a/documentation/blog/2025-04-01-mcp-nondevs/index.md +++ b/documentation/blog/2025-04-01-mcp-nondevs/index.md @@ -68,24 +68,24 @@ Asana: Create a new task in my Asana workspace called 'Review Q4 metrics' and se GitHub: Create a new branch called hello-world in my angiejones/goose-demo repository. Update the README.md file to say "this was written by goose" and commit it. Open a pull request with your changes. ``` -To see more examples just like this, along with the results you can get, check out this [Prompt Library](https://block.github.io/goose/prompt-library)! This is your central directory for discovering and using effective prompts with Goose. +To see more examples just like this, along with the results you can get, check out this [Prompt Library](https://goose-docs.ai/prompt-library)! This is your central directory for discovering and using effective prompts with Goose. ## The Possibilities Are Endless While some are developed by official providers, a vast majority of MCP servers you see are actually developed by community members! Plus, because MCP is an open standard, anyone can build an MCP server for any resource. You could even use Goose to help you build one! Hopefully now, instead of spending hours manually gathering data and creating your next marketing report, or manually sorting through your todo-backlog on a Monday, you will use MCP with Goose and have it done for you in minutes. -*To learn more about using MCP servers and Goose, check out the [Goose documentation](https://block.github.io/goose/docs/category/getting-started), or join the [Block Open Source Discord](https://discord.gg/goose-oss) to connect with other open source community members.* +*To learn more about using MCP servers and Goose, check out the [Goose documentation](https://goose-docs.ai/docs/category/getting-started), or join the [Block Open Source Discord](https://discord.gg/goose-oss) to connect with other open source community members.* - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-01-top-5-mcp-servers/index.mdx b/documentation/blog/2025-04-01-top-5-mcp-servers/index.mdx index 61bf64c3..728af074 100644 --- a/documentation/blog/2025-04-01-top-5-mcp-servers/index.mdx +++ b/documentation/blog/2025-04-01-top-5-mcp-servers/index.mdx @@ -89,12 +89,12 @@ What are your favorite MCP servers? How do you use them together? Share your exp - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-08-vibe-code-responsibly/index.md b/documentation/blog/2025-04-08-vibe-code-responsibly/index.md index 6b88adbb..c1b6f5cc 100644 --- a/documentation/blog/2025-04-08-vibe-code-responsibly/index.md +++ b/documentation/blog/2025-04-08-vibe-code-responsibly/index.md @@ -38,7 +38,7 @@ This creative freedom comes with significant risks. Many developers have encount ## A Better Way to Vibe Code with Goose -[Goose](https://block.github.io/goose) is an open source AI agent local to your machine with built-in features for safe vibe coding. +[Goose](https://goose-docs.ai) is an open source AI agent local to your machine with built-in features for safe vibe coding. :::note Most folks define "vibe coding" as purely chaotic development with no rules. I'm redefining it as flowing with AI while protecting your project, team, and future self. @@ -46,7 +46,7 @@ Most folks define "vibe coding" as purely chaotic development with no rules. I'm ### 1. Use `.gooseignore` to Protect Sensitive Files -Goose supports [`.gooseignore`](https://block.github.io/goose/docs/guides/using-gooseignore) files. The concept is similar to `.gitignore` files for your AI agent. It defines which files and folders Goose should *not* read, modify, or interact with. +Goose supports [`.gooseignore`](https://goose-docs.ai/docs/guides/using-gooseignore) files. The concept is similar to `.gitignore` files for your AI agent. It defines which files and folders Goose should *not* read, modify, or interact with. Use this when you want to prevent: @@ -59,13 +59,13 @@ Use this when you want to prevent: ### 2. Create a plan -Goose's [`/plan`](https://block.github.io/goose/docs/guides/goose-cli-commands#examples) command helps you align with your agent before any code is touched, giving you a clear understanding of what it intends to do and how it will do it. +Goose's [`/plan`](https://goose-docs.ai/docs/guides/goose-cli-commands#examples) command helps you align with your agent before any code is touched, giving you a clear understanding of what it intends to do and how it will do it. This is especially useful for tasks that span multiple files, involve side effects, or could impact critical areas of your codebase. No more guessworkβ€”just a structured breakdown you can review and approve. ### 3. Choose the Right Mode for the Job -While letting your AI agent take the lead is fun, not every moment calls for full autonomy. Sometimes, you need to pause, review, or plan before any code changes. Goose offers several [modes](https://block.github.io/goose/docs/guides/goose-permissions) that help you stay in control without breaking your momentum. Here's how to use them intentionally during your sessions: +While letting your AI agent take the lead is fun, not every moment calls for full autonomy. Sometimes, you need to pause, review, or plan before any code changes. Goose offers several [modes](https://goose-docs.ai/docs/guides/goose-permissions) that help you stay in control without breaking your momentum. Here's how to use them intentionally during your sessions: * **Chat Mode** Goose will only respond with text so that you can brainstorm together. @@ -117,7 +117,7 @@ Before issues hit production, add [Goose to your CI/CD pipeline](/docs/tutorials Some MCP servers can introduce security risks, especially if compromised. -Use the Goose [allowlist](https://github.com/block/goose/blob/main/crates/goose-server/ALLOWLIST.md) feature to prevent Goose from calling unsafe or untrusted tools. +Use the Goose [allowlist](https://github.com/aaif-goose/goose/blob/main/crates/goose-server/ALLOWLIST.md) feature to prevent Goose from calling unsafe or untrusted tools. Here's how the team at Block is thinking about [securing the MCP](/blog/2025/03/31/securing-mcp). @@ -128,7 +128,7 @@ Not all LLMs are built the same. Goose plays best with: * Claude Sonnet 3.5 * GPT-4o -Lower-performing models might work, but they're more likely to hallucinate or misunderstand your goals. Read more about how [different LLM's perform with Goose](https://block.github.io/goose/blog/2025/03/31/goose-benchmark/). +Lower-performing models might work, but they're more likely to hallucinate or misunderstand your goals. Read more about how [different LLM's perform with Goose](https://goose-docs.ai/blog/2025/03/31/goose-benchmark/). ## Watch Vibe Coding in Action Here’s how folks vibe code with Goose: @@ -139,17 +139,17 @@ Here’s how folks vibe code with Goose: Vibe coding isn't inherently wrong. It's marks a new chapter in how we build, and it opens the door for everyone. But experienced developers have a responsibility to define what smart, safe vibe coding looks like. Goose gives us the tools to set that standard, so the whole community can code creatively without sacrificing quality. -Download [Goose](https://block.github.io/goose/docs/getting-started/installation/), and start vibe coding with intention today! +Download [Goose](https://goose-docs.ai/docs/getting-started/installation/), and start vibe coding with intention today! - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-10-visual-guide-mcp/index.md b/documentation/blog/2025-04-10-visual-guide-mcp/index.md index 3020cf28..0d7df29e 100644 --- a/documentation/blog/2025-04-10-visual-guide-mcp/index.md +++ b/documentation/blog/2025-04-10-visual-guide-mcp/index.md @@ -82,12 +82,12 @@ And don't forget to [join the community](https://discord.gg/goose-oss) to see wh - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-11-finetuning-toolshim/index.md b/documentation/blog/2025-04-11-finetuning-toolshim/index.md index 24ec682e..2837bc71 100644 --- a/documentation/blog/2025-04-11-finetuning-toolshim/index.md +++ b/documentation/blog/2025-04-11-finetuning-toolshim/index.md @@ -8,7 +8,7 @@ authors: ![blog cover](toolshim-header.png) -Our recently published [Goose benchmark](https://block.github.io/goose/blog/2025/03/31/goose-benchmark) revealed significant performance limitations in models where tool calling is not straightforwardly supported (e.g., Gemma3, Deepseek-r1, phi4). These models often fail to invoke tools at appropriate times or produce malformed or inconsistently formatted tool calls. With the most recent releases of Llama4 and Deepseek v3 (0324), we are again observing challenges with effective tool calling performance, even on these flagship openweight models. +Our recently published [Goose benchmark](https://goose-docs.ai/blog/2025/03/31/goose-benchmark) revealed significant performance limitations in models where tool calling is not straightforwardly supported (e.g., Gemma3, Deepseek-r1, phi4). These models often fail to invoke tools at appropriate times or produce malformed or inconsistently formatted tool calls. With the most recent releases of Llama4 and Deepseek v3 (0324), we are again observing challenges with effective tool calling performance, even on these flagship openweight models. @@ -18,13 +18,13 @@ Tool calling is a critical capability for agents like goose. It allows models to ## Background: using a local model as a "toolshim" -The goal is to allow goose to work with the widest variety of models possible. A "toolshim" in this case is a thin layer which sits between the main model doing the agent work, and the tools that can perform actual actions (making the agent take action, vs being a chatbot). Previously we have been trying this approach with open models including in this [past benchmark](https://block.github.io/goose/blog/2025/03/31/goose-benchmark) post. A toolshim, if it can work, unlocks both powerful cutting edge models (open weight and closed) which while may perform well on various benchmarks, fall well short when tool calling for agents is required (or perhaps don't, by design, support tool calling at all, such as the case with some reasoning models). +The goal is to allow goose to work with the widest variety of models possible. A "toolshim" in this case is a thin layer which sits between the main model doing the agent work, and the tools that can perform actual actions (making the agent take action, vs being a chatbot). Previously we have been trying this approach with open models including in this [past benchmark](https://goose-docs.ai/blog/2025/03/31/goose-benchmark) post. A toolshim, if it can work, unlocks both powerful cutting edge models (open weight and closed) which while may perform well on various benchmarks, fall well short when tool calling for agents is required (or perhaps don't, by design, support tool calling at all, such as the case with some reasoning models). ## Proposal: Fine-tune a lightweight toolshim model (up to 12b) Develop a dedicated toolshim model that translates open-source model outputs into well-structured tool calls, acting as a reliable post-processor to standardize across model families trained that currently exhibit inconsistent and unreliable tool call generation behavior. We do not use tool calling apis even if available, but provide tool context in the system prompts. -We already experimented with this in the [benchmarking effort](https://block.github.io/goose/blog/2025/03/31/goose-benchmark), finding that phi4 (14b) and gemma3 (27b) achieved close performance to llama3.3 (70b) when used with a generic local model (mistral-nemo) as the shim. This shows potential for furthering their performance with more focused attention on improving the shim's performance. +We already experimented with this in the [benchmarking effort](https://goose-docs.ai/blog/2025/03/31/goose-benchmark), finding that phi4 (14b) and gemma3 (27b) achieved close performance to llama3.3 (70b) when used with a generic local model (mistral-nemo) as the shim. This shows potential for furthering their performance with more focused attention on improving the shim's performance. Toolshim System Sketch: @@ -86,12 +86,12 @@ On top of local models, we would like to consider parsers, parser combinators, c - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-14-community-atruelight4/index.md b/documentation/blog/2025-04-14-community-atruelight4/index.md index fa108181..527cdfe5 100644 --- a/documentation/blog/2025-04-14-community-atruelight4/index.md +++ b/documentation/blog/2025-04-14-community-atruelight4/index.md @@ -27,17 +27,17 @@ Thank you so much for your contribution, ATrueLight4! Your work brings us one st To show our deep gratitude for your contribution, we've granted you the exclusive ✨Top Contributor✨ badge on the Block Open Source Discord! You'll also be one of the first contributors to receive exclusive codename goose swag. (more info on that to be announced later πŸ‘€πŸͺΏ) ## Get Your Own Spotlight -Interested in contributing to goose and having your contribution featured? Whether it's improving platform support, adding new features, or fixing bugs, we welcome all contributions from the open source community. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://block.github.io/goose/) today. +Interested in contributing to goose and having your contribution featured? Whether it's improving platform support, adding new features, or fixing bugs, we welcome all contributions from the open source community. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://goose-docs.ai/) today. - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-17-goose-goes-to-NY/index.mdx b/documentation/blog/2025-04-17-goose-goes-to-NY/index.mdx index 266caa25..8984cca0 100644 --- a/documentation/blog/2025-04-17-goose-goes-to-NY/index.mdx +++ b/documentation/blog/2025-04-17-goose-goes-to-NY/index.mdx @@ -104,12 +104,12 @@ We’ll see you in Atlanta πŸ‘€ - + - + - + - + diff --git a/documentation/blog/2025-04-21-mcp-in-enterprise/index.mdx b/documentation/blog/2025-04-21-mcp-in-enterprise/index.mdx index a4e3c380..42e85532 100644 --- a/documentation/blog/2025-04-21-mcp-in-enterprise/index.mdx +++ b/documentation/blog/2025-04-21-mcp-in-enterprise/index.mdx @@ -125,12 +125,12 @@ We'd love to hear how others are approaching AI automation at scale. - + - + - + - + diff --git a/documentation/blog/2025-04-21-practical-use-cases-of-ai/index.md b/documentation/blog/2025-04-21-practical-use-cases-of-ai/index.md index a76c7540..a2ce8737 100644 --- a/documentation/blog/2025-04-21-practical-use-cases-of-ai/index.md +++ b/documentation/blog/2025-04-21-practical-use-cases-of-ai/index.md @@ -270,12 +270,12 @@ Let goose surprise you. ✨ - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-04-22-community-bestcodes/index.md b/documentation/blog/2025-04-22-community-bestcodes/index.md index 9eb95ddb..c3e34098 100644 --- a/documentation/blog/2025-04-22-community-bestcodes/index.md +++ b/documentation/blog/2025-04-22-community-bestcodes/index.md @@ -13,30 +13,30 @@ The only way to discover how much of an impact your contributions can make is to ## How BestCodes Discovered Goose -[BestCodes](https://bestcodes.dev/) first discovered Goose during a [GitHub Open Source Friday livestream](https://www.youtube.com/watch?v=O-zJJN-TkXc&ab_channel=AngieJones) and decided to give it a try. At the time, Goose offered limited support for Windows/Linux (with more work in progress before any official release). Since BestCodes wasn't a Mac user, he wanted to help bring support to Linux. After lots of troubleshooting, he ended up creating [a Debian build fix](https://github.com/block/goose/pull/2070) that finally let him start using Goose on Linux. +[BestCodes (aka William Steele)](https://bestcodes.dev/) first discovered Goose during a [GitHub Open Source Friday livestream](https://www.youtube.com/watch?v=O-zJJN-TkXc&ab_channel=AngieJones) and decided to give it a try. At the time, Goose offered limited support for Windows/Linux (with more work in progress before any official release). Since BestCodes wasn't a Mac user, he wanted to help bring support to Linux. After lots of troubleshooting, he ended up creating [a Debian build fix](https://github.com/aaif-goose/goose/pull/2070) that finally let him start using Goose on Linux. Even though BestCodes wondered if such a small fix was worth sharing, it was this "small" contribution that enabled fellow community members wanting to use Goose on Linux, and gave him momentum for future PRs. His experience is proof that your contribution has a chance to help someone, and you should share it! You never know what curiosity and the open source community can make happen. ## Building Momentum -BestCodes has continued to make Goose better with thoughtful improvementsβ€”from [polishing the UI](https://github.com/block/goose/pull/2079) and [refining load states](https://github.com/block/goose/pull/2079), to [fixing subtle bugs](https://github.com/block/goose/pull/2279) that make the Goose experience smoother for everyone. You can check out [BestCodes' contributions on GitHub](https://github.com/block/goose/pulls?q=is%3Apr+is%3Aclosed+author%3AThe-Best-Codes). +BestCodes has continued to make Goose better with thoughtful improvementsβ€”from [polishing the UI](https://github.com/aaif-goose/goose/pull/2079) and [refining load states](https://github.com/aaif-goose/goose/pull/2079), to [fixing subtle bugs](https://github.com/aaif-goose/goose/pull/2279) that make the Goose experience smoother for everyone. You can check out [BestCodes' contributions on GitHub](https://github.com/aaif-goose/goose/pulls?q=is%3Apr+is%3Aclosed+author%3AThe-Best-Codes). Thank you so much for your continued support and contributions, BestCodes! Your work brings us one step closer to a full Goose experience on Windows and Linux. To show how grateful we are for your contributions, we've granted you the exclusive ✨Top Contributor✨ badge on the Block Open Source Discord! Plus, you'll also be receiving exclusive codename goose swag. πŸ‘€πŸͺΏ ## Become A Top Contributor -Interested in contributing to goose and having your work featured? Whether it's fixing bugs, sharing ideas, or helping others, every contribution from the open source community has the chance to help someone. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://block.github.io/goose/) today. +Interested in contributing to goose and having your work featured? Whether it's fixing bugs, sharing ideas, or helping others, every contribution from the open source community has the chance to help someone. You can [join the Block Open Source Discord](https://discord.gg/goose-oss) or [get started using codename goose](https://goose-docs.ai/) today. - + - + - + - + diff --git a/documentation/blog/2025-04-22-mcp-is-rewriting-the-rules-of-api-integration/index.md b/documentation/blog/2025-04-22-mcp-is-rewriting-the-rules-of-api-integration/index.md index 3f92bfa1..ddb6b235 100644 --- a/documentation/blog/2025-04-22-mcp-is-rewriting-the-rules-of-api-integration/index.md +++ b/documentation/blog/2025-04-22-mcp-is-rewriting-the-rules-of-api-integration/index.md @@ -153,12 +153,12 @@ A: Your approach on this may vary depending on whether you're building your own - + - + - + - + diff --git a/documentation/blog/2025-04-23-things-need-to-know/index.md b/documentation/blog/2025-04-23-things-need-to-know/index.md index 338822eb..53269c8c 100644 --- a/documentation/blog/2025-04-23-things-need-to-know/index.md +++ b/documentation/blog/2025-04-23-things-need-to-know/index.md @@ -43,9 +43,9 @@ Either way, Goose gives you the flexibility. That said, if you’re looking for the best performance with Goose right now, Anthropic's Claude 3.5 Sonnet and OpenAI's GPT-4o (2024-11-20) are recommended, as they currently offer the strongest support for tool calling. -Curious how other models stack up? Check out the [Community-Inspired Benchmark Leaderboard](https://block.github.io/goose/blog/2025/03/31/goose-benchmark/#leaderboard) to see how your favorite model performs with Goose. +Curious how other models stack up? Check out the [Community-Inspired Benchmark Leaderboard](https://goose-docs.ai/blog/2025/03/31/goose-benchmark/#leaderboard) to see how your favorite model performs with Goose. -And if you’re still deciding, here’s the full list of [available LLM providers](https://block.github.io/goose/docs/getting-started/providers#available-providers). +And if you’re still deciding, here’s the full list of [available LLM providers](https://goose-docs.ai/docs/getting-started/providers#available-providers). --- @@ -65,7 +65,7 @@ Goose itself? Totally free and open source. πŸŽ‰ But your LLM provider might not Most models give you a free tier to play around with, but if you're doing anything intensive or using it often, you’ll eventually run into rate limits or token charges. That’s normal but it can sneak up on you if you’re not expecting it. -To help you manage this, there is a [Handling Rate Limits Guide](https://block.github.io/goose/docs/guides/handling-llm-rate-limits-with-goose/) that you can check out. +To help you manage this, there is a [Handling Rate Limits Guide](https://goose-docs.ai/docs/guides/handling-llm-rate-limits-with-goose/) that you can check out. --- @@ -73,7 +73,7 @@ To help you manage this, there is a [Handling Rate Limits Guide](https://block.g This part matters more than most people realize. -Goose has an entire community behind itβ€”folks building, exploring, breaking things (and fixing them), and sharing everything they learn along the way. We hang out on [Discord](https://discord.gg/goose-oss), we answer questions in [GitHub Discussions](https://github.com/block/goose/discussions), and we host livestreams every week to show off what Goose can do and how to make it do more. +Goose has an entire community behind itβ€”folks building, exploring, breaking things (and fixing them), and sharing everything they learn along the way. We hang out on [Discord](https://discord.gg/goose-oss), we answer questions in [GitHub Discussions](https://github.com/aaif-goose/goose/discussions), and we host livestreams every week to show off what Goose can do and how to make it do more. There’s: @@ -81,27 +81,27 @@ There’s: - **Wild Goose Case** – showcasing cool community projects - **Great Goose Off** - same task, same time limit, but different prompts, MCP servers, and strategies -You’ll find those livestreams on our [YouTube channel](https://www.youtube.com/@goose-oss/streams), and upcoming ones on the Discord calendar. Plus, if you prefer documentation, the [Goose docs](https://block.github.io/goose/) and [blog](https://block.github.io/goose/blog) are constantly being updated with new guides, tips, and tutorials. +You’ll find those livestreams on our [YouTube channel](https://www.youtube.com/@goose-oss/streams), and upcoming ones on the Discord calendar. Plus, if you prefer documentation, the [Goose docs](https://goose-docs.ai/) and [blog](https://goose-docs.ai/blog) are constantly being updated with new guides, tips, and tutorials. --- If you've got those four things: a performant LLM, the right MCP servers, a basic understanding of LLM cost, and a place to ask questions, you're more than ready to Goose. -Now, head over to the [Quickstart Guide](https://block.github.io/goose/docs/quickstart) and get started. +Now, head over to the [Quickstart Guide](https://goose-docs.ai/docs/quickstart) and get started. -Oh and when you get to the [Tic-Tac-Toe game](https://block.github.io/goose/docs/quickstart/#write-prompt), I’ll bet you 10 Goosebucks you won’t beat the bot. +Oh and when you get to the [Tic-Tac-Toe game](https://goose-docs.ai/docs/quickstart/#write-prompt), I’ll bet you 10 Goosebucks you won’t beat the bot. - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-05-06-recipe-for-success/index.md b/documentation/blog/2025-05-06-recipe-for-success/index.md index ea48a99a..2fc35169 100644 --- a/documentation/blog/2025-05-06-recipe-for-success/index.md +++ b/documentation/blog/2025-05-06-recipe-for-success/index.md @@ -195,12 +195,12 @@ Your team is full of problem solvers. One teammate built a slick internal dashbo - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-05-09-developers-ai-playbook-for-team-efficiency/index.md b/documentation/blog/2025-05-09-developers-ai-playbook-for-team-efficiency/index.md index 7f03123e..0b691b56 100644 --- a/documentation/blog/2025-05-09-developers-ai-playbook-for-team-efficiency/index.md +++ b/documentation/blog/2025-05-09-developers-ai-playbook-for-team-efficiency/index.md @@ -300,13 +300,13 @@ We'd love for you to share your ideas with us! Share your ideas by creating a re - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-05-12-local-goose-qwen3/index.md b/documentation/blog/2025-05-12-local-goose-qwen3/index.md index 0e033d40..a973893f 100644 --- a/documentation/blog/2025-05-12-local-goose-qwen3/index.md +++ b/documentation/blog/2025-05-12-local-goose-qwen3/index.md @@ -60,13 +60,13 @@ It would be interesting to try the larger models if, you have access to hardware - + - + - + - + diff --git a/documentation/blog/2025-05-20-goose-gets-a-drivers-license/index.md b/documentation/blog/2025-05-20-goose-gets-a-drivers-license/index.md index 19abf3e8..0bd67d0d 100644 --- a/documentation/blog/2025-05-20-goose-gets-a-drivers-license/index.md +++ b/documentation/blog/2025-05-20-goose-gets-a-drivers-license/index.md @@ -149,12 +149,12 @@ We're always excited to see what the community is up to. If you're working on yo - + - + - + - + diff --git a/documentation/blog/2025-05-22-llm-agent-readiness/index.md b/documentation/blog/2025-05-22-llm-agent-readiness/index.md index 3ca22f07..b871534c 100644 --- a/documentation/blog/2025-05-22-llm-agent-readiness/index.md +++ b/documentation/blog/2025-05-22-llm-agent-readiness/index.md @@ -97,12 +97,12 @@ If a model passes this multi-turn prompt sequence, it's safe to assume that it i - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-05-22-manage-local-host-conflicts-with-goose/index.md b/documentation/blog/2025-05-22-manage-local-host-conflicts-with-goose/index.md index efe045a2..98bc74ff 100644 --- a/documentation/blog/2025-05-22-manage-local-host-conflicts-with-goose/index.md +++ b/documentation/blog/2025-05-22-manage-local-host-conflicts-with-goose/index.md @@ -88,12 +88,12 @@ Freeing up ports is something I know how to do. But I use AI tools like Goose fo - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-06-02-goose-panther-mcp/index.md b/documentation/blog/2025-06-02-goose-panther-mcp/index.md index e13ef918..73d14e82 100644 --- a/documentation/blog/2025-06-02-goose-panther-mcp/index.md +++ b/documentation/blog/2025-06-02-goose-panther-mcp/index.md @@ -431,12 +431,12 @@ Block is dedicated to improving its security defenses and supporting its team by - + - + - + - + diff --git a/documentation/blog/2025-06-05-whats-in-my-goosehints-file/index.md b/documentation/blog/2025-06-05-whats-in-my-goosehints-file/index.md index 669ba931..d2b49e95 100644 --- a/documentation/blog/2025-06-05-whats-in-my-goosehints-file/index.md +++ b/documentation/blog/2025-06-05-whats-in-my-goosehints-file/index.md @@ -124,13 +124,13 @@ Share your own `.goosehints` optimization stories in the [Goose community on Dis - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-06-16-multi-model-in-goose/index.md b/documentation/blog/2025-06-16-multi-model-in-goose/index.md index 538ec478..1cc7a562 100644 --- a/documentation/blog/2025-06-16-multi-model-in-goose/index.md +++ b/documentation/blog/2025-06-16-multi-model-in-goose/index.md @@ -89,12 +89,12 @@ If you're experimenting with multi-model setups, [share what's working and what - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-06-17-goose-emotion-detection-app/index.mdx b/documentation/blog/2025-06-17-goose-emotion-detection-app/index.mdx index b374413b..851d3c76 100644 --- a/documentation/blog/2025-06-17-goose-emotion-detection-app/index.mdx +++ b/documentation/blog/2025-06-17-goose-emotion-detection-app/index.mdx @@ -97,12 +97,12 @@ Happy experimenting! - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-06-19-isolated-development-environments/index.md b/documentation/blog/2025-06-19-isolated-development-environments/index.md index f0753e89..eef7f5ba 100644 --- a/documentation/blog/2025-06-19-isolated-development-environments/index.md +++ b/documentation/blog/2025-06-19-isolated-development-environments/index.md @@ -102,7 +102,7 @@ extensions: --- -*Questions? Join our [GitHub discussions](https://github.com/block/goose) or [Discord](https://discord.gg/goose-oss). Learn more about Dagger at [dagger.io](https://dagger.io/).* +*Questions? Join our [GitHub discussions](https://github.com/aaif-goose/goose) or [Discord](https://discord.gg/goose-oss). Learn more about Dagger at [dagger.io](https://dagger.io/).* {/* Video Player */}
@@ -121,12 +121,12 @@ extensions: - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-06-27-everyday-usecases-ai/index.md b/documentation/blog/2025-06-27-everyday-usecases-ai/index.md index 16710d11..39cdf7d3 100644 --- a/documentation/blog/2025-06-27-everyday-usecases-ai/index.md +++ b/documentation/blog/2025-06-27-everyday-usecases-ai/index.md @@ -114,12 +114,12 @@ What everyday tasks are you delegating to AI agents? Let us know in [Discord](ht - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-07-21-orchestrating-subagents/index.md b/documentation/blog/2025-07-21-orchestrating-subagents/index.md index 729784e9..a821f876 100644 --- a/documentation/blog/2025-07-21-orchestrating-subagents/index.md +++ b/documentation/blog/2025-07-21-orchestrating-subagents/index.md @@ -176,12 +176,12 @@ What will you build with subagents? - + - + - + - + diff --git a/documentation/blog/2025-07-28-ai-to-ai/index.md b/documentation/blog/2025-07-28-ai-to-ai/index.md index 6eff5357..6c038a08 100644 --- a/documentation/blog/2025-07-28-ai-to-ai/index.md +++ b/documentation/blog/2025-07-28-ai-to-ai/index.md @@ -437,12 +437,12 @@ You caught me being an impolite AI! Even artificial beings should have better ma - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-07-28-streamlining-detection-development-with-goose-recipes/index.md b/documentation/blog/2025-07-28-streamlining-detection-development-with-goose-recipes/index.md index 5470d8f6..703cfcb0 100644 --- a/documentation/blog/2025-07-28-streamlining-detection-development-with-goose-recipes/index.md +++ b/documentation/blog/2025-07-28-streamlining-detection-development-with-goose-recipes/index.md @@ -9,7 +9,7 @@ authors: Creating effective security detections in Panther traditionally requires deep knowledge of detection logic, testing frameworks, and development workflows. The detection engineering team at Block has streamlined this process by building Goose recipes that automate the entire detection creation lifecycle from initial repository set up to pull request creation. -This blog post explores how to leverage Goose's [recipe](https://block.github.io/goose/docs/guides/recipes/) and [subrecipe](https://block.github.io/goose/docs/guides/recipes/subrecipes) system to create new detections in Panther with minimal manual intervention, ensuring consistency, quality, and adherence to team standards. +This blog post explores how to leverage Goose's [recipe](https://goose-docs.ai/docs/guides/recipes/) and [subrecipe](https://goose-docs.ai/docs/guides/recipes/subrecipes) system to create new detections in Panther with minimal manual intervention, ensuring consistency, quality, and adherence to team standards. @@ -70,7 +70,7 @@ The detection creation recipe demonstrates the power of this approach by coordin 6. [**pr_creator**](#6-pr_creator-automated-pull-request-pipeline) - Pull request creation with proper formatting ### What about .goosehints? -In our [previous post](https://block.github.io/goose/blog/2025/06/02/goose-panther-mcp), we discussed using [.goosehints](/docs/guides/context-engineering/using-goosehints/) to provide persistent context to the Large Language Model (LLM). We continue to use `.goosehints` to define coding standards and universal preferences that guide LLM behavior. +In our [previous post](https://goose-docs.ai/blog/2025/06/02/goose-panther-mcp), we discussed using [.goosehints](/docs/guides/context-engineering/using-goosehints/) to provide persistent context to the Large Language Model (LLM). We continue to use `.goosehints` to define coding standards and universal preferences that guide LLM behavior. However, to minimize redundancy and avoid conflicting guidance, we adopted a single reference file, `AGENTS.md`, as the source of truth for all agents. Each agent is directed to consult this file, while still supporting agent-specific instructions through their default context files (e.g. `.goosehints`, `CLAUDE.md` etc.) or rules (e.g. `.cursor/rules/`). @@ -622,13 +622,13 @@ Whether you're building your first Goose recipe or looking to optimize existing - + - - - + + + - - + + \ No newline at end of file diff --git a/documentation/blog/2025-07-29-openrouter-unlocks-workshops/index.md b/documentation/blog/2025-07-29-openrouter-unlocks-workshops/index.md index eb2e41ab..cf8d8bc2 100644 --- a/documentation/blog/2025-07-29-openrouter-unlocks-workshops/index.md +++ b/documentation/blog/2025-07-29-openrouter-unlocks-workshops/index.md @@ -77,7 +77,7 @@ Join us for an evening in collaboration with Temporal and Dagger, where you'll g This system isn't perfect. Right now, it's still a separate experience outside the Goose interface, and it doesn't scale well for events with different credit amounts or more complex needs. -We're working on it. Goose engineer, Mic Neale recently opened a [pull request](https://github.com/block/goose/pull/3507) to automate Goose's first-time setup. It simplifies the onboarding flow so new users can log into OpenRouter through their browser, securely authenticate, and get a pre-configured Goose setup without touching config files or copying API keys. It's a huge leap in user experience and lays the groundwork for future improvements. +We're working on it. Goose engineer, Mic Neale recently opened a [pull request](https://github.com/aaif-goose/goose/pull/3507) to automate Goose's first-time setup. It simplifies the onboarding flow so new users can log into OpenRouter through their browser, securely authenticate, and get a pre-configured Goose setup without touching config files or copying API keys. It's a huge leap in user experience and lays the groundwork for future improvements. ## Why This Approach Matters @@ -89,14 +89,14 @@ Want us to run a Goose workshop or hackathon? We’ll bring the API credits. You - + - + - + - + diff --git a/documentation/blog/2025-08-04-mcp-jupyter-server/index.md b/documentation/blog/2025-08-04-mcp-jupyter-server/index.md index b97009b9..78a270be 100644 --- a/documentation/blog/2025-08-04-mcp-jupyter-server/index.md +++ b/documentation/blog/2025-08-04-mcp-jupyter-server/index.md @@ -12,7 +12,7 @@ authors: Machine learning and data science workflows are inherently iterative. You load data, explore patterns, build models, and refine your approach based on results. But traditional AI assistants lose context between interactions, forcing you to reload data and re-establish context repeatedlyβ€”making data-heavy development slow and expensive. -The [**MCP Jupyter Server**](https://github.com/block/mcp-jupyter) solves this by enabling AI agents like Goose to work directly with your Jupyter notebooks, maintaining persistent memory and state across interactions while letting the AI interact with your data through code execution rather than raw data transfer. +The [**MCP Jupyter Server**](https://github.com/aaif-goose/mcp-jupyter) solves this by enabling AI agents like Goose to work directly with your Jupyter notebooks, maintaining persistent memory and state across interactions while letting the AI interact with your data through code execution rather than raw data transfer. @@ -130,7 +130,7 @@ This fluid back-and-forth, where the assistant understands and builds upon the e Here you can see an example notebook that was handled by the MCP Jupyter Server. The server -**[πŸ““ View the Complete Demo Notebook](https://github.com/block/mcp-jupyter/blob/main/demos/demo.ipynb)** +**[πŸ““ View the Complete Demo Notebook](https://github.com/aaif-goose/mcp-jupyter/blob/main/demos/demo.ipynb)** The demo walks through a typical data science workflow: - **Install Missing Libraries**: Installing missing libraries for the notebook @@ -143,18 +143,18 @@ The demo walks through a typical data science workflow: The MCP Jupyter Server integrates seamlessly with existing workflows and can also be used with the notebook viewer in VS Code based IDEs. -For detailed setup and configuration, check out the [complete documentation](https://block.github.io/mcp-jupyter/). +For detailed setup and configuration, check out the [complete documentation](https://aaif-goose.github.io/mcp-jupyter/). - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-10-vibe-coding-with-goose-building-apps-with-ai-agents/index.md b/documentation/blog/2025-08-10-vibe-coding-with-goose-building-apps-with-ai-agents/index.md index 719d4b36..69739201 100644 --- a/documentation/blog/2025-08-10-vibe-coding-with-goose-building-apps-with-ai-agents/index.md +++ b/documentation/blog/2025-08-10-vibe-coding-with-goose-building-apps-with-ai-agents/index.md @@ -394,7 +394,7 @@ What we demonstrated in this workshop hints at a fascinating future for software Want to try this yourself? Here's what you need: -1. **Install and Configure Goose**: Follow the [quickstart guide](https://block.github.io/goose/docs/quickstart) +1. **Install and Configure Goose**: Follow the [quickstart guide](https://goose-docs.ai/docs/quickstart) 2. **Start Small**: Try building a simple app first to get comfortable with the workflow :::note @@ -416,12 +416,12 @@ Remember, this is about prototyping and exploration, not production deployment. - + - + - + - + diff --git a/documentation/blog/2025-08-11-llm-tag-team-lead-worker-model/index.md b/documentation/blog/2025-08-11-llm-tag-team-lead-worker-model/index.md index c1dbaddf..462a0170 100644 --- a/documentation/blog/2025-08-11-llm-tag-team-lead-worker-model/index.md +++ b/documentation/blog/2025-08-11-llm-tag-team-lead-worker-model/index.md @@ -111,12 +111,12 @@ Got questions or want to share your own Lead/Worker success stories? Join us in - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-11-mcp-ui-post-browser-world/index.md b/documentation/blog/2025-08-11-mcp-ui-post-browser-world/index.md index 93eebfda..6eac720a 100644 --- a/documentation/blog/2025-08-11-mcp-ui-post-browser-world/index.md +++ b/documentation/blog/2025-08-11-mcp-ui-post-browser-world/index.md @@ -92,12 +92,12 @@ MCP-UI will continue to evolve, and may pick up more declarative ways for MCP-UI - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-12-mcp-testing/index.md b/documentation/blog/2025-08-12-mcp-testing/index.md index 7e2dbb45..5ac3159b 100644 --- a/documentation/blog/2025-08-12-mcp-testing/index.md +++ b/documentation/blog/2025-08-12-mcp-testing/index.md @@ -38,7 +38,7 @@ To keep pace with growing MCP complexity, **automated metadata validation become ## 2. System Overview: Modular and Composable Goose Recipes -The foundation of this framework is [Goose’s recipe engine](https://block.github.io/goose/docs/guides/recipes/). Recipes define reusable, declarative workflows for AI-assisted tasks. Each one encapsulates a stepβ€”like generating predictions or comparing resultsβ€”and can be composed into larger pipelines. +The foundation of this framework is [Goose’s recipe engine](https://goose-docs.ai/docs/guides/recipes/). Recipes define reusable, declarative workflows for AI-assisted tasks. Each one encapsulates a stepβ€”like generating predictions or comparing resultsβ€”and can be composed into larger pipelines. We start with a core recipe that maps natural language queries to tool calls. It reads queries, analyzes the toolset, and produces structured JSON mappings. This recipe becomes the building block for workflows like: @@ -61,9 +61,9 @@ The recipe starts by reading a plain text file containing natural language queri ``` List contributors to the block/mcp repository -List the top 10 contributors to block/goose +List the top 10 contributors to aaif-goose/goose Show me the closed branches in block/mcp -Show me all branches in the block/goose repository +Show me all branches in the aaif-goose/goose repository ``` **Step 2: Ask Goose to Make Predictions** @@ -96,7 +96,7 @@ instructions: | { "test_cases": [ { - "query": "Show me open pull requests in the block/goose repository", + "query": "Show me open pull requests in the aaif-goose/goose repository", "expected": { "tool": "tool_name", "parameters": { @@ -349,7 +349,7 @@ Here are two common types of mismatches the system detects: - **Issue:** Tool name changed from `list_branches` to `get_repo_branches`, likely due to a tooltip or function name update **❌ Example 2: Parameter Mismatch** -- **Query:** "Search for files containing console.log in block/goose" +- **Query:** "Search for files containing console.log in aaif-goose/goose" - **Gold Standard:** ```json { @@ -564,12 +564,12 @@ With these building blocks in place, teams can confidently expand their automati - + - + - + - + diff --git a/documentation/blog/2025-08-13-pulse-mcp-automates-recipe/index.md b/documentation/blog/2025-08-13-pulse-mcp-automates-recipe/index.md index 228fda9d..e76cacd0 100644 --- a/documentation/blog/2025-08-13-pulse-mcp-automates-recipe/index.md +++ b/documentation/blog/2025-08-13-pulse-mcp-automates-recipe/index.md @@ -75,17 +75,17 @@ The PulseMCP implementation proves we're past the demo phase of AI agents. Real --- -*Want to build your own AI agent workflows? [Get started with Goose](https://block.github.io/goose/) and join the community of developers building the future of human-AI collaboration.* +*Want to build your own AI agent workflows? [Get started with Goose](https://goose-docs.ai/) and join the community of developers building the future of human-AI collaboration.* - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-14-agent-coordination-patterns/index.md b/documentation/blog/2025-08-14-agent-coordination-patterns/index.md index 919afdfc..95757454 100644 --- a/documentation/blog/2025-08-14-agent-coordination-patterns/index.md +++ b/documentation/blog/2025-08-14-agent-coordination-patterns/index.md @@ -76,12 +76,12 @@ These setups are just different ways to organize work, whether it's human work o - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-14-how-goose-rebuilt-my-website/index.md b/documentation/blog/2025-08-14-how-goose-rebuilt-my-website/index.md index b34605b7..2690333e 100644 --- a/documentation/blog/2025-08-14-how-goose-rebuilt-my-website/index.md +++ b/documentation/blog/2025-08-14-how-goose-rebuilt-my-website/index.md @@ -60,12 +60,12 @@ So if you're sitting there with a naked website that needs help, or if you've be - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-18-transforming-ai-assistance-goose-mentor-mode/index.md b/documentation/blog/2025-08-18-transforming-ai-assistance-goose-mentor-mode/index.md index 5f902eb3..80fa524f 100644 --- a/documentation/blog/2025-08-18-transforming-ai-assistance-goose-mentor-mode/index.md +++ b/documentation/blog/2025-08-18-transforming-ai-assistance-goose-mentor-mode/index.md @@ -151,12 +151,12 @@ The early results suggest this approach resonates with developers who want to gr - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-18-understanding-context-windows/index.md b/documentation/blog/2025-08-18-understanding-context-windows/index.md index 23d28ef1..093a0864 100644 --- a/documentation/blog/2025-08-18-understanding-context-windows/index.md +++ b/documentation/blog/2025-08-18-understanding-context-windows/index.md @@ -73,15 +73,15 @@ Use [.goosehints](/docs/guides/context-engineering/using-goosehints/) files to a **3. Memory extension** -The [Memory extension](https://block.github.io/goose/docs/mcp/memory-mcp) stores important information across sessions. Instead of re-explaining your project background, past decisions, or important context every time you start a new conversation, you can reference stored information. This keeps your prompts focused on the current task rather than repeating historical context. +The [Memory extension](https://goose-docs.ai/docs/mcp/memory-mcp) stores important information across sessions. Instead of re-explaining your project background, past decisions, or important context every time you start a new conversation, you can reference stored information. This keeps your prompts focused on the current task rather than repeating historical context. **4. Recipes** -[Recipes](https://block.github.io/goose/docs/guides/recipes/) package complete task setups into reusable configurations, eliminating the need to provide lengthy instructions repeatedly. Instead of consuming tokens explaining complex workflows in every session, recipes contain all necessary instructions, extensions, and parameters upfront. This is particularly valuable for repetitive tasks where you'd otherwise spend significant tokens on setup and explanation. And if your recipe starts to feel overly lengthy, you can break the tasks up into [subrecipes](https://block.github.io/goose/docs/guides/recipes/subrecipes). +[Recipes](https://goose-docs.ai/docs/guides/recipes/) package complete task setups into reusable configurations, eliminating the need to provide lengthy instructions repeatedly. Instead of consuming tokens explaining complex workflows in every session, recipes contain all necessary instructions, extensions, and parameters upfront. This is particularly valuable for repetitive tasks where you'd otherwise spend significant tokens on setup and explanation. And if your recipe starts to feel overly lengthy, you can break the tasks up into [subrecipes](https://goose-docs.ai/docs/guides/recipes/subrecipes). **5. Subagents** -[Subagents](https://block.github.io/goose/docs/guides/subagents) handle specific tasks in their own isolated sessions. This prevents your main conversation from getting cluttered with implementation details and tool outputs. You delegate work to subagents and only see the final results, keeping your primary context window clean and focused. +[Subagents](https://goose-docs.ai/docs/guides/subagents) handle specific tasks in their own isolated sessions. This prevents your main conversation from getting cluttered with implementation details and tool outputs. You delegate work to subagents and only see the final results, keeping your primary context window clean and focused. **6. Short sessions** @@ -89,7 +89,7 @@ Keep individual sessions focused on specific tasks. When you complete a task or **7. Lead/worker model** -The [Lead/Worker model](https://block.github.io/goose/docs/tutorials/lead-worker) splits work between two models. The lead model handles high-level planning and decision-making, while the worker model executes the detailed implementation. This optimizes costs by using expensive models for strategic thinking and cheaper models for routine execution tasks. +The [Lead/Worker model](https://goose-docs.ai/docs/tutorials/lead-worker) splits work between two models. The lead model handles high-level planning and decision-making, while the worker model executes the detailed implementation. This optimizes costs by using expensive models for strategic thinking and cheaper models for routine execution tasks. --- @@ -99,12 +99,12 @@ The next time your AI agent seems to 'forget' something important or goes off tr - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-25-goose-became-its-own-watchdog/index.md b/documentation/blog/2025-08-25-goose-became-its-own-watchdog/index.md index c13d978e..0942869c 100644 --- a/documentation/blog/2025-08-25-goose-became-its-own-watchdog/index.md +++ b/documentation/blog/2025-08-25-goose-became-its-own-watchdog/index.md @@ -39,7 +39,7 @@ The whole process takes minutes instead of days, and the submitter gets immediat ## Goose in Headless Mode -We've covered headless mode in [tutorials](https://block.github.io/goose/docs/tutorials/headless-goose/) and [videos](https://www.youtube.com/@goose-oss/search?query=headless), but here's a quick recap: headless mode allows Goose to run without a graphical user interface, making it faster and more efficient for automated tasks. It excels in server environments as long as we're being _really_ clear about the instructions to follow, or a fallback if the instructions cannot be followed -- we don't want something half-finished or broken as a result if Goose gets stuck on what to do. +We've covered headless mode in [tutorials](https://goose-docs.ai/docs/tutorials/headless-goose/) and [videos](https://www.youtube.com/@goose-oss/search?query=headless), but here's a quick recap: headless mode allows Goose to run without a graphical user interface, making it faster and more efficient for automated tasks. It excels in server environments as long as we're being _really_ clear about the instructions to follow, or a fallback if the instructions cannot be followed -- we don't want something half-finished or broken as a result if Goose gets stuck on what to do. We launch the Docker container with something like this: @@ -89,12 +89,12 @@ Anyone can submit a recipe knowing it'll get a fair, thorough review. And when y - + - + - + - + diff --git a/documentation/blog/2025-08-25-mcp-ui-future-agentic-interfaces/index.md b/documentation/blog/2025-08-25-mcp-ui-future-agentic-interfaces/index.md index 8bf77db9..8690cfff 100644 --- a/documentation/blog/2025-08-25-mcp-ui-future-agentic-interfaces/index.md +++ b/documentation/blog/2025-08-25-mcp-ui-future-agentic-interfaces/index.md @@ -138,12 +138,12 @@ The future of interacting with AI relies on smarter interfaces. And with MCP-UI, - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-27-autovisualiser-with-mcp-ui/index.md b/documentation/blog/2025-08-27-autovisualiser-with-mcp-ui/index.md index 51c9609a..2bec713f 100644 --- a/documentation/blog/2025-08-27-autovisualiser-with-mcp-ui/index.md +++ b/documentation/blog/2025-08-27-autovisualiser-with-mcp-ui/index.md @@ -55,12 +55,12 @@ There are currently several families of things it can show: - + - + - + - + diff --git a/documentation/blog/2025-08-27-get-started-for-free-with-tetrate/index.md b/documentation/blog/2025-08-27-get-started-for-free-with-tetrate/index.md index ac436380..11cecbc3 100644 --- a/documentation/blog/2025-08-27-get-started-for-free-with-tetrate/index.md +++ b/documentation/blog/2025-08-27-get-started-for-free-with-tetrate/index.md @@ -64,17 +64,17 @@ Thank you to Tetrate for supporting open source and making AI development more a **What are you waiting for?** [Get started with goose](/) -*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. - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-08-28-ai-teammate/index.md b/documentation/blog/2025-08-28-ai-teammate/index.md index 575c14df..79e49337 100644 --- a/documentation/blog/2025-08-28-ai-teammate/index.md +++ b/documentation/blog/2025-08-28-ai-teammate/index.md @@ -55,7 +55,7 @@ The recipe: - Handles different flag implementations, ranging in complexity - Attempts refactoring for outdated code paths - Can automatically create draft pull requests, via the GitHub CLI -- Integrates with [Xcode Index MCP](https://github.com/block/xcode-index-mcp) for deep iOS project understanding +- Integrates with [Xcode Index MCP](https://github.com/aaif-goose/xcode-index-mcp) for deep iOS project understanding - Plans, implements, builds and tests locally to improve the accuracy of the flag removal result @@ -96,12 +96,12 @@ Want to tweak the base recipe for your own needs? Check out [Clean up feature fl - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-09-08-turn-any-mcp-server-mcp-ui-compatible/index.mdx b/documentation/blog/2025-09-08-turn-any-mcp-server-mcp-ui-compatible/index.mdx index 97f12c16..d0f883e1 100644 --- a/documentation/blog/2025-09-08-turn-any-mcp-server-mcp-ui-compatible/index.mdx +++ b/documentation/blog/2025-09-08-turn-any-mcp-server-mcp-ui-compatible/index.mdx @@ -335,12 +335,12 @@ Download [goose](/docs/quickstart#install-goose), give an MCP server a UI faceli - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-09-15-subrecipes-in-goose/index.md b/documentation/blog/2025-09-15-subrecipes-in-goose/index.md index 533f8291..11265ad2 100644 --- a/documentation/blog/2025-09-15-subrecipes-in-goose/index.md +++ b/documentation/blog/2025-09-15-subrecipes-in-goose/index.md @@ -379,23 +379,23 @@ Ready to start building your own subrecipe workflows? The kitchen is open, and a ## Share Your Recipes with Us! -Do you have a recipe you'd like to share with the community? We'd love to feature them in our [Recipe Cookbook](https://block.github.io/goose/recipes/)! +Do you have a recipe you'd like to share with the community? We'd love to feature them in our [Recipe Cookbook](https://goose-docs.ai/recipes/)! **How to contribute:** -1. [Fork the goose repository](https://github.com/block/goose/fork) -2. Add your recipe YAML file to the [`documentation/src/pages/recipes/data/recipes/`](https://github.com/block/goose/tree/main/documentation/src/pages/recipes/data/recipes) directory -3. Create a pull request following our [Recipe Contribution Guide](https://github.com/block/goose/blob/main/CONTRIBUTING_RECIPES.md) -Browse [existing recipes](https://github.com/block/goose/tree/main/documentation/src/pages/recipes/data/recipes) for inspiration and formatting examples. +1. [Fork the goose repository](https://github.com/aaif-goose/goose/fork) +2. Add your recipe YAML file to the [`documentation/src/pages/recipes/data/recipes/`](https://github.com/aaif-goose/goose/tree/main/documentation/src/pages/recipes/data/recipes) directory +3. Create a pull request following our [Recipe Contribution Guide](https://github.com/aaif-goose/goose/blob/main/CONTRIBUTING_RECIPES.md) +Browse [existing recipes](https://github.com/aaif-goose/goose/tree/main/documentation/src/pages/recipes/data/recipes) for inspiration and formatting examples. - + - + - + - + diff --git a/documentation/blog/2025-09-26-hacktoberfest-2025/index.md b/documentation/blog/2025-09-26-hacktoberfest-2025/index.md index 524efbf8..88b97859 100644 --- a/documentation/blog/2025-09-26-hacktoberfest-2025/index.md +++ b/documentation/blog/2025-09-26-hacktoberfest-2025/index.md @@ -15,9 +15,9 @@ October is around the corner, which means spooky season is upon us, and with tha [Hacktoberfest](https://hacktoberfest.com/participation/) is a month-long celebration every October of open source and participating open source projects. It's a great chance to earn fun prizes for contributing to your favorite projects, or a perfect opportunity to get your feet wet in a new project. # πŸŽ‰ How Can I Contribute to goose? -In the [goose repo](https://github.com/block/goose), there's something for everyone no matter if you're a newbie or a veteran. +In the [goose repo](https://github.com/aaif-goose/goose), there's something for everyone no matter if you're a newbie or a veteran. -We've created an official [goose Hacktoberfest 2025 Project Hub](https://github.com/block/goose/issues/4705). This hub will serve as your source of truth for all open `hacktoberfest` labeled-issues and resources you will need throughout the month. It will be updated every week with new issues as we experience contributions, so make sure to bookmark it! +We've created an official [goose Hacktoberfest 2025 Project Hub](https://github.com/aaif-goose/goose/issues/4705). This hub will serve as your source of truth for all open `hacktoberfest` labeled-issues and resources you will need throughout the month. It will be updated every week with new issues as we experience contributions, so make sure to bookmark it! From writing blog posts about goose, fixing bugs, or adding new features, our goal is to give contributors of various practices the chance to contribute to goose! Here are all the categories of issues you can expect to make your impact: @@ -33,9 +33,9 @@ From writing blog posts about goose, fixing bugs, or adding new features, our go To help you make the most of each of your contributions, below is a quick guide on general rules to follow, important resources, how top contributors are tallied, and more below: ## βœ… Key Rules -1. Read the [code of conduct](https://github.com/block/.github/blob/main/CODE_OF_CONDUCT.md). -2. Refer to the [Responsible AI-Assisted Coding Guide](https://web.archive.org/web/20260305122657/https://github.com/block/goose/blob/main/HOWTOAI.md), [Contributing Guide](https://github.com/block/goose/blob/main/CONTRIBUTING.md) & [README](https://github.com/block/goose/blob/main/README.md) for your contributions. -3. Choose a task from this project's Hacktoberfest [Project Hub](https://github.com/block/goose/issues/4705). Each issue has the 🏷️ `hacktoberfest` label. +1. Read the [code of conduct](https://github.com/aaif-goose/.github/blob/main/CODE_OF_CONDUCT.md). +2. Refer to the [Responsible AI-Assisted Coding Guide](https://web.archive.org/web/20260305122657/https://github.com/aaif-goose/goose/blob/main/HOWTOAI.md), [Contributing Guide](https://github.com/aaif-goose/goose/blob/main/CONTRIBUTING.md) & [README](https://github.com/aaif-goose/goose/blob/main/README.md) for your contributions. +3. Choose a task from this project's Hacktoberfest [Project Hub](https://github.com/aaif-goose/goose/issues/4705). Each issue has the 🏷️ `hacktoberfest` label. 4. Comment ".take" on the corresponding issue to get assigned the task. 5. Fork the repository and create a new branch for your work. 6. Make your changes and submit a pull request. @@ -75,7 +75,7 @@ When in doubt, don't stress! The goose team is here to help you make the most of 1. πŸ†˜ Maintainer Help: Connect with the maintainers by commenting on the issue or chat with them directly in the #πŸŽƒβ”ƒhacktoberfest channel on Discord. 2. 🫢 Community Support: [Join us on Discord](https://discord.gg/goose-oss) to live chat with fellow contributors and get tips for success from participants! -3. πŸŽ™οΈ Office Hours: Join us every Tuesday at 1pm Eastern Time on [Discord](https://discord.gg/goose-oss) through the month of October to get live-over-voice help with open PRs, questions you may have, and general help. Keep an eye out on the [goose events calendar](https://block.github.io/goose/community/) for future events centered around Hacktoberfest! +3. πŸŽ™οΈ Office Hours: Join us every Tuesday at 1pm Eastern Time on [Discord](https://discord.gg/goose-oss) through the month of October to get live-over-voice help with open PRs, questions you may have, and general help. Keep an eye out on the [goose events calendar](https://goose-docs.ai/community/) for future events centered around Hacktoberfest! Happy hacking and cheers to goose x Hacktoberfest 2025! πŸŽ‰ @@ -85,12 +85,12 @@ Happy hacking and cheers to goose x Hacktoberfest 2025! πŸŽ‰ - + - + - + - + diff --git a/documentation/blog/2025-09-26-subagents-vs-subrecipes/index.md b/documentation/blog/2025-09-26-subagents-vs-subrecipes/index.md index b89b6322..e9d46ea7 100644 --- a/documentation/blog/2025-09-26-subagents-vs-subrecipes/index.md +++ b/documentation/blog/2025-09-26-subagents-vs-subrecipes/index.md @@ -112,19 +112,19 @@ The choice depends on your specific needs and workflow requirements. Quick tasks Your workflow requirements should drive the decision. -Share your subagent prompts or subrecipe ideas with us on our [Discord community](https://discord.gg/goose-oss) or [GitHub discussions](https://github.com/block/goose/discussions). +Share your subagent prompts or subrecipe ideas with us on our [Discord community](https://discord.gg/goose-oss) or [GitHub discussions](https://github.com/aaif-goose/goose/discussions). - + - + - + - + diff --git a/documentation/blog/2025-10-08-recipe-cookbook-generator/index.md b/documentation/blog/2025-10-08-recipe-cookbook-generator/index.md index de0331db..986d24eb 100644 --- a/documentation/blog/2025-10-08-recipe-cookbook-generator/index.md +++ b/documentation/blog/2025-10-08-recipe-cookbook-generator/index.md @@ -92,7 +92,7 @@ The tool should automatically identify good candidates for parameters. I had ide ### 4. Template Generation :::tip -I wanted goose to write all the recipes for me, but to be as up-to-date as possible. I cloned the [goose repository](https://github.com/block/goose) and told goose to examine its own source code to learn how to successfully create recipes, and be sure to use proper YAML syntax. +I wanted goose to write all the recipes for me, but to be as up-to-date as possible. I cloned the [goose repository](https://github.com/aaif-goose/goose) and told goose to examine its own source code to learn how to successfully create recipes, and be sure to use proper YAML syntax. ::: From that, I had goose think about the following ideas as it considered how to make my recipes: @@ -169,7 +169,7 @@ Start building your own cookbook generator, and stop doing the same work twice. ## Contribute to Our Community Cookbook -Want to contribute your own recipes or improvements to the cookbook generator? Join our [Discord community](https://discord.gg/goose-oss) or check out our [GitHub repository](https://github.com/block/goose) for more automation ideas. Join our [Hacktoberfest](https://github.com/block/goose/issues/4705) event going on to contribute recipes and prompt ideas to get on our leaderboard to win some great prizes! +Want to contribute your own recipes or improvements to the cookbook generator? Join our [Discord community](https://discord.gg/goose-oss) or check out our [GitHub repository](https://github.com/aaif-goose/goose) for more automation ideas. Join our [Hacktoberfest](https://github.com/aaif-goose/goose/issues/4705) event going on to contribute recipes and prompt ideas to get on our leaderboard to win some great prizes! ## My Own Cookbook Generator Recipe @@ -358,12 +358,12 @@ activities: - + - + - - + + diff --git a/documentation/blog/2025-10-14-designing-ai-for-humans/index.md b/documentation/blog/2025-10-14-designing-ai-for-humans/index.md index dff60c37..82efeb14 100644 --- a/documentation/blog/2025-10-14-designing-ai-for-humans/index.md +++ b/documentation/blog/2025-10-14-designing-ai-for-humans/index.md @@ -16,7 +16,7 @@ My mom was doing her usual Sunday ritual she had her pen, paper, calculator, and Last month, halfway through crunching numbers, she sighed and said, > β€œI just wish I could see where my money’s going.” -So I opened [**goose**](http://block.github.io/goose/docs/quickstart), added her notes, and turned on [**Auto Visualiser**](https://block.github.io/goose/docs/mcp/autovisualiser-mcp). In seconds, her budget became this colorful, interactive chart. She hovered over each slice, analyzing where her money was going. +So I opened [**goose**](http://goose-docs.ai/docs/quickstart), added her notes, and turned on [**Auto Visualiser**](https://goose-docs.ai/docs/mcp/autovisualiser-mcp). In seconds, her budget became this colorful, interactive chart. She hovered over each slice, analyzing where her money was going. Now, I'm not saying this is some groundbreaking use case. There are plenty of apps that do this. What stood out to me was how simple it felt. My mom didn’t need to learn anything new or adapt to someone else’s design. The visualization just appeared, and she got it immediately. @@ -49,7 +49,7 @@ Both point to the same future: one where AI doesn’t just reply with text, but That’s what Agentic UX is really about: building AI that responds to what the user intends to do. -If you’re building your own MCP server, start by thinking about the experience you want your users to have. Then experiment with MCP-UI and design the flow you’d expect if you were the one using it. For a full walkthrough, see [How To Make An MCP Server MCP-UI Compatible](https://block.github.io/goose/blog/2025/09/08/turn-any-mcp-server-mcp-ui-compatible). +If you’re building your own MCP server, start by thinking about the experience you want your users to have. Then experiment with MCP-UI and design the flow you’d expect if you were the one using it. For a full walkthrough, see [How To Make An MCP Server MCP-UI Compatible](https://goose-docs.ai/blog/2025/09/08/turn-any-mcp-server-mcp-ui-compatible). --- @@ -59,12 +59,12 @@ I have a feeling that next month, when my mom sits down to balance her bills, sh - + - + - - + + \ No newline at end of file diff --git a/documentation/blog/2025-10-24-intro-to-agent-client-protocol-acp/index.md b/documentation/blog/2025-10-24-intro-to-agent-client-protocol-acp/index.md index 7343ea62..c9d09ccf 100644 --- a/documentation/blog/2025-10-24-intro-to-agent-client-protocol-acp/index.md +++ b/documentation/blog/2025-10-24-intro-to-agent-client-protocol-acp/index.md @@ -65,18 +65,18 @@ If you're ready to see how fast and simple this setup really is, watch the full -*Ready to integrate goose directly into your editor? Get started with our [ACP setup guide](https://block.github.io/goose/docs/guides/acp-clients) and share your experience in our [Discord community](http://discord.gg/goose-oss).* +*Ready to integrate goose directly into your editor? Get started with our [ACP setup guide](https://goose-docs.ai/docs/guides/acp-clients) and share your experience in our [Discord community](http://discord.gg/goose-oss).* - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-11-17-migrate-app-with-ai-agent/index.md b/documentation/blog/2025-11-17-migrate-app-with-ai-agent/index.md index 078bfab7..2e9bb9f4 100644 --- a/documentation/blog/2025-11-17-migrate-app-with-ai-agent/index.md +++ b/documentation/blog/2025-11-17-migrate-app-with-ai-agent/index.md @@ -133,12 +133,12 @@ I hope this clarifies how to converse with an agent and accomplish complex tasks - + - + - + - + diff --git a/documentation/blog/2025-11-21-social-media-agent-automation/index.md b/documentation/blog/2025-11-21-social-media-agent-automation/index.md index 5029958b..5c66e42c 100644 --- a/documentation/blog/2025-11-21-social-media-agent-automation/index.md +++ b/documentation/blog/2025-11-21-social-media-agent-automation/index.md @@ -183,7 +183,7 @@ Sometimes the right move is to reduce instead of add, and this new version ended To fully automate this workflow, you must schedule your recipe. In goose Desktop, open the `recipe` section, click the `calendar icon` , and choose when it should run (I set mine to 10 AM daily). -You can read more in the [Reusable Recipes Guide](https://block.github.io/goose/docs/guides/recipes/session-recipes#schedule-recipe). +You can read more in the [Shareable Recipes Guide](https://goose-docs.ai/docs/guides/recipes/session-recipes#schedule-recipe). :::
@@ -459,12 +459,12 @@ Got questions or ideas? Come chat with us on [Discord](https://discord.gg/block- - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-11-26-mcp-for-devs/index.md b/documentation/blog/2025-11-26-mcp-for-devs/index.md index 39524149..433e5dc0 100644 --- a/documentation/blog/2025-11-26-mcp-for-devs/index.md +++ b/documentation/blog/2025-11-26-mcp-for-devs/index.md @@ -132,12 +132,12 @@ P.S. Happy first birthday, MCP! πŸŽ‰ - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-11-30-announcing-advent-of-ai/index.md b/documentation/blog/2025-11-30-announcing-advent-of-ai/index.md index 19761499..29dcbcbd 100644 --- a/documentation/blog/2025-11-30-announcing-advent-of-ai/index.md +++ b/documentation/blog/2025-11-30-announcing-advent-of-ai/index.md @@ -55,12 +55,12 @@ The first challenge unlocks December 1st at 12 PM ET. The Winter Festival needs - + - + - + - + diff --git a/documentation/blog/2025-12-04-mcp-sampling/index.md b/documentation/blog/2025-12-04-mcp-sampling/index.md index 54591776..894ccd53 100644 --- a/documentation/blog/2025-12-04-mcp-sampling/index.md +++ b/documentation/blog/2025-12-04-mcp-sampling/index.md @@ -54,7 +54,7 @@ The `ctx.sample()` call sends a prompt back to the connected AI and waits for a ## A Real Example: Council of Mine -[Council of Mine](https://github.com/block/mcp-council-of-mine) is an MCP server that takes sampling to an extreme. It simulates a council of nine AI personas who debate topics and vote on each other's opinions. +[Council of Mine](https://github.com/aaif-goose/mcp-council-of-mine) is an MCP server that takes sampling to an extreme. It simulates a council of nine AI personas who debate topics and vote on each other's opinions. But there's no LLM running inside the server. Every opinion, every vote, every bit of reasoning comes from sampling requests back to the user's connected LLM. @@ -200,12 +200,12 @@ If you want to see sampling in action, [Council of Mine](/docs/mcp/council-of-mi - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-12-10-stop-ai-agent-unwanted-changes/index.md b/documentation/blog/2025-12-10-stop-ai-agent-unwanted-changes/index.md index 0fdf6c25..f7a6ee19 100644 --- a/documentation/blog/2025-12-10-stop-ai-agent-unwanted-changes/index.md +++ b/documentation/blog/2025-12-10-stop-ai-agent-unwanted-changes/index.md @@ -46,12 +46,12 @@ Try out this method with [goose](/) to help you build your next project. Your fu - + - + - + - + diff --git a/documentation/blog/2025-12-15-code-mode-mcp/index.md b/documentation/blog/2025-12-15-code-mode-mcp/index.md index 96f1326a..6d628b24 100644 --- a/documentation/blog/2025-12-15-code-mode-mcp/index.md +++ b/documentation/blog/2025-12-15-code-mode-mcp/index.md @@ -47,7 +47,7 @@ MCP server with ease! Our hope is that we improve tool calling performance and handling of large numbers of tools in goose, but also provide an open source implementation of this emerging approach. -* Try out the feature by enabling the ["Code Mode" extension](https://github.com/block/goose/blob/main/crates/goose/src/agents/platform_extensions/code_execution.rs) in v1.17.0 or later of goose by clicking extensions on the left side of the desktop app or running `goose configure` on cli +* Try out the feature by enabling the ["Code Mode" extension](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/agents/platform_extensions/code_execution.rs) in v1.17.0 or later of goose by clicking extensions on the left side of the desktop app or running `goose configure` on cli * Please give us feedback on how it works for you by joining our [discord](https://discord.gg/goose-oss). Kudos to my colleague [Mic Neale](https://github.com/michaelneale) for collaborating with me on the implementation! @@ -55,12 +55,12 @@ Kudos to my colleague [Mic Neale](https://github.com/michaelneale) for collabora - + - + - + - + diff --git a/documentation/blog/2025-12-19-does-your-ai-agent-need-a-plan/index.md b/documentation/blog/2025-12-19-does-your-ai-agent-need-a-plan/index.md index f7172573..cdb93176 100644 --- a/documentation/blog/2025-12-19-does-your-ai-agent-need-a-plan/index.md +++ b/documentation/blog/2025-12-19-does-your-ai-agent-need-a-plan/index.md @@ -21,7 +21,7 @@ Lately, there's been a healthy debate in the industry about planning in AI codin This reveals an interesting truth: the value of a plan mode isn't just about the plan itself. It's about creating the right mental model and workflow for the developer using it. Sometimes you want the agent to just execute. Other times, you want to see its thinking, provide feedback, and collaborate on the approach before any code changes happen. -Rather than picking one philosophy, [goose](https://github.com/block/goose) supports multiple approaches because different situations call for different methods. +Rather than picking one philosophy, [goose](https://github.com/aaif-goose/goose) supports multiple approaches because different situations call for different methods. --- @@ -91,13 +91,13 @@ The question isn't whether to plan. The question is which kind of planning fits - + - + - + - + diff --git a/documentation/blog/2025-12-19-goose-mobile-terminal/index.md b/documentation/blog/2025-12-19-goose-mobile-terminal/index.md index 2c95be5d..95ae6a8b 100644 --- a/documentation/blog/2025-12-19-goose-mobile-terminal/index.md +++ b/documentation/blog/2025-12-19-goose-mobile-terminal/index.md @@ -55,12 +55,12 @@ Try them out and let us know what you think in our [Discord](https://discord.gg/ - + - + - + - + diff --git a/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md b/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md index c36c8d21..ff69bae6 100644 --- a/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md +++ b/documentation/blog/2025-12-21-code-mode-doesnt-replace-mcp/index.md @@ -95,9 +95,9 @@ Therefore, it doesn't make sense for me to use Code Mode when: The cool part is Code Mode is only getting better. The team is currently refining Code Mode following its release in goose v1.17.0 (December 2025): -- [Better UX](https://github.com/block/goose/pull/6205) - showing what tools are being called instead of raw JavaScript -- [Better reliability](https://github.com/block/goose/pull/6177) - improving type signatures so LLMs get the code right the first time -- [More capabilities](https://github.com/block/goose/pull/6160) - enabling subagents to work inside Code Mode +- [Better UX](https://github.com/aaif-goose/goose/pull/6205) - showing what tools are being called instead of raw JavaScript +- [Better reliability](https://github.com/aaif-goose/goose/pull/6177) - improving type signatures so LLMs get the code right the first time +- [More capabilities](https://github.com/aaif-goose/goose/pull/6160) - enabling subagents to work inside Code Mode Code Mode helps us take a step forward in building agents that can scale to handle all your tools without falling apart. I love seeing how MCP is evolving, and I can't wait for the day I tell my children that agents weren't always this limitless and that we actually used to have to ration our tools just to get a simple task done. @@ -108,13 +108,13 @@ Code Mode helps us take a step forward in building agents that can scale to hand - + - + - + - + diff --git a/documentation/blog/2025-12-22-agent-skills-vs-mcp/index.md b/documentation/blog/2025-12-22-agent-skills-vs-mcp/index.md index dceb3290..6c197e9f 100644 --- a/documentation/blog/2025-12-22-agent-skills-vs-mcp/index.md +++ b/documentation/blog/2025-12-22-agent-skills-vs-mcp/index.md @@ -81,12 +81,12 @@ That's progress, not replacement. - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2025-12-28-goose-maintains-goose/index.md b/documentation/blog/2025-12-28-goose-maintains-goose/index.md index 5fa32af0..da14c911 100644 --- a/documentation/blog/2025-12-28-goose-maintains-goose/index.md +++ b/documentation/blog/2025-12-28-goose-maintains-goose/index.md @@ -14,7 +14,7 @@ We embraced this reality and put goose to work on its own backlog. -We actually used goose pre-1.0 to help us build goose 1.0. The original goose was a Python CLI, but we needed to move quickly to Rust, Electron, and an [MCP-native](https://modelcontextprotocol.io) architecture. goose helped us make that transition. Using it to triage issues and review changes felt like a natural extension, so we embedded goose directly into a [GitHub Action](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml). +We actually used goose pre-1.0 to help us build goose 1.0. The original goose was a Python CLI, but we needed to move quickly to Rust, Electron, and an [MCP-native](https://modelcontextprotocol.io) architecture. goose helped us make that transition. Using it to triage issues and review changes felt like a natural extension, so we embedded goose directly into a [GitHub Action](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml). :::note Credit That GitHub Action workflow was built by [Tyler Longwell](https://github.com/tlongwell-block), who took an idea we had been exploring manually and turned it into something any maintainer could trigger with a single comment. @@ -24,9 +24,9 @@ That GitHub Action workflow was built by [Tyler Longwell](https://github.com/tlo Before the GitHub Action existed, the goose team was already using goose to accelerate our issue workflow. Here's a real example. -A user reached out on Discord asking why an Ollama model was throwing an error in chat mode. Rather than digging through the codebase myself, I asked goose to explore the code, identify the root cause, and explain it back to me. Then, I asked goose to use the GitHub CLI to open an [issue](https://github.com/block/goose/issues/6117). +A user reached out on Discord asking why an Ollama model was throwing an error in chat mode. Rather than digging through the codebase myself, I asked goose to explore the code, identify the root cause, and explain it back to me. Then, I asked goose to use the GitHub CLI to open an [issue](https://github.com/aaif-goose/goose/issues/6117). -During that same session, goose mentioned it had 95% confidence it knew how to fix the problem. The change was small, so I asked goose to open a [PR](https://github.com/block/goose/pull/6118). It was merged the same day. +During that same session, goose mentioned it had 95% confidence it knew how to fix the problem. The change was small, so I asked goose to open a [PR](https://github.com/aaif-goose/goose/pull/6118). It was merged the same day. This kind of workflow has changed how I operate as a Developer Advocate. Before goose, when a user reported a problem, the process unfolded in fragments. I would ask clarifying questions, check GitHub for related issues, pull the latest code, grep through files, read the logic, and try to form a hypothesis about what was going wrong. @@ -44,13 +44,13 @@ The local workflow works. But when I solve an issue locally with goose, I'm stil The GitHub Action compresses that entire sequence into a single comment. A team member sees an issue, comments `/goose`, and moves on. goose spins up in a container, reads the issue, explores the codebase, runs verification, and opens a draft PR. The maintainer returns to a proposed solution rather than a blank slate. -We saw this play out with [issue #6066](https://github.com/block/goose/issues/6066). Users reported that goose kept defaulting to 2024 even though the correct datetime was in the context. The issue sat for two days. Then Tyler saw it, commented `/goose solve this minimally` at 1:59 AM, and went back to whatever he was doing (presumably sleeping). Fourteen minutes later, goose opened [PR #6101](https://github.com/block/goose/pull/6101). +We saw this play out with [issue #6066](https://github.com/aaif-goose/goose/issues/6066). Users reported that goose kept defaulting to 2024 even though the correct datetime was in the context. The issue sat for two days. Then Tyler saw it, commented `/goose solve this minimally` at 1:59 AM, and went back to whatever he was doing (presumably sleeping). Fourteen minutes later, goose opened [PR #6101](https://github.com/aaif-goose/goose/pull/6101). The maintainer's role shifts from implementing to reviewing. The bottleneck in open source is rarely "can someone write this code." It's "can someone with enough context find the time to write this code." The GitHub Action decouples those two constraints. Any maintainer can trigger a fix attempt without deep familiarity with that part of the codebase. This scales in a way manual triage cannot. A backlog contains feature requests, complex bugs, and quick fixes in equal measure. The Action lets you point at an issue and say "try this one" without committing your afternoon. If goose fails, you lose minutes of compute. If it succeeds, you save hours. -For contributors, responsiveness changes everything. When a user filed [issue #6232](https://github.com/block/goose/issues/6232) about slash commands not handling optional parameters, a maintainer quickly commented `/goose can you fix this`, and within the hour there was a draft PR with the fix and four new tests. Even if the PR is not perfect and needs adjustments, contributors see momentum. +For contributors, responsiveness changes everything. When a user filed [issue #6232](https://github.com/aaif-goose/goose/issues/6232) about slash commands not handling optional parameters, a maintainer quickly commented `/goose can you fix this`, and within the hour there was a draft PR with the fix and four new tests. Even if the PR is not perfect and needs adjustments, contributors see momentum. ## Under the Hood @@ -58,7 +58,7 @@ Maintainers summon goose with `/goose` followed by a prompt as a comment on an i But there's more happening under the hood than a simple prompt like "/goose fix this." -The workflow uses a [recipe](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml#L14-L78) that defines phases to ensure goose actually accomplishes the job and doesn't do more than we ask it to. +The workflow uses a [recipe](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml#L14-L78) that defines phases to ensure goose actually accomplishes the job and doesn't do more than we ask it to. | Phase | What goose does | Why it matters | | ---------- | ----------------------------------------------------- | --------------------------------------------------------------------- | @@ -69,7 +69,7 @@ The workflow uses a [recipe](https://github.com/block/goose/blob/main/.github/wo | Verify | Run tests and linters | Catches obvious failures before a human sees the PR | | Confirm | Reread the original issue and requirements | Prevents the AI from declaring victory while forgetting half the task | -The [recipe](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml) also gives goose access to the [TODO extension](/docs/mcp/todo-mcp), a built-in tool that acts as external memory. The phases tell goose *what* to do. The TODO helps goose *remember* what it's doing. As goose reads through the codebase and builds a solution, its context window fills up and earlier instructions can be compressed or lost. The TODO persists, so goose can always check what it's done and what's left. +The [recipe](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml) also gives goose access to the [TODO extension](/docs/mcp/todo-mcp), a built-in tool that acts as external memory. The phases tell goose *what* to do. The TODO helps goose *remember* what it's doing. As goose reads through the codebase and builds a solution, its context window fills up and earlier instructions can be compressed or lost. The TODO persists, so goose can always check what it's done and what's left. The workflow also enforces guardrails around who can invoke `/goose`, which files it's allowed to touch, and the requirement that a maintainer review and approve every PR. @@ -79,17 +79,17 @@ The future we're aiming for isn't one where AI replaces maintainers. It's one wh If that becomes the norm, open source scales differently. -The [GitHub Action workflow](https://github.com/block/goose/blob/main/.github/workflows/goose-issue-solver.yml) is public for anyone who wants to explore this pattern in their own CI pipeline. +The [GitHub Action workflow](https://github.com/aaif-goose/goose/blob/main/.github/workflows/goose-issue-solver.yml) is public for anyone who wants to explore this pattern in their own CI pipeline. - + - + - + - + diff --git a/documentation/blog/2026-01-04-how-i-taught-my-agent-my-design-taste/index.md b/documentation/blog/2026-01-04-how-i-taught-my-agent-my-design-taste/index.md index abd2cb6f..f4a023c1 100644 --- a/documentation/blog/2026-01-04-how-i-taught-my-agent-my-design-taste/index.md +++ b/documentation/blog/2026-01-04-how-i-taught-my-agent-my-design-taste/index.md @@ -123,12 +123,12 @@ The code and full transcripts live in [my Genuary 2026 repo](https://github.com/ - + - + - + - + diff --git a/documentation/blog/2026-01-05-agentic-guardrails-and-controls/index.md b/documentation/blog/2026-01-05-agentic-guardrails-and-controls/index.md index 7d7eb548..0c1b4e70 100644 --- a/documentation/blog/2026-01-05-agentic-guardrails-and-controls/index.md +++ b/documentation/blog/2026-01-05-agentic-guardrails-and-controls/index.md @@ -9,7 +9,7 @@ authors: ![blog cover](agentic_guardrails_header.jpg) -In [our previous blog post](https://block.github.io/goose/blog/2025/03/31/securing-mcp/) we detailed the Model Context Protocol (MCP) system and discussed some security concerns and mitigations. As a brief recap, MCP provides agents with a means to accomplish tasks using defined tools; reducing the burden of using complex and varied APIs and integrations on the agent. +In [our previous blog post](https://goose-docs.ai/blog/2025/03/31/securing-mcp/) we detailed the Model Context Protocol (MCP) system and discussed some security concerns and mitigations. As a brief recap, MCP provides agents with a means to accomplish tasks using defined tools; reducing the burden of using complex and varied APIs and integrations on the agent.
@@ -247,17 +247,17 @@ In this post we have contextualised the risks associated with LLM Content Inject We’re working on a proof of concept and benchmarking for goose in the background. Once released we will update this blog with the results (either good or bad) outlining the effectiveness of the mitigation. Another area we intend to explore is the application to multi-agent systems. Our application of this is intended for human facing agentic systems. However, it likely has applications in fully autonomous player-coach systems (similar to what is described in [Anthropic’s Multi-Agent Research Systems](https://www.anthropic.com/engineering/multi-agent-research-system) or [Block’s Adversarial Cooperation in Code Synthesis](https://block.xyz/documents/adversarial-cooperation-in-code-synthesis.pdf)) where the orchestrating Agent takes the role of the human providing initial prompts, but also defining allowable tool-calls or interactions. -We also welcome any and all feedback and suggestions on improving the concept. [Hit us up on the goose GitHub discussion](https://github.com/block/goose/discussions/6328) +We also welcome any and all feedback and suggestions on improving the concept. [Hit us up on the goose GitHub discussion](https://github.com/aaif-goose/goose/discussions/6328) - + - + - + - + diff --git a/documentation/blog/2026-01-06-mcp-apps/index.md b/documentation/blog/2026-01-06-mcp-apps/index.md index 13b39f66..ed8e4fbd 100644 --- a/documentation/blog/2026-01-06-mcp-apps/index.md +++ b/documentation/blog/2026-01-06-mcp-apps/index.md @@ -13,7 +13,7 @@ The MCP ecosystem is standardizing how servers deliver interactive UIs to hosts, ## What's Shipping -This release ([v1.19.0](https://github.com/block/goose/releases/tag/v1.19.0)) brings a minimal-but-functional implementation of MCP Apps: +This release ([v1.19.0](https://github.com/aaif-goose/goose/releases/tag/v1.19.0)) brings a minimal-but-functional implementation of MCP Apps: - Discovery of MCP App resources connected to tools - HTML content rendering in sandboxed iframes @@ -46,19 +46,19 @@ MCP-UI isn't going away overnight. We'll keep supporting it while the community - **Get started:** Update goose and point it at an MCP server that returns App resources - **Read the spec:** [github.com/modelcontextprotocol/ext-apps](https://github.com/modelcontextprotocol/ext-apps) -- **Join the conversation:** [goose GitHub discussion](https://github.com/block/goose/discussions/6069) Β· [MCP Contributors Discord](https://discord.gg/6CSzBmMkjX) +- **Join the conversation:** [goose GitHub discussion](https://github.com/aaif-goose/goose/discussions/6069) Β· [MCP Contributors Discord](https://discord.gg/6CSzBmMkjX) If you build or port an app, we want to hear from you. File issues, share demos, tell us what's broken. Early feedback shapes what comes next. - + - + - + - + diff --git a/documentation/blog/2026-01-15-why-tool-descriptions-arent-enough/index.md b/documentation/blog/2026-01-15-why-tool-descriptions-arent-enough/index.md index deefb914..e80dabee 100644 --- a/documentation/blog/2026-01-15-why-tool-descriptions-arent-enough/index.md +++ b/documentation/blog/2026-01-15-why-tool-descriptions-arent-enough/index.md @@ -21,7 +21,7 @@ But something still felt off. The tools still weren’t really *thinking*. They were fetching data, returning text, and leaving all the heavy reasoning to my LLM. That’s when I realized the issue wasn’t my descriptions. It was how the system actually worked under the hood. -That’s where [MCP sampling](https://block.github.io/goose/docs/guides/mcp-sampling/) came in. +That’s where [MCP sampling](https://goose-docs.ai/docs/guides/mcp-sampling/) came in. Not as a magic feature, but as a different way of structuring how tools and the LLM actually collaborate. ## What actually changed my understanding @@ -49,7 +49,7 @@ It’s the same model and the same agent, but the behavior changes completely. ## Where Council of Mine fits in -Seeing the flow change helped me understand sampling conceptually. [Council of Mine](https://github.com/block/mcp-council-of-mine) helped me understand it viscerally. +Seeing the flow change helped me understand sampling conceptually. [Council of Mine](https://github.com/aaif-goose/mcp-council-of-mine) helped me understand it viscerally. It’s not MCP sampling itself. It’s an example of what becomes possible once sampling exists. @@ -67,17 +67,17 @@ But on their own, they won’t get you to truly agentic behavior. Descriptions s That distinction was the missing piece for me. And once I could actually see the flow, everything else started to make more sense. -If this helped make things click, I’d recommend trying the [Council of Mine extension](https://block.github.io/goose/docs/mcp/council-of-mine-mcp) for yourself. It’s one of the clearest ways to see MCP sampling in action. +If this helped make things click, I’d recommend trying the [Council of Mine extension](https://goose-docs.ai/docs/mcp/council-of-mine-mcp) for yourself. It’s one of the clearest ways to see MCP sampling in action. - + - + - + - + diff --git a/documentation/blog/2026-01-20-goose-mobile-apps/index.md b/documentation/blog/2026-01-20-goose-mobile-apps/index.md index 9405a34d..699acc80 100644 --- a/documentation/blog/2026-01-20-goose-mobile-apps/index.md +++ b/documentation/blog/2026-01-20-goose-mobile-apps/index.md @@ -10,7 +10,7 @@ authors: In 2025 we did a fairly cutting edge take on whole device automation using Android (code name was gosling) which was an on-device agent that would take over your device (mic even used it to do some shopping - which he realized after some things arrived at his door that it had automatically purchased as the result of an email - hence the PoC/experimental label!) -Recently we consolidated the [apps for goose mobile](https://github.com/block/goose-mobile). +Recently we consolidated the [apps for goose mobile](https://github.com/aaif-goose/goose-mobile). The [goose-ios client](/blog/2025/12/19/goose-mobile-terminal/) is more production ready, and in the app store (still early days). We hope to have a port of that to Android, which will be strictly a client (and won't take over your device!) to your remote agent. The aim of the client (vs an on device agent) is for you to take your work on the go with you. @@ -31,12 +31,12 @@ For mobile client to work for personal (ie desktop/laptop/PC agents, not really - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2026-01-22-mcp-ui-to-mcp-apps/index.md b/documentation/blog/2026-01-22-mcp-ui-to-mcp-apps/index.md index ab372aca..560e40c2 100644 --- a/documentation/blog/2026-01-22-mcp-ui-to-mcp-apps/index.md +++ b/documentation/blog/2026-01-22-mcp-ui-to-mcp-apps/index.md @@ -328,7 +328,7 @@ This is one of those changes that doesn’t dramatically affect your day-to-day ## Try it yourself -If you’re curious about building MCP Apps yourself, follow the guide [Building MCP Apps](https://block.github.io/goose/docs/tutorials/building-mcp-apps/). +If you’re curious about building MCP Apps yourself, follow the guide [Building MCP Apps](https://goose-docs.ai/docs/tutorials/building-mcp-apps/). And if you already have an MCP-UI server, try converting just one tool to an MCP App. That’s usually the moment when everything starts to really click. @@ -339,12 +339,12 @@ As a reminder, MCP Apps run sandboxed with CSP restrictions, so it’s worth und - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2026-01-30-5-tips-building-mcp-apps/index.md b/documentation/blog/2026-01-30-5-tips-building-mcp-apps/index.md index 136b5a96..8512e91a 100644 --- a/documentation/blog/2026-01-30-5-tips-building-mcp-apps/index.md +++ b/documentation/blog/2026-01-30-5-tips-building-mcp-apps/index.md @@ -336,7 +336,7 @@ registerAppTool(server, "delete-email", { MCP Apps open up a new dimension for agent interactions. Now it's time to build your own. - **Test with [MCPJam](https://mcpjam.com/)** β€” the open source local inspector for MCP Apps, ChatGPT apps SDK, and MCP servers. Perfect for debugging and iterating on your app before shipping. -- **Run in [goose](https://github.com/block/goose)** β€” an open source AI agent that renders MCP Apps directly in the chat interface. See your app come to life in a real agent environment. +- **Run in [goose](https://github.com/aaif-goose/goose)** β€” an open source AI agent that renders MCP Apps directly in the chat interface. See your app come to life in a real agent environment. Ready to dive deeper? Check out the [MCP Apps tutorial](/docs/tutorials/building-mcp-apps) or [build your first MCP App with MCPJam](https://docs.mcpjam.com/guides/first-mcp-app). @@ -344,12 +344,12 @@ Ready to dive deeper? Check out the [MCP Apps tutorial](/docs/tutorials/building - + - + - + - + diff --git a/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md b/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md index 8de87f75..ff4c91c7 100644 --- a/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md +++ b/documentation/blog/2026-02-06-8-things-you-didnt-know-about-code-mode/index.md @@ -218,20 +218,20 @@ If you want to experiment with Code Mode, here are some resources: **Community:** - Join our [Discord](https://discord.gg/goose-oss) to share what you learn -- File issues on [GitHub](https://github.com/block/goose) if something does not work as expected +- File issues on [GitHub](https://github.com/aaif-goose/goose) if something does not work as expected Run your own experiments and let us know what you find. - + - + - + - + diff --git a/documentation/blog/2026-02-06-rp-why-skill/index.md b/documentation/blog/2026-02-06-rp-why-skill/index.md index 8bddec83..2b668a3e 100644 --- a/documentation/blog/2026-02-06-rp-why-skill/index.md +++ b/documentation/blog/2026-02-06-rp-why-skill/index.md @@ -196,7 +196,7 @@ What's the most strategic question you could ask right now? Install the skill: ```bash -npx skills add https://github.com/block/agent-skills --skill rp-why +npx skills add https://github.com/aaif-goose/agent-skills --skill rp-why ``` Make sure you have the built-in [Skills extension](/docs/mcp/skills-mcp/) enabled in goose. @@ -258,12 +258,12 @@ A: Yes! The output is designed to be shareable. Screenshot or copy the quadrant - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2026-02-06-rpi-openclaw-alternative/index.md b/documentation/blog/2026-02-06-rpi-openclaw-alternative/index.md index 35fab996..a8f36fe4 100644 --- a/documentation/blog/2026-02-06-rpi-openclaw-alternative/index.md +++ b/documentation/blog/2026-02-06-rpi-openclaw-alternative/index.md @@ -9,7 +9,7 @@ authors: Everyone on Tech Twitter has been buying Mac Minis, so they could run a local agentic tool called [OpenClaw](https://openclaw.ai/). OpenClaw is a messaging-based AI assistant that connects to platforms such as Discord and Telegram allowing you to interact with an AI agent through DMs or @mentions. Under the hood, it uses an agent called Pi to execute tasks, browse the web, write code, and more. -Seeing the hype made me want to get my hands dirty. I wanted to see if I could build a lite version for myself. I wanted something minimal that used [goose](https://github.com/block/goose) as the engine instead of Pi. I tentatively dubbed it AltOpenClaw. +Seeing the hype made me want to get my hands dirty. I wanted to see if I could build a lite version for myself. I wanted something minimal that used [goose](https://github.com/aaif-goose/goose) as the engine instead of Pi. I tentatively dubbed it AltOpenClaw. @@ -126,12 +126,12 @@ Happy hacking! - + - + - + - + diff --git a/documentation/blog/2026-02-07-context-engineering/index.md b/documentation/blog/2026-02-07-context-engineering/index.md index cd0381d3..638823a1 100644 --- a/documentation/blog/2026-02-07-context-engineering/index.md +++ b/documentation/blog/2026-02-07-context-engineering/index.md @@ -19,7 +19,7 @@ Saying β€œone shot prompting is dead” isn’t revolutionary. It’s just catch ## The blog post that aged faster than oat milk -Last year, I wrote a post about [how to prompt better](https://block.github.io/goose/blog/2025/03/19/better-ai-prompting). I shared tricks, phrasing tips, and even said to add a few β€œpleases” and β€œthank yous” and your AI agent would give you the world. At the time it felt cutting edge, because it was. There were livestreams and conference talks entirely about how to prompt better. +Last year, I wrote a post about [how to prompt better](https://goose-docs.ai/blog/2025/03/19/better-ai-prompting). I shared tricks, phrasing tips, and even said to add a few β€œpleases” and β€œthank yous” and your AI agent would give you the world. At the time it felt cutting edge, because it was. There were livestreams and conference talks entirely about how to prompt better. Less than a year later, it feels… quaint. Not because prompting stopped mattering, but because prompting stopped being the main character. @@ -31,7 +31,7 @@ to > β€œWhat environment am I dropping this model into?” -That’s a completely different problem, and now it has a name. **[Context engineering](https://block.github.io/goose/docs/guides/context-engineering/)**. +That’s a completely different problem, and now it has a name. **[Context engineering](https://goose-docs.ai/docs/guides/context-engineering/)**. --- @@ -78,7 +78,7 @@ Here’s what that loop looked like in practice: > *Even **this** demo is powered by persistent context.* -That was the moment I experimented with [RPI](https://block.github.io/goose/docs/tutorials/rpi). Not because it was trendy, but because the alternative had become tedious. +That was the moment I experimented with [RPI](https://goose-docs.ai/docs/tutorials/rpi). Not because it was trendy, but because the alternative had become tedious. You don’t have to adopt RPI, or any new pattern, tomorrow to benefit from this. You can simulate the shift in your next session with a small change in how you start. @@ -147,12 +147,12 @@ And honestly, that’s progress. - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2026-02-19-gastown-explained-goosetown/index.md b/documentation/blog/2026-02-19-gastown-explained-goosetown/index.md index a30600d9..517e58a4 100644 --- a/documentation/blog/2026-02-19-gastown-explained-goosetown/index.md +++ b/documentation/blog/2026-02-19-gastown-explained-goosetown/index.md @@ -56,7 +56,7 @@ I won't list every single character here (it gets deep), but the takeaway is: Ga ## Introducing Goosetown -This is exactly the kind of futuristic thinking we're building toward at [goose](https://block.github.io/goose). So the goose team, specifically Tyler Longwell, built our own take on this called [Goosetown](https://github.com/block/goosetown). +This is exactly the kind of futuristic thinking we're building toward at [goose](https://goose-docs.ai). So the goose team, specifically Tyler Longwell, built our own take on this called [Goosetown](https://github.com/aaif-goose/goosetown). Goosetown is a multi-agent orchestration layer built on top of goose. Like Gas Town, it coordinates parallel agents. Unlike Gas Town, it's deliberately minimal and built for research-first parallel work. @@ -68,7 +68,7 @@ Here's a real Town Wall snippet from a session where parallel researchers conver * **[10:14] researcher-endpoints** - πŸ’‘ Found: native endpoint already exists with minimal deps. Alternative path viable. * **[10:15] researcher-source** - βœ… Done. Confirmed: native path requires zero new dependencies. Recommending pivot. -Goosetown operates on 4 components: [skills](/docs/guides/context-engineering/using-skills), [subagents](/docs/guides/subagents), [beads](https://github.com/steveyegge/beads), and a [gtwall](https://github.com/block/goosetown/blob/main/gtwall). +Goosetown operates on 4 components: [skills](/docs/guides/context-engineering/using-skills), [subagents](/docs/guides/subagents), [beads](https://github.com/steveyegge/beads), and a [gtwall](https://github.com/aaif-goose/goosetown/blob/main/gtwall). ### Skills @@ -84,7 +84,7 @@ Goosetown uses [Beads](https://github.com/steveyegge/beads) to track progress so ### gtwall -[gtwall](https://github.com/block/goosetown/blob/main/gtwall) is an append-only log that delegates use to communicate and coordinate. All delegates post and read activity. +[gtwall](https://github.com/aaif-goose/goosetown/blob/main/gtwall) is an append-only log that delegates use to communicate and coordinate. All delegates post and read activity. ## A Note from the Creator @@ -100,19 +100,19 @@ Goosetown uses [Beads](https://github.com/steveyegge/beads) to track progress so ## Get Started -Ready to try parallel agentic engineering for yourself? [Goosetown](https://github.com/block/goosetown) is open source and available on GitHub. Clone the [repo](https://github.com/block/goosetown), follow the setup instructions in the README, and you'll be orchestrating multiple agents in no time. If you're new to this workflow, watching the video below is a great way to see what a real session looks like before diving in. +Ready to try parallel agentic engineering for yourself? [Goosetown](https://github.com/aaif-goose/goosetown) is open source and available on GitHub. Clone the [repo](https://github.com/aaif-goose/goosetown), follow the setup instructions in the README, and you'll be orchestrating multiple agents in no time. If you're new to this workflow, watching the video below is a great way to see what a real session looks like before diving in. - + - + - + - + diff --git a/documentation/blog/2026-02-23-goose-v1-25-0/index.md b/documentation/blog/2026-02-23-goose-v1-25-0/index.md index 861903d8..538eb066 100644 --- a/documentation/blog/2026-02-23-goose-v1-25-0/index.md +++ b/documentation/blog/2026-02-23-goose-v1-25-0/index.md @@ -19,7 +19,7 @@ Let's break down what's new. **The headline feature of v1.25.0 is security sandboxing for goose Desktop on macOS.** -When you give an AI agent access to your shell and file system, trust matters. With this release, goose Desktop now runs inside a [macOS sandbox](https://block.github.io/goose/docs/guides/sandbox) powered by [seatbelt](https://github.com/michaelneale/agent-seatbelt-sandbox), the same underlying technology Apple uses to sandbox its own apps. +When you give an AI agent access to your shell and file system, trust matters. With this release, goose Desktop now runs inside a [macOS sandbox](https://goose-docs.ai/docs/guides/sandbox) powered by [seatbelt](https://github.com/michaelneale/agent-seatbelt-sandbox), the same underlying technology Apple uses to sandbox its own apps. What does this mean in practice? @@ -32,9 +32,9 @@ This is a great starting point for defense-in-depth security. The sandbox checks ## 🧩 Unified Summon Extension -**We replaced two separate systems (subagent and Skills) with a single, unified ["Summon" extension](https://block.github.io/goose/docs/mcp/summon-mcp).** +**We replaced two separate systems (subagent and Skills) with a single, unified ["Summon" extension](https://goose-docs.ai/docs/mcp/summon-mcp).** -Previously, goose had two different mechanisms for delegating work: [subagents](https://block.github.io/goose/docs/tutorials/subagents) (for spinning up independent sub-tasks) and Skills (for loading predefined capabilities). They overlapped in confusing ways and made the system harder to understand. +Previously, goose had two different mechanisms for delegating work: [subagents](https://goose-docs.ai/docs/tutorials/subagents) (for spinning up independent sub-tasks) and Skills (for loading predefined capabilities). They overlapped in confusing ways and made the system harder to understand. The new **Summon** extension unifies both concepts into two clean tools: @@ -51,7 +51,7 @@ This simplification means: **MCP extensions can now render rich, interactive UIs directly inside goose Desktop.** -This release integrates the `AppRenderer` from the [`@mcp-ui/client`](https://www.npmjs.com/package/@mcp-ui/client) SDK, bringing a major upgrade to how [MCP apps](https://block.github.io/goose/docs/tutorials/building-mcp-apps) display their content. Instead of being limited to text output, MCP extensions can now provide full HTML/JavaScript interfaces that [render inline in the chat](https://block.github.io/goose/docs/guides/interactive-chat/mcp-ui). +This release integrates the `AppRenderer` from the [`@mcp-ui/client`](https://www.npmjs.com/package/@mcp-ui/client) SDK, bringing a major upgrade to how [MCP apps](https://goose-docs.ai/docs/tutorials/building-mcp-apps) display their content. Instead of being limited to text output, MCP extensions can now provide full HTML/JavaScript interfaces that [render inline in the chat](https://goose-docs.ai/docs/guides/interactive-chat/mcp-ui). Key improvements include: - **Fallback request handler support.** Apps can make requests back to the MCP server for dynamic data. @@ -62,9 +62,9 @@ This opens up a whole new class of MCP extensions that can provide dashboards, v ## πŸ“ Edit Recipe Model & Provider from the GUI -**You can now [edit a recipe's](https://block.github.io/goose/docs/guides/recipes/session-recipes#edit-recipe) model, provider, and extensions directly in goose Desktop. No YAML editing required.** +**You can now [edit a recipe's](https://goose-docs.ai/docs/guides/recipes/session-recipes#edit-recipe) model, provider, and extensions directly in goose Desktop. No YAML editing required.** -[Recipes](https://block.github.io/goose/docs/tutorials/recipes-tutorial) already let you define reusable workflows with specific instructions, extensions, and configurations, and you could always edit the underlying YAML file. But switching the model or provider for a recipe meant hunting down the right field in the config file. +[Recipes](https://goose-docs.ai/docs/tutorials/recipes-tutorial) already let you define reusable workflows with specific instructions, extensions, and configurations, and you could always edit the underlying YAML file. But switching the model or provider for a recipe meant hunting down the right field in the config file. With v1.25.0, the desktop app lets you visually configure these settings per recipe: - Change the model and provider a recipe uses @@ -79,7 +79,7 @@ Alongside this, the recipe details view now correctly **displays the provider an **Claude Code, Codex, and Gemini CLI all received major upgrades in this release.** -goose's [agentic CLI providers](https://block.github.io/goose/docs/guides/cli-providers), which delegate work to other AI coding agents, got a batch of improvements that make them significantly more capable: +goose's [agentic CLI providers](https://goose-docs.ai/docs/guides/cli-providers), which delegate work to other AI coding agents, got a batch of improvements that make them significantly more capable: ### MCP Extensions Now Work with Agentic Providers @@ -120,28 +120,28 @@ Supply chain security matters. Starting with v1.25.0, every CLI binary, desktop This means you can **cryptographically verify** that any goose artifact was built from the official repository by the official CI pipeline: ```bash -gh attestation verify --repo block/goose +gh attestation verify --repo aaif-goose/goose ``` The implementation covers all release workflows including stable releases, canary builds, nightly builds, and Docker images, with properly pinned actions and correct permission scoping. ## Get Started -Ready to try v1.25.0? Head over to our [updating goose](https://block.github.io/goose/docs/guides/updating-goose) guide for step-by-step instructions on getting the latest version for Desktop or CLI. +Ready to try v1.25.0? Head over to our [updating goose](https://goose-docs.ai/docs/guides/updating-goose) guide for step-by-step instructions on getting the latest version for Desktop or CLI. -Check out the full [release notes](https://github.com/block/goose/releases/tag/v1.25.0) for the complete list of changes, and join the conversation in [GitHub Discussions](https://github.com/block/goose/discussions). +Check out the full [release notes](https://github.com/aaif-goose/goose/releases/tag/v1.25.0) for the complete list of changes, and join the conversation in [GitHub Discussions](https://github.com/aaif-goose/goose/discussions). -*goose is open source. Star us on [GitHub](https://github.com/block/goose), and if you build something cool with goose, we'd love to hear about it!* +*goose is open source. Star us on [GitHub](https://github.com/aaif-goose/goose), and if you build something cool with goose, we'd love to hear about it!* - + - + - + - + diff --git a/documentation/blog/2026-02-24-goose-grant-goose-in-a-pond/index.md b/documentation/blog/2026-02-24-goose-grant-goose-in-a-pond/index.md index 15f000aa..0b919439 100644 --- a/documentation/blog/2026-02-24-goose-grant-goose-in-a-pond/index.md +++ b/documentation/blog/2026-02-24-goose-grant-goose-in-a-pond/index.md @@ -99,12 +99,12 @@ And if *you* have a wild idea for what goose could do? The **[goose grant progra - + - + - + - + \ No newline at end of file diff --git a/documentation/blog/2026-02-25-order-lunch-with-goose/index.md b/documentation/blog/2026-02-25-order-lunch-with-goose/index.md index 1d5ac680..74bedc36 100644 --- a/documentation/blog/2026-02-25-order-lunch-with-goose/index.md +++ b/documentation/blog/2026-02-25-order-lunch-with-goose/index.md @@ -136,12 +136,12 @@ See the entire flow in action: - + - + - + - + diff --git a/documentation/blog/2026-03-17-webmcp-for-beginners/index.md b/documentation/blog/2026-03-17-webmcp-for-beginners/index.md index d5a28dcd..7ff4ad26 100644 --- a/documentation/blog/2026-03-17-webmcp-for-beginners/index.md +++ b/documentation/blog/2026-03-17-webmcp-for-beginners/index.md @@ -177,12 +177,12 @@ Right now, WebMCP only works on sites that choose to implement it, which limits - + - + - + - + diff --git a/documentation/blog/2026-03-31-adversary-mode/index.md b/documentation/blog/2026-03-31-adversary-mode/index.md index 7bf44bbb..ed43c73b 100644 --- a/documentation/blog/2026-03-31-adversary-mode/index.md +++ b/documentation/blog/2026-03-31-adversary-mode/index.md @@ -65,6 +65,6 @@ For full configuration details β€” including how to expand which tools get revie - + diff --git a/documentation/blog/README.md b/documentation/blog/README.md index 4971e241..2efbd966 100644 --- a/documentation/blog/README.md +++ b/documentation/blog/README.md @@ -9,7 +9,7 @@ This guide explains how to write and structure blog posts for the goose document 1. Clone the goose repository: ```bash -git clone https://github.com/block/goose.git +git clone https://github.com/aaif-goose/goose.git cd goose ``` @@ -106,14 +106,14 @@ At the end of your post, include the following meta tags for social media sharin - + - + - + - + ``` diff --git a/documentation/docs/experimental/goose-mobile.md b/documentation/docs/experimental/goose-mobile.md index 6578425c..b3ab69e9 100644 --- a/documentation/docs/experimental/goose-mobile.md +++ b/documentation/docs/experimental/goose-mobile.md @@ -27,17 +27,17 @@ goose Mobile requires deep access to your device. Use at your own risk β€” best ## Installation - **Pre-built APK:** Install quickly via [Firebase distribution link](https://appdistribution.firebase.google.com/pub/i/3f111ea732d5f7f6). -- **Build from Source:** Developer instructions are in the [goose Mobile repository](https://github.com/block/goose-mobile). +- **Build from Source:** Developer instructions are in the [goose Mobile repository](https://github.com/aaif-goose/goose-mobile). ## Extending goose Mobile goose Mobile supports the **mobile MCP** system, which lets it use tools from other apps without leaving context β€” e.g., fetching weather data via a weather extension. -Sample code and setup instructions are in the repository [README](https://github.com/block/goose-mobile). +Sample code and setup instructions are in the repository [README](https://github.com/aaif-goose/goose-mobile). ## Contribute -We welcome contributions! See the [Contributing Guide](https://github.com/block/goose-mobile/blob/main/CONTRIBUTING.md) for details. +We welcome contributions! See the [Contributing Guide](https://github.com/aaif-goose/goose-mobile/blob/main/CONTRIBUTING.md) for details. --- -For more scenarios, instructions, and development setup, visit the [goose Mobile repository](https://github.com/block/goose-mobile). \ No newline at end of file +For more scenarios, instructions, and development setup, visit the [goose Mobile repository](https://github.com/aaif-goose/goose-mobile). \ No newline at end of file diff --git a/documentation/docs/experimental/index.md b/documentation/docs/experimental/index.md index 9067dfab..e6a21664 100644 --- a/documentation/docs/experimental/index.md +++ b/documentation/docs/experimental/index.md @@ -69,7 +69,7 @@ The list of experimental features may change as goose development progresses. So Example analysis: Tracking a function across files diff --git a/documentation/docs/guides/config-files.md b/documentation/docs/guides/config-files.md index b50e43c8..d8c02003 100644 --- a/documentation/docs/guides/config-files.md +++ b/documentation/docs/guides/config-files.md @@ -81,7 +81,7 @@ GOOSE_TOOLSHIM: true GOOSE_CLI_MIN_PRIORITY: 0.2 # Recipe Configuration -GOOSE_RECIPE_GITHUB_REPO: "block/goose-recipes" +GOOSE_RECIPE_GITHUB_REPO: "aaif-goose/goose-recipes" # Search Path Configuration GOOSE_SEARCH_PATHS: diff --git a/documentation/docs/guides/custom-distributions.md b/documentation/docs/guides/custom-distributions.md index 02aa7c16..1286fec9 100644 --- a/documentation/docs/guides/custom-distributions.md +++ b/documentation/docs/guides/custom-distributions.md @@ -24,7 +24,7 @@ goose is designed to be forked and customized. You can create your own "distro" The full guide lives in the repo root since you'll need to work at the code level to build a custom distribution: -πŸ‘‰ **[CUSTOM_DISTROS.md](https://github.com/block/goose/blob/main/CUSTOM_DISTROS.md)** +πŸ‘‰ **[CUSTOM_DISTROS.md](https://github.com/aaif-goose/goose/blob/main/CUSTOM_DISTROS.md)** It covers: @@ -53,4 +53,4 @@ GOOSE_PROVIDER: ollama GOOSE_MODEL: qwen3-coder:latest ``` -See the [full guide](https://github.com/block/goose/blob/main/CUSTOM_DISTROS.md) for more scenarios including corporate API key distribution, audience-specific builds, and custom UIs. +See the [full guide](https://github.com/aaif-goose/goose/blob/main/CUSTOM_DISTROS.md) for more scenarios including corporate API key distribution, audience-specific builds, and custom UIs. diff --git a/documentation/docs/guides/environment-variables.md b/documentation/docs/guides/environment-variables.md index a6909f03..e007dd6b 100644 --- a/documentation/docs/guides/environment-variables.md +++ b/documentation/docs/guides/environment-variables.md @@ -586,7 +586,7 @@ These variables control recipe discovery and management. | Variable | Purpose | Values | Default | |----------|---------|---------|---------| | `GOOSE_RECIPE_PATH` | Additional directories to search for recipes | Colon-separated paths on Unix, semicolon-separated on Windows | None | -| `GOOSE_RECIPE_GITHUB_REPO` | GitHub repository to search for recipes | Format: "owner/repo" (e.g., "block/goose-recipes") | None | +| `GOOSE_RECIPE_GITHUB_REPO` | GitHub repository to search for recipes | Format: "owner/repo" (e.g., "aaif-goose/goose-recipes") | None | | `GOOSE_RECIPE_RETRY_TIMEOUT_SECONDS` | Global timeout for recipe success check commands | Integer (seconds) | Recipe-specific default | | `GOOSE_RECIPE_ON_FAILURE_TIMEOUT_SECONDS` | Global timeout for recipe on_failure commands | Integer (seconds) | Recipe-specific default | diff --git a/documentation/docs/guides/prompt-templates.md b/documentation/docs/guides/prompt-templates.md index 94cc4d72..b40c6ecb 100644 --- a/documentation/docs/guides/prompt-templates.md +++ b/documentation/docs/guides/prompt-templates.md @@ -90,16 +90,16 @@ The following default templates can be customized. | Template | Description | Applies To | |----------|-------------|------------| -| [system.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/system.md) | General system prompt defining goose's role, capabilities, and response format | Desktop and CLI | -| [apps_create.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/apps_create.md) | Prompt for generating new standalone apps (in development) | Desktop only | -| [apps_iterate.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/apps_iterate.md) | Prompt for updating existing standalone apps (in development) | Desktop only | -| [compaction.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/compaction.md) | Prompt for summarizing conversation history when context limits are reached | Desktop and CLI | -| [permission_judge.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/permission_judge.md) | Prompt for analyzing tool operations for read-only detection | Desktop and CLI | -| [plan.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/plan.md) | Instructions for creating detailed, actionable plans with clarifying questions | CLI only | -| [recipe.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/recipe.md) | Prompt for generating recipe files from conversations | Desktop and CLI | -| [subagent_system.md](https://github.com/block/goose/blob/main/crates/goose/src/prompts/subagent_system.md) | System prompt for subagents spawned to handle specific tasks | Desktop and CLI | +| [system.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/system.md) | General system prompt defining goose's role, capabilities, and response format | Desktop and CLI | +| [apps_create.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/apps_create.md) | Prompt for generating new standalone apps (in development) | Desktop only | +| [apps_iterate.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/apps_iterate.md) | Prompt for updating existing standalone apps (in development) | Desktop only | +| [compaction.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/compaction.md) | Prompt for summarizing conversation history when context limits are reached | Desktop and CLI | +| [permission_judge.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/permission_judge.md) | Prompt for analyzing tool operations for read-only detection | Desktop and CLI | +| [plan.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/plan.md) | Instructions for creating detailed, actionable plans with clarifying questions | CLI only | +| [recipe.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/recipe.md) | Prompt for generating recipe files from conversations | Desktop and CLI | +| [subagent_system.md](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompts/subagent_system.md) | System prompt for subagents spawned to handle specific tasks | Desktop and CLI | -Customizable templates are enumerated in the `TEMPLATE_REGISTRY` array in [`prompt_template.rs`](https://github.com/block/goose/blob/main/crates/goose/src/prompt_template.rs). +Customizable templates are enumerated in the `TEMPLATE_REGISTRY` array in [`prompt_template.rs`](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/prompt_template.rs). ### Template Variable Syntax diff --git a/documentation/docs/guides/recipes/recipe-reference.md b/documentation/docs/guides/recipes/recipe-reference.md index 218344f2..cefffa15 100644 --- a/documentation/docs/guides/recipes/recipe-reference.md +++ b/documentation/docs/guides/recipes/recipe-reference.md @@ -767,7 +767,7 @@ Built-in template parameters are automatically supported and don't need to be de ## Validation Rules -Validation rules from [`validate_recipe.rs`](https://github.com/block/goose/blob/main/crates/goose/src/recipe/validate_recipe.rs) are enforced when loading recipes and used by the [`goose recipe validate`](/docs/guides/goose-cli-commands#recipe) subcommand: +Validation rules from [`validate_recipe.rs`](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/recipe/validate_recipe.rs) are enforced when loading recipes and used by the [`goose recipe validate`](/docs/guides/goose-cli-commands#recipe) subcommand: ### Recipe-Level Validation diff --git a/documentation/docs/guides/recipes/session-recipes.md b/documentation/docs/guides/recipes/session-recipes.md index 8b99ab44..6a4ba223 100644 --- a/documentation/docs/guides/recipes/session-recipes.md +++ b/documentation/docs/guides/recipes/session-recipes.md @@ -162,7 +162,7 @@ You can turn your current goose session into a reusable recipe that includes the - Use the online [Recipe Generator](https://block.github.io/goose/recipe-generator) tool to create a recipe. First choose your preferred format: + Use the online [Recipe Generator](https://goose-docs.ai/recipe-generator) tool to create a recipe. First choose your preferred format: - **URL Format**: Generates a shareable link that opens a session in goose Desktop - **YAML Format**: Generates YAML content that you can save to file and then run in goose CLI diff --git a/documentation/docs/guides/sandbox.md b/documentation/docs/guides/sandbox.md index 8d185f9f..f25b9dc6 100644 --- a/documentation/docs/guides/sandbox.md +++ b/documentation/docs/guides/sandbox.md @@ -50,7 +50,7 @@ All configuration is via environment variables. Defaults are designed to be secu ### File System -The [seatbelt sandbox profile](https://github.com/block/goose/blob/main/ui/desktop/src/sandbox/index.ts) blocks write operations to these sensitive files: +The [seatbelt sandbox profile](https://github.com/aaif-goose/goose/blob/main/ui/desktop/src/sandbox/index.ts) blocks write operations to these sensitive files: - `~/.ssh/` - Prevent SSH key tampering - `~/.bashrc`, `~/.zshrc`, `~/.bash_profile`, `~/.zprofile` - Prevent shell config injection diff --git a/documentation/docs/guides/security/prompt-injection-detection.md b/documentation/docs/guides/security/prompt-injection-detection.md index f1e789b9..a7412ecb 100644 --- a/documentation/docs/guides/security/prompt-injection-detection.md +++ b/documentation/docs/guides/security/prompt-injection-detection.md @@ -27,7 +27,7 @@ These checks provide a safeguard, not a guarantee. They detect known patterns bu When enabled, goose uses a multi-layered approach to detect threats before they run: -1. **Tool call is intercepted and analyzed** - When goose prepares to execute a tool, the security system extracts the tool parameter text and checks it against [threat patterns](https://github.com/block/goose/blob/main/crates/goose/src/security/patterns.rs). If ML-based detection is enabled, it also uses machine learning to analyze the semantic content of the tool call and recent conversation messages to better understand context and reduce false positives. +1. **Tool call is intercepted and analyzed** - When goose prepares to execute a tool, the security system extracts the tool parameter text and checks it against [threat patterns](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/security/patterns.rs). If ML-based detection is enabled, it also uses machine learning to analyze the semantic content of the tool call and recent conversation messages to better understand context and reduce false positives. 2. **Risk is assessed** - Detected threats are assigned confidence scores 3. **Execution pauses** - Threats that exceed your configured threshold need your decision 4. **Security alert appears** - The alert displays the confidence level, a description of the finding, and a unique finding ID. For example: diff --git a/documentation/docs/guides/subagents.mdx b/documentation/docs/guides/subagents.mdx index 2b67a874..beacf852 100644 --- a/documentation/docs/guides/subagents.mdx +++ b/documentation/docs/guides/subagents.mdx @@ -375,7 +375,7 @@ import agentCoordination from '@site/blog/2025-08-14-agent-coordination-patterns type: 'tutorial', title: 'Tutorial: Using Subagents', description: 'Spin up a team of subagents to build a fully functional app', - thumbnailUrl: 'https://block.github.io/goose/assets/images/tutorial-using-subagents-ef265627024db73e73d80e5799ed0c1a.png', + thumbnailUrl: 'https://goose-docs.ai/assets/images/tutorial-using-subagents-ef265627024db73e73d80e5799ed0c1a.png', linkUrl: '/docs/tutorials/subagents', date: '2026-01-27', duration: '1 hour' diff --git a/documentation/docs/guides/updating-goose.md b/documentation/docs/guides/updating-goose.md index e7ccba4e..7b89a56f 100644 --- a/documentation/docs/guides/updating-goose.md +++ b/documentation/docs/guides/updating-goose.md @@ -48,7 +48,7 @@ The goose CLI and desktop apps are under active and continuous development. To g Or you can run the [installation](/docs/getting-started/installation) script again: ```sh - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash ``` To check your current goose version, use the following command: @@ -95,7 +95,7 @@ The goose CLI and desktop apps are under active and continuous development. To g Or you can run the [installation](/docs/getting-started/installation) script again: ```sh - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash ``` To check your current goose version, use the following command: @@ -139,7 +139,7 @@ The goose CLI and desktop apps are under active and continuous development. To g Or you can run the [installation](/docs/getting-started/installation) script again in **Git Bash**, **MSYS2**, or **PowerShell** to update the goose CLI natively on Windows: ```bash - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash ``` To check your current goose version, use the following command: @@ -154,7 +154,7 @@ The goose CLI and desktop apps are under active and continuous development. To g To update your WSL installation, use `goose update` or run the installation script again via WSL: ```sh - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash ```
diff --git a/documentation/docs/mcp/council-of-mine-mcp.md b/documentation/docs/mcp/council-of-mine-mcp.md index da5ebbd4..7145a471 100644 --- a/documentation/docs/mcp/council-of-mine-mcp.md +++ b/documentation/docs/mcp/council-of-mine-mcp.md @@ -13,7 +13,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller'; -This tutorial covers how to add the [Council of Mine MCP Server](https://github.com/block/mcp-council-of-mine) as a goose extension featuring 9 LLM council members with distinct personalities who debate topics, vote on each other's opinions, and generate synthesized conclusions through AI-powered deliberation. This is great for helping you make a decision. +This tutorial covers how to add the [Council of Mine MCP Server](https://github.com/aaif-goose/mcp-council-of-mine) as a goose extension featuring 9 LLM council members with distinct personalities who debate topics, vote on each other's opinions, and generate synthesized conclusions through AI-powered deliberation. This is great for helping you make a decision. :::tip Quick Install @@ -23,7 +23,7 @@ This tutorial covers how to add the [Council of Mine MCP Server](https://github. **Command** ```sh - uvx --from git+https://github.com/block/mcp-council-of-mine mcp_council_of_mine + uvx --from git+https://github.com/aaif-goose/mcp-council-of-mine mcp_council_of_mine ``` @@ -43,7 +43,7 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on description="LLM debate" type="stdio" command="uvx" - args={["--from", "git+https://github.com/block/mcp-council-of-mine", "mcp_council_of_mine"]} + args={["--from", "git+https://github.com/aaif-goose/mcp-council-of-mine", "mcp_council_of_mine"]} /> @@ -51,7 +51,7 @@ Note that you'll need [uv](https://docs.astral.sh/uv/#installation) installed on name="Council of Mine" description="LLM debate" type="stdio" - command="uvx --from git+https://github.com/block/mcp-council-of-mine mcp_council_of_mine" + command="uvx --from git+https://github.com/aaif-goose/mcp-council-of-mine mcp_council_of_mine" timeout={300} /> diff --git a/documentation/docs/mcp/elevenlabs-mcp.md b/documentation/docs/mcp/elevenlabs-mcp.md index 64a41361..73f37c46 100644 --- a/documentation/docs/mcp/elevenlabs-mcp.md +++ b/documentation/docs/mcp/elevenlabs-mcp.md @@ -96,7 +96,7 @@ Go goose, go goose! If that’s not amazing idk what is … -πŸš€ to get started visit block.github.io/goose_ +πŸš€ to get started visit goose-docs.ai_ ### goose Output diff --git a/documentation/docs/mcp/fetch-mcp.md b/documentation/docs/mcp/fetch-mcp.md index e33514bd..bfff3129 100644 --- a/documentation/docs/mcp/fetch-mcp.md +++ b/documentation/docs/mcp/fetch-mcp.md @@ -12,7 +12,7 @@ import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructi :::warning Known Limitation -The Fetch extension [does not work](https://github.com/block/goose/issues/1184) with Google models (e.g. gemini-2.0-flash) because this extension uses `format: uri` in its JSON schema which Google doesn't support. +The Fetch extension [does not work](https://github.com/aaif-goose/goose/issues/1184) with Google models (e.g. gemini-2.0-flash) because this extension uses `format: uri` in its JSON schema which Google doesn't support. ::: This tutorial covers how to add the [Fetch MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) as a goose extension to retrieve and process content from the web. diff --git a/documentation/docs/mcp/gotohuman-mcp.md b/documentation/docs/mcp/gotohuman-mcp.md index d8585e65..2a322294 100644 --- a/documentation/docs/mcp/gotohuman-mcp.md +++ b/documentation/docs/mcp/gotohuman-mcp.md @@ -98,7 +98,7 @@ In this example, goose sends a LinkedIn post draft to gotoHuman for approval usi Send this blog draft about goose to gotoHuman for review using my `n8n news to post` form. Include today’s date as the timestamp, these links: -[goose Docs: https://block.github.io/goose/, gotoHuman: https://gotohuman.com/], +[goose Docs: https://goose-docs.ai/, gotoHuman: https://gotohuman.com/], summarize it as β€˜Introducing goose’s integration with gotoHuman for human approvals,’ and here’s the draft: diff --git a/documentation/docs/mcp/speech-mcp.md b/documentation/docs/mcp/speech-mcp.md index f8444a13..f22f335a 100644 --- a/documentation/docs/mcp/speech-mcp.md +++ b/documentation/docs/mcp/speech-mcp.md @@ -4,7 +4,7 @@ description: Add Speech MCP Server as a goose Extension unlisted: true --- -Unlist per https://github.com/block/goose/issues/5431 +Unlist per https://github.com/aaif-goose/goose/issues/5431 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; diff --git a/documentation/docs/mcp/vs-code-mcp.md b/documentation/docs/mcp/vs-code-mcp.md index 442231e8..3062394d 100644 --- a/documentation/docs/mcp/vs-code-mcp.md +++ b/documentation/docs/mcp/vs-code-mcp.md @@ -10,7 +10,7 @@ import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed'; -This tutorial covers how to add the [VS Code MCP Server](https://github.com/block/vscode-mcp) as a goose extension to enable VS Code integration, file operations, and development workflow management. +This tutorial covers how to add the [VS Code MCP Server](https://github.com/aaif-goose/vscode-mcp) as a goose extension to enable VS Code integration, file operations, and development workflow management. :::tip Quick Install diff --git a/documentation/docs/quickstart.md b/documentation/docs/quickstart.md index 565633f6..bb433db9 100644 --- a/documentation/docs/quickstart.md +++ b/documentation/docs/quickstart.md @@ -46,7 +46,7 @@ Let's begin πŸš€ Run the following command to install goose: ```sh - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash ``` @@ -71,7 +71,7 @@ Let's begin πŸš€ Run the following command to install the goose CLI on Linux: ```sh - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash ``` @@ -93,7 +93,7 @@ Let's begin πŸš€ Run the following command in **Git Bash**, **MSYS2**, or **PowerShell** to install the goose CLI natively on Windows: ```bash - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash ``` Learn about prerequisites in the [installation guide](/docs/getting-started/installation). diff --git a/documentation/docs/troubleshooting/diagnostics-and-reporting.md b/documentation/docs/troubleshooting/diagnostics-and-reporting.md index 16becee7..084ee387 100644 --- a/documentation/docs/troubleshooting/diagnostics-and-reporting.md +++ b/documentation/docs/troubleshooting/diagnostics-and-reporting.md @@ -111,7 +111,7 @@ The bug report feature opens a structured GitHub issue template to help you prov For CLI users, navigate directly to the GitHub repository: ``` - https://github.com/block/goose/issues/new?template=bug_report.md + https://github.com/aaif-goose/goose/issues/new?template=bug_report.md ``` @@ -135,7 +135,7 @@ The feature request system helps you suggest improvements and new functionality Navigate directly to the GitHub repository: ``` - https://github.com/block/goose/issues/new?template=feature_request.md + https://github.com/aaif-goose/goose/issues/new?template=feature_request.md ``` diff --git a/documentation/docs/troubleshooting/known-issues.md b/documentation/docs/troubleshooting/known-issues.md index 344afd55..5349afec 100644 --- a/documentation/docs/troubleshooting/known-issues.md +++ b/documentation/docs/troubleshooting/known-issues.md @@ -365,7 +365,7 @@ Blocked malicious package: package-name@1.0.0 (npm). OSV MAL advisories: MAL-202 Steps to resolve: 1. **Find an alternative**: Look for similar extensions in the [extensions directory][extensions-directory] or [PulseMCP](https://www.pulsemcp.com/servers) 2. **Optional verification**: Verify the source of the blocked extension or the package name/publisher -3. **Report false positives**: If you believe this is an error, please [open an issue](https://github.com/block/goose/issues) +3. **Report false positives**: If you believe this is an error, please [open an issue](https://github.com/aaif-goose/goose/issues) This security check only applies to locally-executed external extensions that use PyPI (`uvx`) or NPM (`npx`). The check uses real-time data from the OSV database; if the security service is unavailable, extensions will still install normally. diff --git a/documentation/docs/tutorials/cicd.md b/documentation/docs/tutorials/cicd.md index fd75abad..d52fca64 100644 --- a/documentation/docs/tutorials/cicd.md +++ b/documentation/docs/tutorials/cicd.md @@ -68,7 +68,7 @@ jobs: - name: Install goose CLI run: | mkdir -p /home/runner/.local/bin - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh \ + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh \ | GOOSE_VERSION=REPLACE_WITH_VERSION CONFIGURE=false GOOSE_BIN_DIR=/home/runner/.local/bin bash echo "/home/runner/.local/bin" >> $GITHUB_PATH @@ -158,7 +158,7 @@ steps: - name: Install goose CLI run: | mkdir -p /home/runner/.local/bin - curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh \ + curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh \ | GOOSE_VERSION=REPLACE_WITH_VERSION CONFIGURE=false GOOSE_BIN_DIR=/home/runner/.local/bin bash echo "/home/runner/.local/bin" >> $GITHUB_PATH diff --git a/documentation/docs/tutorials/custom-extensions.md b/documentation/docs/tutorials/custom-extensions.md index 2f5afd8f..fd469281 100644 --- a/documentation/docs/tutorials/custom-extensions.md +++ b/documentation/docs/tutorials/custom-extensions.md @@ -17,7 +17,7 @@ In this guide, we build an MCP server using the [Python SDK for MCP][mcp-python] You can check out other example servers in the [MCP servers repository][mcp-servers]. MCP SDKs are also available for other common languages, such as [TypeScript][mcp-typescript] and [Kotlin][mcp-kotlin]. :::info -goose supports Tools, Resources, and Prompts from the [Model Context Protocol](https://modelcontextprotocol.io/). See [`mcp_client.rs`](https://github.com/block/goose/blob/main/crates/goose/src/agents/mcp_client.rs) for the supported protocol version and client capabilities. +goose supports Tools, Resources, and Prompts from the [Model Context Protocol](https://modelcontextprotocol.io/). See [`mcp_client.rs`](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/agents/mcp_client.rs) for the supported protocol version and client capabilities. ::: --- @@ -348,7 +348,7 @@ goose supports advanced MCP features that can enhance your extensions. **Getting Started:** - Use the `sampling/createMessage` method in your MCP server to request AI assistance -- [goose's implementation](https://github.com/block/goose/blob/main/crates/goose/src/agents/mcp_client.rs) currently supports text and image content types +- [goose's implementation](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/agents/mcp_client.rs) currently supports text and image content types - goose automatically advertises sampling capability to all MCP servers **Use Cases:** Document summarization, smart search filtering, code analysis, data insights diff --git a/documentation/docs/tutorials/goose-in-docker.md b/documentation/docs/tutorials/goose-in-docker.md index 4f0b862c..42a69d03 100644 --- a/documentation/docs/tutorials/goose-in-docker.md +++ b/documentation/docs/tutorials/goose-in-docker.md @@ -12,7 +12,7 @@ This guide covers two Docker-related scenarios: You can build goose from the source file within a Docker container. This approach not only provides security benefits by creating an isolated environment but also enhances consistency and portability. For example, if you need to troubleshoot an error on a platform you don't usually work with (such as Ubuntu), you can easily debug it using Docker. -To begin, you will need to modify the [`Dockerfile` and `docker-compose.yml` files](https://github.com/block/goose/tree/main/documentation/docs/docker) to suit your requirements. Some changes you might consider include: +To begin, you will need to modify the [`Dockerfile` and `docker-compose.yml` files](https://github.com/aaif-goose/goose/tree/main/documentation/docs/docker) to suit your requirements. Some changes you might consider include: - **Required:** Setting your API key, provider, and model in the `docker-compose.yml` file as environment variables because the keyring settings do not work on Ubuntu in Docker. This example uses Google Gemini. diff --git a/documentation/docs/tutorials/playwright-skill.md b/documentation/docs/tutorials/playwright-skill.md index 571ec5d6..3bee48a4 100644 --- a/documentation/docs/tutorials/playwright-skill.md +++ b/documentation/docs/tutorials/playwright-skill.md @@ -91,7 +91,7 @@ In goose, enable the [Summon extension](/docs/mcp/summon-mcp) to load Agent Skil Give goose a single prompt that describes what you want to test: ``` -Using the Playwright CLI skill, open block.github.io/goose, click on the Docs menu, click on Context Engineering, +Using the Playwright CLI skill, open goose-docs.ai, click on the Docs menu, click on Context Engineering, then click on Using Skills and generate a test with video and traces ``` @@ -111,7 +111,7 @@ await page.getByRole('link', { name: 'Docs' }).click(); ### What goose does -1. Opens the browser: `playwright-cli open block.github.io/goose` +1. Opens the browser: `playwright-cli open goose-docs.ai` 2. Starts recording: `playwright-cli video-start` and `playwright-cli tracing-start` 3. Takes snapshots to find elements: `playwright-cli snapshot` 4. Performs clicks: `playwright-cli click ` @@ -134,7 +134,7 @@ The generated test might look like: import { test, expect } from '@playwright/test'; test('navigate to Using Skills guide via docs menu', async ({ page }) => { - await page.goto('https://block.github.io/goose'); + await page.goto('https://goose-docs.ai'); await expect(page).toHaveTitle(/goose/); // Click on Docs in the navigation diff --git a/documentation/docs/tutorials/ralph-loop.md b/documentation/docs/tutorials/ralph-loop.md index f99e5729..f4d4de34 100644 --- a/documentation/docs/tutorials/ralph-loop.md +++ b/documentation/docs/tutorials/ralph-loop.md @@ -24,9 +24,9 @@ Copy and paste this in your terminal to download the Ralph Loop recipes: ```bash mkdir -p ~/.config/goose/recipes -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/ralph-loop.sh -o ~/.config/goose/recipes/ralph-loop.sh -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/ralph-work.yaml -o ~/.config/goose/recipes/ralph-work.yaml -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/ralph-review.yaml -o ~/.config/goose/recipes/ralph-review.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/ralph-loop.sh -o ~/.config/goose/recipes/ralph-loop.sh +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/ralph-work.yaml -o ~/.config/goose/recipes/ralph-work.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/ralph-review.yaml -o ~/.config/goose/recipes/ralph-review.yaml chmod +x ~/.config/goose/recipes/ralph-loop.sh ``` diff --git a/documentation/docs/tutorials/rpi.md b/documentation/docs/tutorials/rpi.md index d93ca4ed..016144d5 100644 --- a/documentation/docs/tutorials/rpi.md +++ b/documentation/docs/tutorials/rpi.md @@ -24,14 +24,14 @@ Copy the snippet below and paste it in your terminal. This will download the mai ```sh mkdir -p ~/.config/goose/recipes/subrecipes -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/rpi-research.yaml -o ~/.config/goose/recipes/rpi-research.yaml -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/rpi-plan.yaml -o ~/.config/goose/recipes/rpi-plan.yaml -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/rpi-implement.yaml -o ~/.config/goose/recipes/rpi-implement.yaml -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/rpi-iterate.yaml -o ~/.config/goose/recipes/rpi-iterate.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/rpi-research.yaml -o ~/.config/goose/recipes/rpi-research.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/rpi-plan.yaml -o ~/.config/goose/recipes/rpi-plan.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/rpi-implement.yaml -o ~/.config/goose/recipes/rpi-implement.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/rpi-iterate.yaml -o ~/.config/goose/recipes/rpi-iterate.yaml -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/subrecipes/rpi-codebase-locator.yaml -o ~/.config/goose/recipes/subrecipes/rpi-codebase-locator.yaml -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/subrecipes/rpi-codebase-analyzer.yaml -o ~/.config/goose/recipes/subrecipes/rpi-codebase-analyzer.yaml -curl -sL https://raw.githubusercontent.com/block/goose/main/documentation/src/pages/recipes/data/recipes/subrecipes/rpi-pattern-finder.yaml -o ~/.config/goose/recipes/subrecipes/rpi-pattern-finder.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/subrecipes/rpi-codebase-locator.yaml -o ~/.config/goose/recipes/subrecipes/rpi-codebase-locator.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/subrecipes/rpi-codebase-analyzer.yaml -o ~/.config/goose/recipes/subrecipes/rpi-codebase-analyzer.yaml +curl -sL https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/src/pages/recipes/data/recipes/subrecipes/rpi-pattern-finder.yaml -o ~/.config/goose/recipes/subrecipes/rpi-pattern-finder.yaml ``` @@ -134,7 +134,7 @@ I start the prompt with the `/research_codebase` command followed by a topic wri ``` -This command invokes the **[RPI Research Codebase](https://raw.githubusercontent.com/block/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-research.yaml)** recipe, whose job is very strict: +This command invokes the **[RPI Research Codebase](https://raw.githubusercontent.com/aaif-goose/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-research.yaml)** recipe, whose job is very strict: - Document what exists - Do not suggest changes @@ -189,7 +189,7 @@ It's important to do each phase in a new session to keep the LLM laser focused o /create_plan a removal of the Tool Selection Strategy feature ``` -The **[RPI Create Plan](https://raw.githubusercontent.com/block/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-plan.yaml)** recipe starts by reading the research document goose created. +The **[RPI Create Plan](https://raw.githubusercontent.com/aaif-goose/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-plan.yaml)** recipe starts by reading the research document goose created. Then it did three key things: @@ -231,7 +231,7 @@ At this point, the plan became the source of truth. The key shift here is that w The plan is explicit enough that someone else could execute it. That's not an accident. Remember that the implementation will be in a fresh new session, so the plan must have enough context to actually execute it. -Again, you as the human need to step in here to review the plan and make sure it's solid. If there's anything amiss, instead of starting over you can run the **[RPI Iterate Plan](https://raw.githubusercontent.com/block/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-iterate.yaml)** plan (`/iterate_plan`) with details on what's wrong. goose will then read the existing plan, research only what needs rethinking, propose targeted updates, and edit the plan accordingly. +Again, you as the human need to step in here to review the plan and make sure it's solid. If there's anything amiss, instead of starting over you can run the **[RPI Iterate Plan](https://raw.githubusercontent.com/aaif-goose/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-iterate.yaml)** plan (`/iterate_plan`) with details on what's wrong. goose will then read the existing plan, research only what needs rethinking, propose targeted updates, and edit the plan accordingly. ## Session 3: Implement @@ -241,7 +241,7 @@ Only after research and planning are complete should you move to implementation. /implement_plan thoughts/plans/2025-12-23-remove-tool-selection-strategy.md ``` -The **[RPI Implement Plan](https://raw.githubusercontent.com/block/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-implement.yaml)** recipe is intentionally boring. In fact, I fell asleep while goose was running it. Implementation should feel mechanical. If it feels creative, something upstream is missing. But knowing that you have a rock solid plan, I advise you to go do something else with your time while goose works (unless there are manual steps in the plan). +The **[RPI Implement Plan](https://raw.githubusercontent.com/aaif-goose/goose/refs/heads/main/documentation/src/pages/recipes/data/recipes/rpi-implement.yaml)** recipe is intentionally boring. In fact, I fell asleep while goose was running it. Implementation should feel mechanical. If it feels creative, something upstream is missing. But knowing that you have a rock solid plan, I advise you to go do something else with your time while goose works (unless there are manual steps in the plan). It will read the plan completely, execute the phases in order, run verification after each phase, and update the checkboxes directly in the plan file as it goes. @@ -251,7 +251,7 @@ That last bit was really helpful because my context window filled up partway thr For 10 phases of work that spanned 32 files, the Research phase took 9 minutes, the Plan phase took 4 minutes, and the Implement phase took 39 minutes. So in total, this took just shy of an hour... 52 minutes to be exact. This included goose working and testing as well as me answering questions. -Definitely not a fast process. BUT! When I put up [this PR](https://github.com/block/goose/pull/6250), the build passed and the separate Code Review Agent didn't have a single comment. That's just how well done the work was. +Definitely not a fast process. BUT! When I put up [this PR](https://github.com/aaif-goose/goose/pull/6250), the build passed and the separate Code Review Agent didn't have a single comment. That's just how well done the work was. Had I done this without AI, it would have likely taken me several hours of work as the feature was complex and deeply integrated. And had I had AI jump straight to implementation, I have no doubt it would have surely drifted and messed something up. diff --git a/documentation/docusaurus.config.ts b/documentation/docusaurus.config.ts index cf1aa360..285074be 100644 --- a/documentation/docusaurus.config.ts +++ b/documentation/docusaurus.config.ts @@ -24,7 +24,7 @@ const config: Config = { // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. - organizationName: "block", // Usually your GitHub org/user name. + organizationName: "aaif-goose", // Usually your GitHub org/user name. projectName: "goose", // Usually your repo name. onBrokenLinks: "throw", @@ -357,7 +357,7 @@ const config: Config = { navbar: { title: "", logo: { - alt: "Block Logo", + alt: "goose Logo", // TODO: replace logo assets with AAIF branding src: "img/logo_light.png", srcDark: "img/logo_dark.png", }, @@ -421,7 +421,7 @@ const config: Config = { position: "right", }, { - href: "https://github.com/block/goose", + href: "https://github.com/aaif-goose/goose", label: "GitHub", position: "right", }, @@ -484,12 +484,12 @@ const config: Config = { }, { label: "GitHub", - href: "https://github.com/block/goose", + href: "https://github.com/aaif-goose/goose", }, ], }, ], - copyright: `Copyright Β© ${new Date().getFullYear()} Block, Inc.`, + copyright: `Copyright Β© ${new Date().getFullYear()} AAIF (Agentic AI Foundation)`, }, prism: { theme: prismThemes.github, @@ -508,7 +508,7 @@ const config: Config = { getHelpCallToActions: [ { name: "GitHub", - url: "https://github.com/block/goose", + url: "https://github.com/aaif-goose/goose", icon: { builtIn: "FaGithub", }, diff --git a/documentation/scripts/community_stars.py b/documentation/scripts/community_stars.py index 88aeffee..e59e1270 100755 --- a/documentation/scripts/community_stars.py +++ b/documentation/scripts/community_stars.py @@ -1,6 +1,9 @@ #!/usr/bin/env python3 """ -Community Stars Analysis Script for block/goose repository +Community Stars Analysis Script for aaif-goose/goose repository + +# TODO: Update BLOCK_ORGS, is_block_employee(), and team categorization logic +# for the AAIF org structure after the transfer from block/goose. This script analyzes GitHub contributor statistics and generates rankings for: - Top 5 Community All-Stars (External contributors) @@ -23,25 +26,26 @@ Requirements: - Team list file at documentation/scripts/community_stars_teams.txt """ +import calendar import json import re import sys +import time import urllib.request from datetime import datetime -import calendar from pathlib import Path -import time # GitHub URL for team list file -TEAMS_FILE_URL = "https://raw.githubusercontent.com/block/goose/main/documentation/scripts/community_stars_teams.txt" +TEAMS_FILE_URL = "https://raw.githubusercontent.com/aaif-goose/goose/main/documentation/scripts/community_stars_teams.txt" LOCAL_TEAMS_FILE = Path(__file__).parent / "community_stars_teams.txt" # Block-related organizations to check -BLOCK_ORGS = {'square', 'block', 'squareup', 'block-ghc', 'cashapp'} +BLOCK_ORGS = {"square", "block", "squareup", "block-ghc", "cashapp"} + def is_block_employee(username): """Check if a user is a Block employee by checking their profile and org memberships. - + Makes a single API call to get user profile (includes company field), then only calls orgs endpoint if company field doesn't match. """ @@ -49,93 +53,97 @@ def is_block_employee(username): # First check the user's profile (single API call) url = f"https://api.github.com/users/{username}" with urllib.request.urlopen(url) as response: - user_data = json.loads(response.read().decode('utf-8')) - + user_data = json.loads(response.read().decode("utf-8")) + # Check company field first (no additional API call needed) - company = user_data.get('company', '').lower() if user_data.get('company') else '' + company = ( + user_data.get("company", "").lower() if user_data.get("company") else "" + ) if company: # Check for Block-related keywords in company field - block_keywords = ['block', 'square', 'cash app', 'cashapp', 'tidal'] + block_keywords = ["block", "square", "cash app", "cashapp", "tidal"] if any(keyword in company for keyword in block_keywords): return True - + # Only check orgs if company field didn't match (second API call only when needed) url = f"https://api.github.com/users/{username}/orgs" with urllib.request.urlopen(url) as response: - orgs = json.loads(response.read().decode('utf-8')) - + orgs = json.loads(response.read().decode("utf-8")) + # Check if any org matches Block orgs (case-insensitive) - user_orgs = {org['login'].lower() for org in orgs} + user_orgs = {org["login"].lower() for org in orgs} if user_orgs & BLOCK_ORGS: return True - + return False - + except Exception as e: # If we can't check (rate limit, network error, etc.), return False # This means we'll default to treating them as external return False + def load_team_lists(): """Load and parse team lists from file (local or GitHub).""" content = None - + # Try local file first if LOCAL_TEAMS_FILE.exists(): - with open(LOCAL_TEAMS_FILE, 'r') as f: + with open(LOCAL_TEAMS_FILE, "r") as f: content = f.read() else: # Fall back to GitHub try: with urllib.request.urlopen(TEAMS_FILE_URL) as response: - content = response.read().decode('utf-8') + content = response.read().decode("utf-8") except Exception as e: print(f"Error: Could not load team list file from {TEAMS_FILE_URL}") print(f"Details: {e}") sys.exit(1) - + # Parse the team lists goose_maintainers = set() block_non_goose = set() external_goose = set() bots = set() - + current_section = None - for line in content.split('\n'): + for line in content.split("\n"): line = line.strip() - + # Skip comments and empty lines - if not line or line.startswith('#'): + if not line or line.startswith("#"): # Check for section headers in comments - if '# Goose Maintainers' in line: - current_section = 'goose_maintainers' - elif '# Block, non-goose' in line: - current_section = 'block_non_goose' - elif '# External, goose' in line: - current_section = 'external_goose' - elif '# Bots' in line: - current_section = 'bots' + if "# Goose Maintainers" in line: + current_section = "goose_maintainers" + elif "# Block, non-goose" in line: + current_section = "block_non_goose" + elif "# External, goose" in line: + current_section = "external_goose" + elif "# Bots" in line: + current_section = "bots" continue - + # Add username to appropriate set (lowercase for case-insensitive matching) username = line.lower() - if current_section == 'goose_maintainers': + if current_section == "goose_maintainers": goose_maintainers.add(username) - elif current_section == 'block_non_goose': + elif current_section == "block_non_goose": block_non_goose.add(username) - elif current_section == 'external_goose': + elif current_section == "external_goose": external_goose.add(username) - elif current_section == 'bots': + elif current_section == "bots": bots.add(username) - + return goose_maintainers, block_non_goose, external_goose, bots + def parse_date_range(date_input): """Parse various date input formats and return start/end timestamps.""" date_input = date_input.strip() - + # Format: "Month YYYY" (e.g., "November 2025") - month_year_pattern = r'^(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{4})$' + month_year_pattern = r"^(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{4})$" match = re.match(month_year_pattern, date_input, re.IGNORECASE) if match: month_name = match.group(1).capitalize() @@ -144,16 +152,16 @@ def parse_date_range(date_input): last_day = calendar.monthrange(year, start_date.month)[1] end_date = datetime(year, start_date.month, last_day, 23, 59, 59) return start_date.timestamp(), end_date.timestamp(), date_input - + # Format: "Date1 - Date2" (e.g., "November 1, 2025 - November 17, 2025" or "2025-11-01 - 2025-11-17") - if ' - ' in date_input or ' to ' in date_input: - separator = ' - ' if ' - ' in date_input else ' to ' + if " - " in date_input or " to " in date_input: + separator = " - " if " - " in date_input else " to " parts = date_input.split(separator) if len(parts) == 2: date_formats = ["%B %d, %Y", "%b %d, %Y", "%Y-%m-%d"] start_date = None end_date = None - + for fmt in date_formats: try: start_date = datetime.strptime(parts[0].strip(), fmt) @@ -161,12 +169,17 @@ def parse_date_range(date_input): break except ValueError: continue - + if start_date and end_date: - end_date = datetime(end_date.year, end_date.month, end_date.day, 23, 59, 59) + end_date = datetime( + end_date.year, end_date.month, end_date.day, 23, 59, 59 + ) return start_date.timestamp(), end_date.timestamp(), date_input - - raise ValueError(f"Could not parse date input: {date_input}\nSupported formats:\n - 'Month YYYY' (e.g., 'November 2025')\n - 'Month Day, YYYY - Month Day, YYYY' (e.g., 'November 1, 2025 - November 17, 2025')\n - 'YYYY-MM-DD - YYYY-MM-DD' (e.g., '2025-11-01 - 2025-11-17')") + + raise ValueError( + f"Could not parse date input: {date_input}\nSupported formats:\n - 'Month YYYY' (e.g., 'November 2025')\n - 'Month Day, YYYY - Month Day, YYYY' (e.g., 'November 1, 2025 - November 17, 2025')\n - 'YYYY-MM-DD - YYYY-MM-DD' (e.g., '2025-11-01 - 2025-11-17')" + ) + def main(): # Parse command line arguments @@ -191,127 +204,162 @@ def main(): goose_maintainers, block_non_goose, external_goose, bots = load_team_lists() # Load GitHub data - github_data_file = '/tmp/github_contributors.json' + github_data_file = "/tmp/github_contributors.json" contributors_data = None - + # Try to load existing file first try: - with open(github_data_file, 'r') as f: + with open(github_data_file, "r") as f: contributors_data = json.load(f) - + # Validate the data is not empty or invalid - if not contributors_data or not isinstance(contributors_data, list) or len(contributors_data) == 0: - print(f"Warning: GitHub data file exists but is empty or invalid. Fetching fresh data...", file=sys.stderr) + if ( + not contributors_data + or not isinstance(contributors_data, list) + or len(contributors_data) == 0 + ): + print( + f"Warning: GitHub data file exists but is empty or invalid. Fetching fresh data...", + file=sys.stderr, + ) contributors_data = None except (FileNotFoundError, json.JSONDecodeError): - print(f"GitHub data file not found or invalid. Fetching fresh data...", file=sys.stderr) + print( + f"GitHub data file not found or invalid. Fetching fresh data...", + file=sys.stderr, + ) contributors_data = None - + # Fetch from GitHub API if needed if contributors_data is None: print("Fetching contributor data from GitHub API...", file=sys.stderr) max_retries = 3 retry_delay = 2 - + for attempt in range(max_retries): try: - url = "https://api.github.com/repos/block/goose/stats/contributors" + url = "https://api.github.com/repos/aaif-goose/goose/stats/contributors" with urllib.request.urlopen(url, timeout=30) as response: - contributors_data = json.loads(response.read().decode('utf-8')) - + contributors_data = json.loads(response.read().decode("utf-8")) + # Validate the response - if contributors_data and isinstance(contributors_data, list) and len(contributors_data) > 0: + if ( + contributors_data + and isinstance(contributors_data, list) + and len(contributors_data) > 0 + ): # Save to file for future use - with open(github_data_file, 'w') as f: + with open(github_data_file, "w") as f: json.dump(contributors_data, f) - print(f"βœ“ Successfully fetched data for {len(contributors_data)} contributors", file=sys.stderr) + print( + f"βœ“ Successfully fetched data for {len(contributors_data)} contributors", + file=sys.stderr, + ) break else: - print(f"Attempt {attempt + 1}/{max_retries}: GitHub API returned empty data. Retrying...", file=sys.stderr) + print( + f"Attempt {attempt + 1}/{max_retries}: GitHub API returned empty data. Retrying...", + file=sys.stderr, + ) contributors_data = None if attempt < max_retries - 1: time.sleep(retry_delay) except Exception as e: - print(f"Attempt {attempt + 1}/{max_retries}: Error fetching from GitHub API: {e}", file=sys.stderr) + print( + f"Attempt {attempt + 1}/{max_retries}: Error fetching from GitHub API: {e}", + file=sys.stderr, + ) if attempt < max_retries - 1: time.sleep(retry_delay) else: - print("\nError: Could not fetch GitHub contributor data after multiple attempts.") - print("The GitHub stats API may be temporarily unavailable or still computing statistics.") + print( + "\nError: Could not fetch GitHub contributor data after multiple attempts." + ) + print( + "The GitHub stats API may be temporarily unavailable or still computing statistics." + ) print("Please try again in a few minutes.") sys.exit(1) - + if contributors_data is None: print("\nError: GitHub API returned empty data after multiple attempts.") - print("The repository statistics may still be computing. Please try again in a few minutes.") + print( + "The repository statistics may still be computing. Please try again in a few minutes." + ) sys.exit(1) # Process contributors contributor_stats = [] checked_orgs = {} # Cache org checks to avoid redundant API calls - + print("Checking contributor organizations...", file=sys.stderr) for contributor in contributors_data: # Skip if author is None (deleted users) - if contributor.get('author') is None: + if contributor.get("author") is None: continue - - username = contributor['author']['login'] + + username = contributor["author"]["login"] username_lower = username.lower() - + # Skip excluded categories (case-insensitive matching) - if username_lower in bots or username_lower in goose_maintainers or username_lower in external_goose: + if ( + username_lower in bots + or username_lower in goose_maintainers + or username_lower in external_goose + ): continue - + # Calculate stats for the specified period period_commits = 0 period_additions = 0 period_deletions = 0 - - for week in contributor['weeks']: - week_timestamp = week['w'] + + for week in contributor["weeks"]: + week_timestamp = week["w"] if start_timestamp <= week_timestamp <= end_timestamp: - period_commits += week['c'] - period_additions += week['a'] - period_deletions += week['d'] - + period_commits += week["c"] + period_additions += week["a"] + period_deletions += week["d"] + # Only include contributors with activity in the period if period_commits > 0: total_lines = period_additions + period_deletions - + # Categorize (only Block non-goose and External now) if username_lower in block_non_goose: - category = 'block_non_goose' + category = "block_non_goose" else: # Check if user is in a Block org (with caching) if username not in checked_orgs: checked_orgs[username] = is_block_employee(username) # Add a small delay to avoid rate limiting time.sleep(0.1) - + if checked_orgs[username]: - category = 'block_non_goose' + category = "block_non_goose" print(f" βœ“ Detected Block employee: @{username}", file=sys.stderr) else: - category = 'external' - - contributor_stats.append({ - 'username': username, - 'category': category, - 'commits': period_commits, - 'additions': period_additions, - 'deletions': period_deletions, - 'total_lines': total_lines, - 'score': period_commits + total_lines - }) + category = "external" + + contributor_stats.append( + { + "username": username, + "category": category, + "commits": period_commits, + "additions": period_additions, + "deletions": period_deletions, + "total_lines": total_lines, + "score": period_commits + total_lines, + } + ) # Sort by score - contributor_stats.sort(key=lambda x: x['score'], reverse=True) + contributor_stats.sort(key=lambda x: x["score"], reverse=True) # Separate by category - block_list = [c for c in contributor_stats if c['category'] == 'block_non_goose'] - external_list = [c for c in contributor_stats if c['category'] == 'external'] + block_list = [c for c in contributor_stats if c["category"] == "block_non_goose"] + external_list = [c for c in contributor_stats if c["category"] == "external"] # Get top 5 from each top_external = external_list[:5] @@ -320,7 +368,9 @@ def main(): # Print results print("=" * 70) print(f"COMMUNITY STARS - {display_period.upper()}") - print(f"(Period: {start_date.strftime('%B %d, %Y')} - {end_date.strftime('%B %d, %Y')})") + print( + f"(Period: {start_date.strftime('%B %d, %Y')} - {end_date.strftime('%B %d, %Y')})" + ) print("=" * 70) print() @@ -328,7 +378,9 @@ def main(): print("-" * 70) if top_external: for i, contrib in enumerate(top_external, 1): - print(f"{i}. @{contrib['username']:20s} - {contrib['commits']:3d} commits, {contrib['total_lines']:6,d} lines") + print( + f"{i}. @{contrib['username']:20s} - {contrib['commits']:3d} commits, {contrib['total_lines']:6,d} lines" + ) else: print("No external contributors found for this period.") @@ -337,7 +389,9 @@ def main(): print("-" * 70) if top_internal: for i, contrib in enumerate(top_internal, 1): - print(f"{i}. @{contrib['username']:20s} - {contrib['commits']:3d} commits, {contrib['total_lines']:6,d} lines") + print( + f"{i}. @{contrib['username']:20s} - {contrib['commits']:3d} commits, {contrib['total_lines']:6,d} lines" + ) else: print("No internal contributors found for this period.") @@ -346,17 +400,22 @@ def main(): print("-" * 70) if contributor_stats: for i, contrib in enumerate(contributor_stats, 1): - cat_label = "External" if contrib['category'] == 'external' else "Block" - print(f"{i:2d}. @{contrib['username']:20s} - {contrib['commits']:3d} commits, {contrib['total_lines']:6,d} lines [{cat_label}]") + cat_label = "External" if contrib["category"] == "external" else "Block" + print( + f"{i:2d}. @{contrib['username']:20s} - {contrib['commits']:3d} commits, {contrib['total_lines']:6,d} lines [{cat_label}]" + ) else: print("No contributors found for this period.") print() print("=" * 70) - print(f"Total contributors (excluding bots, goose maintainers, external goose): {len(contributor_stats)}") + print( + f"Total contributors (excluding bots, goose maintainers, external goose): {len(contributor_stats)}" + ) print(f" External: {len(external_list)}") print(f" Block (non-goose): {len(block_list)}") print("=" * 70) + if __name__ == "__main__": main() diff --git a/documentation/scripts/community_stars_teams.txt b/documentation/scripts/community_stars_teams.txt index 5c71029e..3bdd57a7 100644 --- a/documentation/scripts/community_stars_teams.txt +++ b/documentation/scripts/community_stars_teams.txt @@ -1,5 +1,5 @@ # Community Stars Team Lists -# This file categorizes contributors for the block/goose Community Stars program +# This file categorizes contributors for the aaif-goose/goose Community Stars program # Format: One username per line under each category header # # Note: External contributors (eligible for Community All-Stars) are automatically diff --git a/documentation/scripts/generate-docs-map.js b/documentation/scripts/generate-docs-map.js index 4bc41803..5eafbaab 100644 --- a/documentation/scripts/generate-docs-map.js +++ b/documentation/scripts/generate-docs-map.js @@ -79,7 +79,7 @@ async function main() { } } - output += `---\n\n> Full docs: https://block.github.io/goose/\n`; + output += `---\n\n> Full docs: https://goose-docs.ai/\n`; fs.writeFileSync(OUTPUT_FILE, output); console.log(`[generate-docs-map] Generated: ${OUTPUT_FILE}`); diff --git a/documentation/src/pages/community/data/community-content.json b/documentation/src/pages/community/data/community-content.json index 541b69a9..294e2db9 100644 --- a/documentation/src/pages/community/data/community-content.json +++ b/documentation/src/pages/community/data/community-content.json @@ -3,7 +3,7 @@ "description": "Amazing blog posts, videos, and tutorials created by our community for goose!", "lastUpdated": "2025-10-15", "hacktoberfestYear": 2025, - "submissionUrl": "https://github.com/block/goose/issues/4705", + "submissionUrl": "https://github.com/aaif-goose/goose/issues/4705", "submissions": [ { "title": "Hacktoberfest 2025: Contributing to goose", @@ -12,7 +12,7 @@ "handle": "taniacryptid" }, "type": "blog", - "url": "https://block.github.io/goose/blog/2025/09/26/hacktoberfest-2025", + "url": "https://goose-docs.ai/blog/2025/09/26/hacktoberfest-2025", "thumbnail": "https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=400&h=225&fit=crop&crop=entropy&auto=format", "submittedDate": "2025-09-26", "tags": [ diff --git a/documentation/src/pages/community/index.tsx b/documentation/src/pages/community/index.tsx index 3dd389c5..0952d2a7 100644 --- a/documentation/src/pages/community/index.tsx +++ b/documentation/src/pages/community/index.tsx @@ -129,10 +129,10 @@ function CommunityAllStarsSection() {
Want to be a Community All Star? Just start contributing on{' '} - GitHub, helping others on{' '} + GitHub, helping others on{' '} Discord, or share your goose projects with the community! You can check out the{' '} - contributing guide{' '} + contributing guide{' '} for more tips.
diff --git a/documentation/src/pages/grants.md b/documentation/src/pages/grants.md index 5b4176b7..26480361 100644 --- a/documentation/src/pages/grants.md +++ b/documentation/src/pages/grants.md @@ -63,9 +63,9 @@ We will support as many strong, mission-aligned projects as our resources allow. Potentially, yes. We may extend or renew grants based on progress, impact, and alignment. Renewals are not guaranteed and will be evaluated on a case-by-case basis. -**Does a grant lead to a job at goose or Block?** +**Does a grant lead to a job at goose or AAIF?** -No. Grants are not employment and do not imply future hiring. However, collaboration with goose or Block teams may emerge naturally from impactful work. +No. Grants are not employment and do not imply future hiring. However, collaboration with goose or AAIF teams may emerge naturally from impactful work. **How does work get reviewed?** @@ -103,12 +103,12 @@ If you have additional questions, feel free to reach out in [Discord](https://di - + - + - + - + \ No newline at end of file diff --git a/documentation/src/pages/prompt-library/data/prompts/code-documentation-migrator.json b/documentation/src/pages/prompt-library/data/prompts/code-documentation-migrator.json index 6e974cbd..9ab3e784 100644 --- a/documentation/src/pages/prompt-library/data/prompts/code-documentation-migrator.json +++ b/documentation/src/pages/prompt-library/data/prompts/code-documentation-migrator.json @@ -11,7 +11,7 @@ "name": "GitHub", "command": "npx -y @modelcontextprotocol/server-github", "is_builtin": false, - "link": "https://block.github.io/goose/docs/mcp/github-mcp", + "link": "https://goose-docs.ai/docs/mcp/github-mcp", "environmentVariables": [ { "name": "GITHUB_PERSONAL_ACCESS_TOKEN", diff --git a/documentation/src/pages/prompt-library/data/prompts/content-calendar-generator.json b/documentation/src/pages/prompt-library/data/prompts/content-calendar-generator.json index 54c586db..beda1959 100644 --- a/documentation/src/pages/prompt-library/data/prompts/content-calendar-generator.json +++ b/documentation/src/pages/prompt-library/data/prompts/content-calendar-generator.json @@ -12,7 +12,7 @@ "name": "Google Drive", "command": "npx -y @modelcontextprotocol/server-gdrive", "is_builtin": false, - "link": "https://block.github.io/goose/v1/extensions/google-drive", + "link": "https://goose-docs.ai/v1/extensions/google-drive", "environmentVariables": [ { "name": "GDRIVE_OAUTH_PATH", diff --git a/documentation/src/pages/prompt-library/data/prompts/github-issue-labeler.json b/documentation/src/pages/prompt-library/data/prompts/github-issue-labeler.json index 784e0c54..19a0e1c3 100644 --- a/documentation/src/pages/prompt-library/data/prompts/github-issue-labeler.json +++ b/documentation/src/pages/prompt-library/data/prompts/github-issue-labeler.json @@ -11,7 +11,7 @@ "name": "GitHub", "command": "goose session --with-streamable-http-extension \"https://api.githubcopilot.com/mcp/\"", "is_builtin": false, - "link": "https://block.github.io/goose/docs/mcp/github-mcp", + "link": "https://goose-docs.ai/docs/mcp/github-mcp", "environmentVariables": [ { "name": "GITHUB_PERSONAL_ACCESS_TOKEN", diff --git a/documentation/src/pages/prompt-library/data/prompts/marketing-budget-review.json b/documentation/src/pages/prompt-library/data/prompts/marketing-budget-review.json index 05e9edb4..95541180 100644 --- a/documentation/src/pages/prompt-library/data/prompts/marketing-budget-review.json +++ b/documentation/src/pages/prompt-library/data/prompts/marketing-budget-review.json @@ -11,7 +11,7 @@ "name": "Google Drive", "command": "npx -y @modelcontextprotocol/server-gdrive", "is_builtin": false, - "link": "https://block.github.io/goose/v1/extensions/google-drive", + "link": "https://goose-docs.ai/v1/extensions/google-drive", "environmentVariables": [ { "name": "GDRIVE_OAUTH_PATH", diff --git a/documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json b/documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json index 6be830e8..434ee0b9 100644 --- a/documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json +++ b/documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json @@ -24,7 +24,7 @@ "name": "Google Drive", "command": "npx -y @modelcontextprotocol/server-gdrive", "is_builtin": false, - "link": "https://block.github.io/goose/v1/extensions/google-drive", + "link": "https://goose-docs.ai/v1/extensions/google-drive", "environmentVariables": [ { "name": "GDRIVE_OAUTH_PATH", diff --git a/documentation/src/pages/prompt-library/data/prompts/social-post-adaptation.json b/documentation/src/pages/prompt-library/data/prompts/social-post-adaptation.json index 513f2678..3096c6a4 100644 --- a/documentation/src/pages/prompt-library/data/prompts/social-post-adaptation.json +++ b/documentation/src/pages/prompt-library/data/prompts/social-post-adaptation.json @@ -11,7 +11,7 @@ "name": "Google Drive", "command": "npx -y @modelcontextprotocol/server-gdrive", "is_builtin": false, - "link": "https://block.github.io/goose/v1/extensions/google-drive", + "link": "https://goose-docs.ai/v1/extensions/google-drive", "environmentVariables": [ { "name": "GDRIVE_OAUTH_PATH", diff --git a/documentation/src/pages/recipes/data/recipes/add-mcp-server.yaml b/documentation/src/pages/recipes/data/recipes/add-mcp-server.yaml index c7c5b0ce..f6c003c8 100644 --- a/documentation/src/pages/recipes/data/recipes/add-mcp-server.yaml +++ b/documentation/src/pages/recipes/data/recipes/add-mcp-server.yaml @@ -164,7 +164,7 @@ instructions: | πŸ“ Add real example prompt and output: Replace placeholders in Example Usage section πŸ“ Review for any remaining TODOs or placeholders - Provide the testing checklist: - πŸ“ Build and run the docs server using [these steps](https://github.com/block/goose/blob/main/documentation/README.md), then verify: + πŸ“ Build and run the docs server using [these steps](https://github.com/aaif-goose/goose/blob/main/documentation/README.md), then verify: πŸ“ Extensions page (`/goose/extensions`) loads successfully. Verify: - Info is correct on the summary and details cards (click extension name to view details card) - The `goose://` deeplink opens the installer correctly in Desktop diff --git a/documentation/src/pages/recipes/index.tsx b/documentation/src/pages/recipes/index.tsx index 90807d4a..8a0c50a2 100644 --- a/documentation/src/pages/recipes/index.tsx +++ b/documentation/src/pages/recipes/index.tsx @@ -95,7 +95,7 @@ export default function RecipePage() { Recipes Cookbook

- Requires Summon extension enabled + Requires Summon extension enabled

diff --git a/documentation/src/pages/skills/index.tsx b/documentation/src/pages/skills/index.tsx index fbc2f9c4..a7f773ee 100644 --- a/documentation/src/pages/skills/index.tsx +++ b/documentation/src/pages/skills/index.tsx @@ -6,14 +6,19 @@ import { motion } from "framer-motion"; import Layout from "@theme/Layout"; import Admonition from "@theme/Admonition"; import { Button } from "@site/src/components/ui/button"; -import { SidebarFilter, type SidebarFilterGroup } from "@site/src/components/ui/sidebar-filter"; +import { + SidebarFilter, + type SidebarFilterGroup, +} from "@site/src/components/ui/sidebar-filter"; import { Menu, X } from "lucide-react"; -import Link from '@docusaurus/Link'; +import Link from "@docusaurus/Link"; export default function SkillsPage() { const [skills, setSkills] = useState([]); const [searchQuery, setSearchQuery] = useState(""); - const [selectedFilters, setSelectedFilters] = useState>({}); + const [selectedFilters, setSelectedFilters] = useState< + Record + >({}); const [isMobileFilterOpen, setIsMobileFilterOpen] = useState(false); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); @@ -21,30 +26,26 @@ export default function SkillsPage() { const skillsPerPage = 10; // Build tag filter options from loaded skills - const uniqueTags = Array.from( - new Set( - skills.flatMap((s) => s.tags || []) - ) - ).sort().map((tag) => ({ - label: tag.charAt(0).toUpperCase() + tag.slice(1), - value: tag - })); + const uniqueTags = Array.from(new Set(skills.flatMap((s) => s.tags || []))) + .sort() + .map((tag) => ({ + label: tag.charAt(0).toUpperCase() + tag.slice(1), + value: tag, + })); // Build source filter options (Community only - official is the default) - const sourceOptions = [ - { label: "Community", value: "community" } - ]; + const sourceOptions = [{ label: "Community", value: "community" }]; const sidebarFilterGroups: SidebarFilterGroup[] = [ { title: "Source", - options: sourceOptions + options: sourceOptions, }, { title: "Tags", options: uniqueTags, - maxHeight: "max-h-64 overflow-y-auto" - } + maxHeight: "max-h-64 overflow-y-auto", + }, ]; useEffect(() => { @@ -55,7 +56,8 @@ export default function SkillsPage() { const results = await searchSkills(searchQuery); setSkills(results); } catch (err) { - const errorMessage = err instanceof Error ? err.message : "Unknown error"; + const errorMessage = + err instanceof Error ? err.message : "Unknown error"; setError(`Failed to load skills: ${errorMessage}`); console.error("Error loading skills:", err); } finally { @@ -99,21 +101,40 @@ export default function SkillsPage() { Skills Marketplace

Browse community-contributed{" "} - + skills {" "} - that teach goose how to perform specific tasks. Skills are reusable instruction sets with optional supporting files. + that teach goose how to perform specific tasks. Skills are reusable + instruction sets with optional supporting files.

@@ -137,12 +158,14 @@ export default function SkillsPage() {
-
+
{ - setSelectedFilters(prev => ({ ...prev, [group]: values })); + setSelectedFilters((prev) => ({ ...prev, [group]: values })); setCurrentPage(1); }} /> @@ -164,7 +187,9 @@ export default function SkillsPage() { )} {isLoading ? ( -
Loading skills...
+
+ Loading skills... +
) : filteredSkills.length === 0 ? (

@@ -177,7 +202,10 @@ export default function SkillsPage() { <>

{filteredSkills - .slice((currentPage - 1) * skillsPerPage, currentPage * skillsPerPage) + .slice( + (currentPage - 1) * skillsPerPage, + currentPage * skillsPerPage, + ) .map((skill) => ( skillsPerPage && (
- Page {currentPage} of {Math.ceil(filteredSkills.length / skillsPerPage)} + Page {currentPage} of{" "} + {Math.ceil(filteredSkills.length / skillsPerPage)}