<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Viet Bui</title>
    <description>The latest articles on DEV Community by Viet Bui (@vietbui1999ru).</description>
    <link>https://dev.to/vietbui1999ru</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3590593%2F3ed558b5-7d66-4819-9dad-9b95d2546c4f.png</url>
      <title>DEV Community: Viet Bui</title>
      <link>https://dev.to/vietbui1999ru</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vietbui1999ru"/>
    <language>en</language>
    <item>
      <title>Managing Goose Configurations Across Multiple Projects: A Practical Guide</title>
      <dc:creator>Viet Bui</dc:creator>
      <pubDate>Fri, 31 Oct 2025 06:49:01 +0000</pubDate>
      <link>https://dev.to/vietbui1999ru/managing-goose-configurations-across-multiple-projects-a-practical-guide-48ei</link>
      <guid>https://dev.to/vietbui1999ru/managing-goose-configurations-across-multiple-projects-a-practical-guide-48ei</guid>
      <description>&lt;h1&gt;
  
  
  Managing goose Configurations Across Multiple Projects: A Practical Guide
&lt;/h1&gt;

&lt;h1&gt;
  
  
  goose #hacktoberfest #devops #productivity
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Working with goose across multiple projects comes with challenges. One major issue is the time and effort it takes for teams to set up configurations: "Wait, what provider did we use for this React app? Which LLM model for the Django server? Did you turn off auto-execute for this SECRET project?"&lt;/p&gt;

&lt;p&gt;Without a systematic structure, teams constantly ask these questions and fix inconsistencies. Fortunately, goose provides several tools to help manage configurations more effectively.&lt;/p&gt;




&lt;h2&gt;
  
  
  Understanding goose Configuration
&lt;/h2&gt;

&lt;p&gt;goose stores its global configuration in &lt;code&gt;~/.config/goose/config.yaml&lt;/code&gt; and uses your system's keyring for sensitive information like API keys. You can set up your configuration interactively:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;goose configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This command walks you through provider setup, model selection, and extension configuration.&lt;/p&gt;
&lt;h3&gt;
  
  
  Environment Variable Overrides
&lt;/h3&gt;

&lt;p&gt;goose respects environment variables, allowing you to override settings per project or session:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_PROVIDER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"openai"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_MODEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"gpt-4o"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_MODE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"auto"&lt;/span&gt;
goose session
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Common environment variables include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;GOOSE_PROVIDER&lt;/code&gt; - LLM provider selection&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GOOSE_MODEL&lt;/code&gt; - Model selection&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GOOSE_MODE&lt;/code&gt; - Operation mode&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;OPENAI_API_KEY&lt;/code&gt; - OpenAI API key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt; - Anthropic API key&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Project-Specific Configuration Strategies
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Environment Files
&lt;/h3&gt;

&lt;p&gt;Create project-specific environment files to standardize settings:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# project-a/.env.goose&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_PROVIDER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"openai"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_MODEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"gpt-4o-mini"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_MODE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"auto"&lt;/span&gt;

&lt;span class="c"&gt;# Usage&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;project-a
&lt;span class="nb"&gt;source&lt;/span&gt; .env.goose
goose session &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"project-a-work"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Wrapper Scripts
&lt;/h3&gt;

&lt;p&gt;Create scripts that set up the environment and launch goose:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
&lt;span class="c"&gt;# scripts/goose-frontend.sh&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_PROVIDER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"openai"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_MODEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"gpt-4o"&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; /path/to/frontend-project
goose session &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"frontend-work"&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  3. Session Management
&lt;/h3&gt;

&lt;p&gt;goose includes built-in session management that helps organize work by project:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create named sessions for different projects&lt;/span&gt;
goose session &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"frontend-auth-feature"&lt;/span&gt;
goose session &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"backend-api-refactor"&lt;/span&gt;

&lt;span class="c"&gt;# Resume previous sessions&lt;/span&gt;
goose session &lt;span class="nt"&gt;--name&lt;/span&gt; &lt;span class="s2"&gt;"frontend-auth-feature"&lt;/span&gt; &lt;span class="nt"&gt;--resume&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Project Tracking Features
&lt;/h3&gt;

&lt;p&gt;goose automatically tracks your project directories:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Resume your most recent project&lt;/span&gt;
goose project

&lt;span class="c"&gt;# Browse and select from recent projects&lt;/span&gt;
goose projects
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This makes it easy to switch between different codebases while maintaining separate contexts.&lt;/p&gt;


&lt;h2&gt;
  
  
  Configuration Validation Script
&lt;/h2&gt;

&lt;p&gt;Here's a simple script to check your goose environment setup:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
&lt;span class="c"&gt;# validate-goose-setup.sh&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"🔍 Checking goose setup..."&lt;/span&gt;

