Goose - Autonomiczny Agent AI do Programowania
Czym jest Goose?
Goose to open-source'owy autonomiczny agent AI stworzony przez Block (dawniej Square). W przeciwieΕstwie do prostych asystentΓ³w kodu oferujΔ cych sugestie, Goose moΕΌe wykonywaΔ caΕe projekty od poczΔ tku do koΕca - planuje, pisze kod, debuguje, testuje i zarzΔ dza workflow bez ciΔ gΕego nadzoru czΕowieka.
WyobraΕΊ sobie, ΕΌe mΓ³wisz:
"StwΓ³rz API REST w Node.js z autoryzacjΔ JWT, bazΔ PostgreSQL i peΕnymi testami"
Goose:
- Analizuje wymagania
- Projektuje architekturΔ
- Tworzy strukturΔ projektu
- Implementuje endpointy
- Konfiguruje bazΔ danych
- Pisze testy
- Debuguje problemy
- Wszystko autonomicznie
To wΕaΕnie oferuje Goose - prawdziwie autonomiczny development.
Kluczowe cechy
- Autonomia - Sam decyduje o kolejnych krokach
- Multi-LLM - ObsΕuguje rΓ³ΕΌne modele (Claude, GPT, lokalne)
- MCP Integration - Integracja z MCP servers
- Desktop + CLI - Aplikacja desktopowa i terminal
- Open-source - Licencja Apache 2.0
- Rust core - Wydajny i bezpieczny
GitHub
Repository: github.com/block/goose
Dokumentacja: block.github.io/goose
Status: 29k+ GitHub stars | 360+ contributors | Apache 2.0
Dlaczego Goose?
Problem z typowymi asystentami AI
WiΔkszoΕΔ narzΔdzi AI do kodowania:
- Reaktywne - CzekajΔ na polecenia, nie podejmujΔ inicjatywy
- Fragmentaryczne - PomagajΔ z fragmentami kodu, nie caΕymi projektami
- WymagajΔ nadzoru - KaΕΌdy krok wymaga zatwierdzenia
- Brak kontekstu - Nie pamiΔtajΔ poprzednich decyzji
- Izolowane - Nie integrujΔ siΔ z narzΔdziami deweloperskimi
RozwiΔ zanie Goose
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β GOOSE WORKFLOW β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β ANALYZE β -> β PLAN β -> β CODE β -> β TEST β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β β β
β β βββββββββββ β β
β ββββββββββββββββ DEBUG β<ββββββββββββββββββββ β
β βββββββββββ β
β β β
β βββββββββββ β
β β DEPLOY β β
β βββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββKluczowe zalety
- PeΕna autonomia - Goose sam planuje i wykonuje
- Multi-LLM - Optymalizuj koszty i wydajnoΕΔ miΔdzy modelami
- MCP servers - Rozszerzaj moΕΌliwoΕci przez integracje
- Open-source - PeΕna kontrola nad kodem
- Desktop + CLI - Wybierz preferowany interfejs
- Rust core - Szybki i bezpieczny
Instalacja
Desktop App (macOS/Windows/Linux)
# macOS (Homebrew)
brew install --cask goose
# Lub pobierz z releases
# https://github.com/block/goose/releasesCLI
# macOS/Linux
curl -fsSL https://github.com/block/goose/releases/latest/download/install.sh | sh
# Weryfikacja
goose --versionKonfiguracja modelu
# Ustaw klucz API
export ANTHROPIC_API_KEY=your_key
# lub
export OPENAI_API_KEY=your_key
# Lub konfiguracja przez CLI
goose config set model claude-sonnet-4-5-20250514Plik konfiguracyjny
# ~/.goose/config.yaml
model:
primary: claude-sonnet-4-5-20250514
fallback: gpt-4o
local: ollama/codellama
settings:
auto_approve: false
max_iterations: 50
timeout: 300
mcp_servers:
- github
- filesystem
- browserPodstawowe uΕΌycie
Uruchomienie interaktywne
# Start Goose w bieΕΌΔ
cym katalogu
goose
# Goose przeanalizuje projekt i zapyta o zadanie
πͺΏ Goose: I've analyzed your project. It's a Next.js app with TypeScript.
What would you like me to do?
> Add a dark mode toggle to the navbarJednorazowe zadanie
# Wykonaj zadanie bez trybu interaktywnego
goose run "Create a REST API with Express and MongoDB"
# Z plikiem instrukcji
goose run --file tasks.mdPrzykΕadowe zadania
# Stworzenie projektu od zera
goose run "Create a React + Vite + TypeScript todo app with Zustand state management"
# Refaktoring
goose run "Refactor the auth module to use JWT instead of sessions"
# Debugging
goose run "The tests in src/api are failing. Find and fix the issues"
# Migracja
goose run "Migrate this project from JavaScript to TypeScript"
# Code review
goose run "Review the PR changes and suggest improvements"Autonomiczny workflow
Faza 1: Analiza
πͺΏ Goose: Analyzing your request...
Task: Create a REST API with Express and MongoDB
Requirements identified:
- Express.js server setup
- MongoDB connection and models
- CRUD endpoints
- Error handling
- Environment configuration
- Basic authenticationFaza 2: Planowanie
πͺΏ Goose: Here's my implementation plan:
1. Initialize Node.js project with TypeScript
2. Set up Express server with middleware
3. Configure MongoDB with Mongoose
4. Create User model with validation
5. Implement auth endpoints (register, login)
6. Add CRUD endpoints for resources
7. Write tests with Jest
8. Add Docker configuration
Proceed? [Y/n]Faza 3: Implementacja
πͺΏ Goose: Starting implementation...
[1/8] Initializing project...
β Created package.json
β Installed dependencies
β Set up TypeScript config
[2/8] Setting up Express...
β Created src/index.ts
β Added middleware (cors, helmet, morgan)
β Configured error handling
[3/8] Configuring MongoDB...
β Created database connection
β Added connection retry logic
β Created .env.example
... continuing autonomously ...Faza 4: Testowanie
πͺΏ Goose: Running tests...
PASS src/__tests__/auth.test.ts
β should register a new user (45 ms)
β should login with valid credentials (23 ms)
β should reject invalid credentials (12 ms)
PASS src/__tests__/users.test.ts
β should create a user (34 ms)
β should get all users (21 ms)
...
Test Suites: 4 passed, 4 total
Tests: 18 passed, 18 totalFaza 5: Debugging (jeΕli potrzebne)
πͺΏ Goose: Found an issue in user validation...
Error: ValidationError: User validation failed
Location: src/models/User.ts:23
Fixing...
β Updated email regex pattern
β Added proper error messages
β Retesting...
All tests passing now.Multi-LLM Configuration
Goose pozwala optymalizowaΔ uΕΌycie rΓ³ΕΌnych modeli:
# ~/.goose/config.yaml
models:
# GΕΓ³wny model dla zΕoΕΌonych zadaΕ
complex:
provider: anthropic
model: claude-opus-4-5-20250514
max_tokens: 8192
# Szybki model dla prostych operacji
simple:
provider: anthropic
model: claude-haiku-3-5-20241022
max_tokens: 4096
# Lokalny model dla wraΕΌliwych danych
local:
provider: ollama
model: codellama:34b
endpoint: http://localhost:11434
routing:
# UΕΌyj rΓ³ΕΌnych modeli dla rΓ³ΕΌnych zadaΕ
planning: complex
code_generation: complex
refactoring: complex
documentation: simple
formatting: local
sensitive_data: localMCP Integration
Goose integruje siΔ z MCP (Model Context Protocol) servers:
Wbudowane serwery
# ~/.goose/mcp.yaml
servers:
filesystem:
enabled: true
allowed_paths:
- ~/Projects
- /tmp
browser:
enabled: true
headless: true
github:
enabled: true
token: ${GITHUB_TOKEN}
shell:
enabled: true
allowed_commands:
- npm
- pnpm
- git
- dockerCustom MCP Server
# Dodaj custom MCP server
goose mcp add my-server --endpoint http://localhost:3000
# Lista aktywnych serwerΓ³w
goose mcp listPrzypadki uΕΌycia
Prototypowanie
goose run "Create a full-stack prototype for a booking system with:
- Next.js frontend
- Supabase backend
- Calendar component
- Payment integration mockup"
# Goose w ~30 minut stworzy dziaΕajΔ
cy prototypLegacy code migration
goose run "Migrate this Express.js API to NestJS:
- Keep the same endpoints
- Use TypeORM instead of Mongoose
- Add Swagger documentation"Bug fixing
goose run "Users report that file upload fails for images > 5MB.
Find the issue and fix it, then add appropriate tests."Code review assistant
goose run "Review PR #42 and:
- Check for security issues
- Identify performance problems
- Suggest improvements
- Create a summary"Documentation generation
goose run "Generate comprehensive documentation for this project:
- API documentation with examples
- Architecture overview
- Setup guide
- Contributing guidelines"Goose vs alternatywy
| Funkcja | Goose | Claude Code | Devin | Cursor |
|---|---|---|---|---|
| Autonomia | PeΕna | CzΔΕciowa | PeΕna | Minimalna |
| Open-source | β Apache 2.0 | CzΔΕciowo | β | β |
| Desktop app | β | β | β | β |
| CLI | β | β | β | β |
| Multi-LLM | β | β (tylko Claude) | β | β |
| MCP support | β | β | β | β |
| Koszt | API costs | API costs | $500/mo | $20/mo |
| Lokalne modele | β | β | β | β |
BezpieczeΕstwo
Approval mode
# Wymagaj zatwierdzenia dla wraΕΌliwych operacji
security:
require_approval:
- file_delete
- git_push
- npm_publish
- docker_build
- database_migrationSandboxing
# Uruchom Goose w sandboxie
sandbox:
enabled: true
network: restricted
filesystem:
readonly:
- /etc
- /usr
writable:
- ~/Projects/currentAudit log
# Zobacz historiΔ akcji
goose audit --last 24h
# Eksport do analizy
goose audit export --format json > audit.jsonRozwiΔ zywanie problemΓ³w
Goose utknΔ Ε w pΔtli
# Ogranicz iteracje
goose run --max-iterations 10 "Task..."
# Lub w konfiguracji
settings:
max_iterations: 20
iteration_timeout: 60Za duΕΌe koszty API
# UΕΌyj taΕszych modeli dla prostych zadaΕ
goose config set routing.simple haiku
# WΕΔ
cz cache
goose config set cache.enabled trueProblemy z MCP
# Zdiagnozuj MCP
goose mcp diagnose
# Restart serwerΓ³w
goose mcp restartFAQ - NajczΔΕciej zadawane pytania
Czy Goose jest darmowy?
Tak, Goose jest open-source (Apache 2.0). PΕacisz tylko za API wybranego modelu AI.
Jakie modele sΔ wspierane?
- Anthropic Claude (wszystkie wersje)
- OpenAI GPT-4, GPT-4o
- Lokalne modele przez Ollama
- Google Gemini (w development)
Czy mogΔ uΕΌywaΔ Goose bez internetu?
Tak, z lokalnymi modelami przez Ollama. Jednak moΕΌliwoΕci bΔdΔ ograniczone w porΓ³wnaniu do Claude/GPT.
Jak bezpieczny jest Goose?
Goose oferuje:
- Approval mode dla wraΕΌliwych operacji
- Sandboxing
- Ograniczenia dostΔpu do plikΓ³w
- Audit logs
Czy Goose zastΔ pi developerΓ³w?
Nie. Goose to narzΔdzie zwiΔkszajΔ ce produktywnoΕΔ. Nadal potrzebujesz wiedzy, ΕΌeby:
- DefiniowaΔ wymagania
- WeryfikowaΔ rozwiΔ zania
- PodejmowaΔ decyzje architektoniczne
- ObsΕugiwaΔ edge cases
Podsumowanie
Goose reprezentuje przyszΕoΕΔ autonomicznego programowania:
- PeΕna autonomia - Planuje i wykonuje caΕe projekty
- Multi-LLM - Optymalizuj koszty i wydajnoΕΔ
- MCP Integration - Rozszerzaj moΕΌliwoΕci
- Open-source - Apache 2.0, peΕna kontrola
- Desktop + CLI - Wybierz swΓ³j interfejs
- Rust core - Wydajny i bezpieczny
Goose zmienia paradygmat z "AI-assisted coding" na "AI-autonomous coding" - gdzie deweloper staje siΔ architektem i nadzorcΔ , a nie wykonawcΔ kaΕΌdej linii kodu.
Goose - Autonomous AI Coding Agent
What is Goose?
Goose is an open-source autonomous AI agent created by Block (formerly Square). Unlike simple code assistants that offer suggestions, Goose can execute entire projects from start to finish - it plans, writes code, debugs, tests, and manages workflows without constant human supervision.
Imagine saying:
"Create a REST API in Node.js with JWT authorization, PostgreSQL database, and full tests"
Goose:
- Analyzes requirements
- Designs architecture
- Creates project structure
- Implements endpoints
- Configures database
- Writes tests
- Debugs issues
- All autonomously
That's exactly what Goose offers - truly autonomous development.
Key features
- Autonomy - Decides on next steps independently
- Multi-LLM - Supports various models (Claude, GPT, local)
- MCP Integration - Integration with MCP servers
- Desktop + CLI - Desktop application and terminal
- Open-source - Apache 2.0 license
- Rust core - Efficient and secure
GitHub
Repository: github.com/block/goose
Documentation: block.github.io/goose
Status: 29k+ GitHub stars | 360+ contributors | Apache 2.0
Why Goose?
The problem with typical AI assistants
Most AI coding tools are:
- Reactive - Wait for commands, don't take initiative
- Fragmentary - Help with code snippets, not entire projects
- Require supervision - Every step needs approval
- Lack context - Don't remember previous decisions
- Isolated - Don't integrate with developer tools
The Goose solution
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β GOOSE WORKFLOW β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β ANALYZE β -> β PLAN β -> β CODE β -> β TEST β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β β β
β β βββββββββββ β β
β ββββββββββββββββ DEBUG β<ββββββββββββββββββββ β
β βββββββββββ β
β β β
β βββββββββββ β
β β DEPLOY β β
β βββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββKey advantages
- Full autonomy - Goose plans and executes on its own
- Multi-LLM - Optimize costs and performance between models
- MCP servers - Extend capabilities through integrations
- Open-source - Full control over the code
- Desktop + CLI - Choose your preferred interface
- Rust core - Fast and secure
Installation
Desktop App (macOS/Windows/Linux)
# macOS (Homebrew)
brew install --cask goose
# Or download from releases
# https://github.com/block/goose/releasesCLI
# macOS/Linux
curl -fsSL https://github.com/block/goose/releases/latest/download/install.sh | sh
# Verification
goose --versionModel configuration
# Set API key
export ANTHROPIC_API_KEY=your_key
# or
export OPENAI_API_KEY=your_key
# Or configure via CLI
goose config set model claude-sonnet-4-5-20250514Configuration file
# ~/.goose/config.yaml
model:
primary: claude-sonnet-4-5-20250514
fallback: gpt-4o
local: ollama/codellama
settings:
auto_approve: false
max_iterations: 50
timeout: 300
mcp_servers:
- github
- filesystem
- browserBasic usage
Interactive mode
# Start Goose in current directory
goose
# Goose will analyze the project and ask about the task
πͺΏ Goose: I've analyzed your project. It's a Next.js app with TypeScript.
What would you like me to do?
> Add a dark mode toggle to the navbarOne-time task
# Execute task without interactive mode
goose run "Create a REST API with Express and MongoDB"
# With instruction file
goose run --file tasks.mdExample tasks
# Create project from scratch
goose run "Create a React + Vite + TypeScript todo app with Zustand state management"
# Refactoring
goose run "Refactor the auth module to use JWT instead of sessions"
# Debugging
goose run "The tests in src/api are failing. Find and fix the issues"
# Migration
goose run "Migrate this project from JavaScript to TypeScript"
# Code review
goose run "Review the PR changes and suggest improvements"Autonomous workflow
Phase 1: Analysis
πͺΏ Goose: Analyzing your request...
Task: Create a REST API with Express and MongoDB
Requirements identified:
- Express.js server setup
- MongoDB connection and models
- CRUD endpoints
- Error handling
- Environment configuration
- Basic authenticationPhase 2: Planning
πͺΏ Goose: Here's my implementation plan:
1. Initialize Node.js project with TypeScript
2. Set up Express server with middleware
3. Configure MongoDB with Mongoose
4. Create User model with validation
5. Implement auth endpoints (register, login)
6. Add CRUD endpoints for resources
7. Write tests with Jest
8. Add Docker configuration
Proceed? [Y/n]Phase 3: Implementation
πͺΏ Goose: Starting implementation...
[1/8] Initializing project...
β Created package.json
β Installed dependencies
β Set up TypeScript config
[2/8] Setting up Express...
β Created src/index.ts
β Added middleware (cors, helmet, morgan)
β Configured error handling
[3/8] Configuring MongoDB...
β Created database connection
β Added connection retry logic
β Created .env.example
... continuing autonomously ...Phase 4: Testing
πͺΏ Goose: Running tests...
PASS src/__tests__/auth.test.ts
β should register a new user (45 ms)
β should login with valid credentials (23 ms)
β should reject invalid credentials (12 ms)
PASS src/__tests__/users.test.ts
β should create a user (34 ms)
β should get all users (21 ms)
...
Test Suites: 4 passed, 4 total
Tests: 18 passed, 18 totalPhase 5: Debugging (if needed)
πͺΏ Goose: Found an issue in user validation...
Error: ValidationError: User validation failed
Location: src/models/User.ts:23
Fixing...
β Updated email regex pattern
β Added proper error messages
β Retesting...
All tests passing now.Multi-LLM configuration
Goose allows you to optimize usage of different models:
# ~/.goose/config.yaml
models:
# Primary model for complex tasks
complex:
provider: anthropic
model: claude-opus-4-5-20250514
max_tokens: 8192
# Fast model for simple operations
simple:
provider: anthropic
model: claude-haiku-3-5-20241022
max_tokens: 4096
# Local model for sensitive data
local:
provider: ollama
model: codellama:34b
endpoint: http://localhost:11434
routing:
# Use different models for different tasks
planning: complex
code_generation: complex
refactoring: complex
documentation: simple
formatting: local
sensitive_data: localMCP Integration
Goose integrates with MCP (Model Context Protocol) servers:
Built-in servers
# ~/.goose/mcp.yaml
servers:
filesystem:
enabled: true
allowed_paths:
- ~/Projects
- /tmp
browser:
enabled: true
headless: true
github:
enabled: true
token: ${GITHUB_TOKEN}
shell:
enabled: true
allowed_commands:
- npm
- pnpm
- git
- dockerCustom MCP Server
# Add custom MCP server
goose mcp add my-server --endpoint http://localhost:3000
# List active servers
goose mcp listUse cases
Prototyping
goose run "Create a full-stack prototype for a booking system with:
- Next.js frontend
- Supabase backend
- Calendar component
- Payment integration mockup"
# Goose will create a working prototype in ~30 minutesLegacy code migration
goose run "Migrate this Express.js API to NestJS:
- Keep the same endpoints
- Use TypeORM instead of Mongoose
- Add Swagger documentation"Bug fixing
goose run "Users report that file upload fails for images > 5MB.
Find the issue and fix it, then add appropriate tests."Code review assistant
goose run "Review PR #42 and:
- Check for security issues
- Identify performance problems
- Suggest improvements
- Create a summary"Documentation generation
goose run "Generate comprehensive documentation for this project:
- API documentation with examples
- Architecture overview
- Setup guide
- Contributing guidelines"Goose vs alternatives
| Feature | Goose | Claude Code | Devin | Cursor |
|---|---|---|---|---|
| Autonomy | Full | Partial | Full | Minimal |
| Open-source | β Apache 2.0 | Partial | β | β |
| Desktop app | β | β | β | β |
| CLI | β | β | β | β |
| Multi-LLM | β | β (Claude only) | β | β |
| MCP support | β | β | β | β |
| Cost | API costs | API costs | $500/mo | $20/mo |
| Local models | β | β | β | β |
Security
Approval mode
# Require approval for sensitive operations
security:
require_approval:
- file_delete
- git_push
- npm_publish
- docker_build
- database_migrationSandboxing
# Run Goose in a sandbox
sandbox:
enabled: true
network: restricted
filesystem:
readonly:
- /etc
- /usr
writable:
- ~/Projects/currentAudit log
# View action history
goose audit --last 24h
# Export for analysis
goose audit export --format json > audit.jsonTroubleshooting
Goose stuck in a loop
# Limit iterations
goose run --max-iterations 10 "Task..."
# Or in configuration
settings:
max_iterations: 20
iteration_timeout: 60API costs too high
# Use cheaper models for simple tasks
goose config set routing.simple haiku
# Enable cache
goose config set cache.enabled trueMCP problems
# Diagnose MCP
goose mcp diagnose
# Restart servers
goose mcp restartFAQ - Frequently asked questions
Is Goose free?
Yes, Goose is open-source (Apache 2.0). You only pay for the API of your chosen AI model.
What models are supported?
- Anthropic Claude (all versions)
- OpenAI GPT-4, GPT-4o
- Local models via Ollama
- Google Gemini (in development)
Can I use Goose offline?
Yes, with local models via Ollama. However, capabilities will be limited compared to Claude/GPT.
How secure is Goose?
Goose offers:
- Approval mode for sensitive operations
- Sandboxing
- File access restrictions
- Audit logs
Will Goose replace developers?
No. Goose is a productivity tool. You still need knowledge to:
- Define requirements
- Verify solutions
- Make architectural decisions
- Handle edge cases
Summary
Goose represents the future of autonomous programming:
- Full autonomy - Plans and executes entire projects
- Multi-LLM - Optimize costs and performance
- MCP Integration - Extend capabilities
- Open-source - Apache 2.0, full control
- Desktop + CLI - Choose your interface
- Rust core - Efficient and secure
Goose changes the paradigm from "AI-assisted coding" to "AI-autonomous coding" - where developers become architects and supervisors, not executors of every line of code.