// config file nito
config.yaml
Nasa ilalim ng extensions sa ~/.config/goose/config.yaml ang mga extension. Ang goose configure → Add Extension ang magsusulat ng kaparehong entry para sa iyo.
Para sa mga user ng Goose
Ginagawa ng Goose ang trabaho nito sa pamamagitan ng mga extension, at bawat extension ay isang MCP server. Ang Maguyva ang extension na nag-i-index ng codebase mo, kaya nagtatanong ang Goose kung nasaan ang mga bagay sa halip na maglista ng mga directory.
May Free tier: 3 repository, Hanggang 50K na naka-index na linya ng repo, walang card.
Gamitin ang .goosehints para sa paraan ng pagtatrabaho. Gamitin ang Maguyva para sa sinasabi ng code ngayon. Apat na fact na partikular sa Goose.
// config file nito
Nasa ilalim ng extensions sa ~/.config/goose/config.yaml ang mga extension. Ang goose configure → Add Extension ang magsusulat ng kaparehong entry para sa iyo.
// paraan ng koneksyon
Isang streamable_http extension ang Maguyva, kaya ang Goose mismo ang kumokonekta sa endpoint: walang lokal na proseso, walang Node.js. Sa uri inilalagay ang URL, hindi sa url.
// ang key
Ipinapadala ng Goose ang headers map sa bawat request, kaya sa Authorization header inilalagay ang key. Kaya rin itong punan ng Goose mula sa environment variable na nakalista sa env_keys.
// tool filter nito
Puwedeng ilantad ng isang extension ang bahagi lang ng mga tool nito: ilista ang gusto mo sa ilalim ng available_tools, o iwanang walang laman para sa lahat.
# .goosehints
- Gamitin ang pnpm, hindi npm.
- Patakbuhin ang integration tests bago mo sabihing tapos na ang isang pagbabago.By default, nilo-load ng Goose ang AGENTS.md at .goosehints: global hints mula sa ~/.config/goose/.goosehints, project hints mula sa repo, at mga nested file habang nagtatrabaho ito sa mga subfolder. Kailangan ng hints ang Developer extension. Ang mga ito ang tamang lugar para sa:
Inilalarawan ng hints ang project. Hindi nito sinasagot ang “ano ang nakadepende rito?”
Tatlong puwang na pinupunan ng Goose gamit ang mga shell command, isang file bawat beses.
Sa hindi pamilyar na repo, nag-o-orient ang Goose gamit ang mga directory listing at pagbabasa ng file. Bawat isa ay gumagastos ng context bago pa magsimula ang task.
Hindi kayang ihiwalay ng text search ang totoong call sa isang comment, isang mock, o isang method na may parehong pangalan.
Ang hints file na isinulat noong nakaraang quarter ay naglalarawan ng layout noong nakaraang quarter. Sinusunod pa rin ito ng Goose.
Ang isang extensions entry ay nagbibigay sa Goose ng:
Sinasabi ng hints sa Goose kung paano magtrabaho.
Binibigyan ng Maguyva ang Goose ng mapa ng code.
Mapa muna, saka hayaang tumakbo ang Goose.
// workflow 01
goose> bakit natatapos ang ilang export nang walang kahit isang row? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Dalawang file ang binabasa ng Goose, hindi ang buong export package. [exit 0]
Pinapakitid ng naka-rank na resulta ang paghahanap bago magbukas ng shell ang Goose.
// workflow 02
goose> hatiin ang Notifier class sa email at SMS dependency_search("Notifier", dependents) 11 reference sa 5 na package → Sakop ng plano ang lahat ng labing-isa bago ang unang edit. [exit 0]
Nakukuha ng Goose ang buong listahan ng dependent sa isang call sa halip na sunud-sunod na grep.
Tatlong hakbang. Free tier: 3 repository, Hanggang 50K na naka-index na linya ng repo, walang card.
// step 01
Pumili ng isang alam mo na, para masuri mo ang mga sagot.
// step 02
~/.config/goose/config.yaml
extensions:
maguyva:
name: maguyva
type: streamable_http
uri: https://maguyva.tools/mcp
enabled: true
headers:
Authorization: Bearer mgv_xxxx
timeout: 300
// step 03
Palitan ang mgv_xxxx ng API key mo, patakbuhin ang goose session, at magtanong ng isang bagay na alam mo na ang sagot. Sensitibo sa indentation ang YAML: gumamit ng space, hindi tab.