&lt;span class="c"&gt;# Check if goose is available&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="nb"&gt;command&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; goose &amp;amp;&amp;gt; /dev/null&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
    &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"❌ goose command not found"&lt;/span&gt;
    &lt;span class="nb"&gt;exit &lt;/span&gt;1
&lt;span class="k"&gt;fi

&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"✅ goose is installed"&lt;/span&gt;

&lt;span class="c"&gt;# Check environment variables&lt;/span&gt;
&lt;span class="nv"&gt;ENV_VARS&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;&lt;span class="s2"&gt;"GOOSE_PROVIDER"&lt;/span&gt; &lt;span class="s2"&gt;"GOOSE_MODEL"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for &lt;/span&gt;var &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ENV_VARS&lt;/span&gt;&lt;span class="p"&gt;[@]&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do
    if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="p"&gt;!var&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"✅ &lt;/span&gt;&lt;span class="nv"&gt;$var&lt;/span&gt;&lt;span class="s2"&gt; = &lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="p"&gt;!var&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;else
        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"ℹ️  &lt;/span&gt;&lt;span class="nv"&gt;$var&lt;/span&gt;&lt;span class="s2"&gt; not set (using global config)"&lt;/span&gt;
    &lt;span class="k"&gt;fi
done&lt;/span&gt;

&lt;span class="c"&gt;# Check for API keys&lt;/span&gt;
&lt;span class="nv"&gt;API_KEYS&lt;/span&gt;&lt;span class="o"&gt;=(&lt;/span&gt;&lt;span class="s2"&gt;"OPENAI_API_KEY"&lt;/span&gt; &lt;span class="s2"&gt;"ANTHROPIC_API_KEY"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for &lt;/span&gt;key &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;API_KEYS&lt;/span&gt;&lt;span class="p"&gt;[@]&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do
    if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="p"&gt;!key&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
        &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"✅ &lt;/span&gt;&lt;span class="nv"&gt;$key&lt;/span&gt;&lt;span class="s2"&gt; is configured"&lt;/span&gt;
    &lt;span class="k"&gt;fi
done

&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"✅ Setup check complete"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Team Configuration Strategies
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Small Teams
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Share environment file templates in your repositories&lt;/li&gt;
&lt;li&gt;Document required environment variables in README files&lt;/li&gt;
&lt;li&gt;Use consistent naming for session names across the team&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Medium Teams
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Create a shared repository of configuration scripts&lt;/li&gt;
&lt;li&gt;Standardize on provider and model choices for consistency&lt;/li&gt;
&lt;li&gt;Document configuration decisions and rationale&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Large Organizations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Establish configuration standards and templates&lt;/li&gt;
&lt;li&gt;Create onboarding documentation for goose setup&lt;/li&gt;
&lt;li&gt;Consider centralized script distribution for common configurations&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Troubleshooting Common Issues
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Configuration Not Working
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check current configuration&lt;/span&gt;
goose info
goose info &lt;span class="nt"&gt;--verbose&lt;/span&gt;

&lt;span class="c"&gt;# Reconfigure if needed&lt;/span&gt;
goose configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Environment Variables Not Taking Effect
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Verify variables are set&lt;/span&gt;
&lt;span class="nb"&gt;env&lt;/span&gt; | &lt;span class="nb"&gt;grep &lt;/span&gt;GOOSE
&lt;span class="nb"&gt;env&lt;/span&gt; | &lt;span class="nb"&gt;grep &lt;/span&gt;API_KEY

&lt;span class="c"&gt;# Make sure to export variables&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GOOSE_PROVIDER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"openai"&lt;/span&gt;  &lt;span class="c"&gt;# Not just GOOSE_PROVIDER="openai"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Session Management Issues
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# List available sessions to see what exists&lt;/span&gt;
goose session list

&lt;span class="c"&gt;# Check project tracking&lt;/span&gt;
goose projects
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Security
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Store API keys in environment variables, not in code&lt;/li&gt;
&lt;li&gt;Use goose's keyring integration via &lt;code&gt;goose configure&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add environment files to &lt;code&gt;.gitignore&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Organization
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use descriptive session names that include project and feature context&lt;/li&gt;
&lt;li&gt;Keep environment files in project roots for easy access&lt;/li&gt;
&lt;li&gt;Document your configuration choices in project README files&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Team Coordination
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Establish team standards for provider and model selection&lt;/li&gt;
&lt;li&gt;Share configuration templates and scripts&lt;/li&gt;
&lt;li&gt;Document any project-specific requirements or constraints&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Real-World Example
&lt;/h2&gt;

&lt;p&gt;Here's how you might organize configurations for a multi-project setup:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;my-projects/
├── frontend-app/
│   ├── .env.goose
│   └── README.md
├── backend-api/
│   ├── .env.goose  
│   └── README.md
└── scripts/
    ├── goose-frontend.sh
    ├── goose-backend.sh
    └── validate-setup.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Each &lt;code&gt;.env.goose&lt;/code&gt; file contains project-appropriate settings, and the scripts provide convenient ways to launch goose with the right configuration.&lt;/p&gt;


&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Managing goose configurations across projects becomes much easier when you leverage environment variables, session management, and goose's built-in project tracking. Start with simple environment files and wrapper scripts, then build more sophisticated tooling as your team's needs grow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;goose configure&lt;/code&gt; for global setup&lt;/li&gt;
&lt;li&gt;Override settings with environment variables per project&lt;/li&gt;
&lt;li&gt;Leverage session names and project tracking for organization&lt;/li&gt;
&lt;li&gt;Create simple scripts and templates to reduce setup friction&lt;/li&gt;
&lt;li&gt;Document your configuration decisions for team consistency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to reduce the cognitive overhead of switching between projects while maintaining the flexibility to use different providers, models, and settings as needed.&lt;/p&gt;


&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://block.github.io/goose/docs/guides/config-files" rel="noopener noreferrer"&gt;Goose Configuration Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://block.github.io/goose/docs/category/guides" rel="noopener noreferrer"&gt;Goose Guides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/block/goose" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/block" rel="noopener noreferrer"&gt;
        block
      &lt;/a&gt; / &lt;a href="https://github.com/block/goose" rel="noopener noreferrer"&gt;
        goose
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;goose&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;em&gt;a local, extensible, open source AI agent that automates engineering tasks&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://opensource.org/licenses/Apache-2.0" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5b60841bea9e11d9d0b0950d690c9bc554e06385634056a7d5d62a15d1a4eabe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4170616368655f322e302d626c75652e737667"&gt;&lt;/a&gt;
  &lt;a href="https://discord.gg/goose-oss" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/2519ab6b1b4d6d4b7c86e1a0a3dfb43ccc449f504f9193bef87357f5f261552a/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f313238373732393931383130303234363635343f6c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465266c6162656c3d4a6f696e2b557326636f6c6f723d626c756576696f6c6574" alt="Discord"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/block/goose/actions/workflows/ci.yml" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/54c1aa543ed5e2f73ee65c268b0f32bc59c9ca507e5501d941d18641da65eff3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f626c6f636b2f676f6f73652f63692e796d6c3f6272616e63683d6d61696e" alt="CI"&gt;&lt;/a&gt;
&lt;/p&gt;


&lt;/div&gt;

&lt;p&gt;goose 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 - &lt;em&gt;autonomously&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Whether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.&lt;/p&gt;

&lt;p&gt;Designed 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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/D-DpDunrbpo" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F113943282%2F494478532-ddc71240-3928-41b5-8210-626dfb28af7a.jpg%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ2NDExODcsIm5iZiI6MTc3NDY0MDg4NywicGF0aCI6Ii8xMTM5NDMyODIvNDk0NDc4NTMyLWRkYzcxMjQwLTM5MjgtNDFiNS04MjEwLTYyNmRmYjI4YWY3YS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMyN1QxOTQ4MDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01YTk1NzFjNGRiZTg3OWFlZTY2OGUxY2Q1NmYzZDQxODUyNzBmMjE1ODM1NmU3ZjQxZmY1NzgwMjEzMzA4ODNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.yZJ14UPH3Kj9hUKlb4OwSaNodh7Yu4QAF9YillH6EC0" alt="Watch the video"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Quick Links&lt;/h1&gt;
&lt;/div&gt;


&lt;ul&gt;

&lt;li&gt;&lt;a href="https://block.github.io/goose/docs/quickstart" rel="nofollow noopener noreferrer"&gt;Quickstart&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://block.github.io/goose/docs/getting-started/installation" rel="nofollow noopener noreferrer"&gt;Installation&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://block.github.io/goose/docs/category/tutorials" rel="nofollow noopener noreferrer"&gt;Tutorials&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://block.github.io/goose/docs/category/getting-started" rel="nofollow noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/block/goose/blob/main/GOVERNANCE.md" rel="noopener noreferrer"&gt;Governance&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;

&lt;a href="https://github.com/block/goose/blob/main/CUSTOM_DISTROS.md" rel="noopener noreferrer"&gt;Custom Distributions&lt;/a&gt; - build your own goose distro with preconfigured providers…&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/block/goose" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;








&lt;p&gt;&lt;em&gt;Created for Goose Hacktoberfest 2025. &lt;a href="https://github.com/block/goose/issues/4705" rel="noopener noreferrer"&gt;Submit improvements&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;✅ This guide has been verified with Goose v1.12.0 to ensure all commands and configurations work correctly.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What configuration challenges have you faced with Goose? Share below! 👇&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  goose #hacktoberfest #devops #automation #opensource
&lt;/h1&gt;

</description>
      <category>goose</category>
      <category>hacktoberfest</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
