The "block/goose" project, developed by the organization "block," is an open-source Rust-based software designed as an extensible AI agent. It allows users to interact with various Language Models (LLMs) for tasks beyond simple code suggestions. The project is in a robust state, showing high community engagement and active development.
rg
tool usage.Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 36 | 50 | 48 | 15 | 1 |
30 Days | 154 | 126 | 498 | 63 | 1 |
90 Days | 162 | 127 | 509 | 70 | 1 |
All Time | 199 | 147 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Angie Jones | ![]() |
2 | 21/20/1 | 33 | 1404 | 49421 |
Ebony Louis | ![]() |
3 | 6/6/0 | 15 | 446 | 21088 |
Wendy Tang | ![]() |
6 | 8/7/2 | 21 | 257 | 20647 |
lily-de | ![]() |
7 | 5/5/0 | 25 | 103 | 10765 |
Max Novich | ![]() |
3 | 3/2/0 | 9 | 240 | 10571 |
Kalvin C | ![]() |
3 | 11/12/1 | 18 | 340 | 8877 |
Rizel Scarlett | ![]() |
2 | 3/3/0 | 8 | 247 | 8353 |
Bradley Axen | ![]() |
3 | 4/3/0 | 5 | 227 | 7604 |
Alex Hancock | ![]() |
3 | 3/3/0 | 5 | 43 | 5180 |
Salman Mohammed | ![]() |
3 | 15/13/2 | 17 | 220 | 4768 |
Yingjie He | ![]() |
4 | 7/8/1 | 12 | 257 | 4754 |
Michael Neale | ![]() |
4 | 14/9/6 | 13 | 205 | 4571 |
marcelle | ![]() |
3 | 4/3/0 | 6 | 194 | 4175 |
Alice Hau | ![]() |
4 | 6/5/0 | 11 | 28 | 1751 |
Adewale Abati | ![]() |
2 | 3/4/0 | 5 | 26 | 1427 |
Alice Hau | ![]() |
2 | 0/0/0 | 11 | 6 | 917 |
None (damienrj) | 1 | 1/0/1 | 5 | 3 | 511 | |
None (ZhenLian) | 1 | 1/0/0 | 2 | 3 | 345 | |
Yuku Kotani | ![]() |
1 | 1/1/0 | 1 | 10 | 293 |
Nahiyan Khan | ![]() |
1 | 2/2/0 | 3 | 7 | 92 |
Finn | ![]() |
1 | 0/0/0 | 1 | 3 | 64 |
Zaki Ali | ![]() |
1 | 2/2/0 | 2 | 4 | 62 |
evalstate | ![]() |
2 | 1/1/0 | 3 | 1 | 60 |
David Soria Parra | ![]() |
1 | 1/1/0 | 1 | 1 | 53 |
Jannik Maierhöfer | ![]() |
1 | 1/1/0 | 1 | 1 | 40 |
Yuta Hinokuma | ![]() |
1 | 1/1/0 | 1 | 1 | 24 |
Vincent H. | ![]() |
1 | 2/1/1 | 1 | 4 | 22 |
Success Kingsley | ![]() |
1 | 2/2/0 | 2 | 3 | 20 |
Nick Johnson | ![]() |
1 | 1/1/0 | 1 | 3 | 17 |
TechnoHouse | ![]() |
1 | 1/1/0 | 1 | 1 | 15 |
nick-w-nick | ![]() |
1 | 3/3/0 | 3 | 4 | 14 |
Will | ![]() |
1 | 1/1/0 | 1 | 1 | 4 |
MiladNazeri | ![]() |
1 | 0/1/0 | 1 | 1 | 4 |
Jeremy Collins | ![]() |
1 | 1/1/0 | 1 | 1 | 3 |
Yurii | ![]() |
1 | 4/1/3 | 1 | 1 | 2 |
Sorawit Suriyakarn | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Andrew Fong | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Alex Rosenzweig | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Ben Levy (blevz) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (thxsh) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (royv18) | 0 | 1/0/1 | 0 | 0 | 0 | |
Burak Varlı (unexge) | 0 | 2/0/2 | 0 | 0 | 0 | |
None (da-moon) | 0 | 1/0/0 | 0 | 0 | 0 | |
S (sebyx07) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (0xflotus) | 0 | 1/0/1 | 0 | 0 | 0 | |
Steve Manuel (nilslice) | 0 | 1/0/0 | 0 | 0 | 0 | |
Ikko Eltociear Ashimine (eltociear) | 0 | 1/0/1 | 0 | 0 | 0 | |
Austin Mackillop (amackillop) | 0 | 1/0/0 | 0 | 0 | 0 | |
Jason Kneen (jasonkneen) | 0 | 25/0/25 | 0 | 0 | 0 | |
Vineet (vineetjohn) | 0 | 1/0/0 | 0 | 0 | 0 | |
Prem Pillai (cloud-on-prem) | 0 | 0/0/1 | 0 | 0 | 0 | |
None (jacksondengky) | 0 | 1/0/1 | 0 | 0 | 0 | |
eternal-ai-org (eternal-ai-org) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (techknowlogick) | 0 | 2/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 3 | The project shows strong engagement and active development, with a positive issue closure rate and numerous feature additions. However, the slight discrepancy between opened and closed issues over longer periods suggests potential backlog challenges. The lack of clear milestones and the high number of open pull requests (48) could also impact delivery timelines if not managed effectively. |
Velocity | 3 | The project exhibits robust velocity with significant contributions from multiple developers. However, the disparity in PR closure rates among developers and the complexity of managing numerous branches could slow down development cycles. Additionally, the presence of draft PRs highlights ongoing experimentation that may delay stable releases. |
Dependency | 4 | The project relies heavily on external services like OpenAI, Anthropic, and Google, posing risks if these services experience downtime or API changes. The incomplete documentation in 'providers_and_keys.json' and recent reversion of VertexAI support further indicate potential instability in dependency management. |
Team | 2 | The team demonstrates strong collaboration with active discussions around issues and contributions from key members. However, the uneven workload distribution among developers, as evidenced by varying PR closure rates, could lead to burnout or communication challenges if not addressed. |
Code Quality | 3 | While there are structured approaches to API integration and error handling, the high volume of changes by certain individuals without adequate review poses risks to code quality. The lack of thorough documentation or tests in some PRs further exacerbates this risk. |
Technical Debt | 3 | The presence of technical debt is evident in issues related to incorrect CLI argument references and compatibility problems. The complexity of managing tool schemas and validating JSON structures also suggests potential risks if not adequately documented or maintained. |
Test Coverage | 3 | Comprehensive test cases are present for some files, but the lack of thorough testing in certain PRs raises concerns about test coverage. The absence of proper tests for new features increases the likelihood of introducing bugs. |
Error Handling | 2 | The project demonstrates robust error handling mechanisms within API integrations, which positively impacts reliability. However, ongoing issues related to error messages and handling unexpected states indicate areas for improvement to ensure consistent error reporting. |
Recent activity in the "block/goose" repository shows a high volume of issue creation, with several issues opened and closed within the last few days. Notably, many issues are related to configuration errors, compatibility with different models, and feature requests for enhanced functionality. There is a significant focus on improving user experience, as seen in issues related to UI enhancements and error handling. Additionally, there are ongoing discussions about extending support to more platforms and models.
Configuration and Compatibility Issues: Several issues (#1159, #1161, #1163) highlight problems with configuring Goose for specific models or environments, such as AWS Bedrock and Databricks. These issues often involve errors related to API requests or environment variables.
Platform Support: There is a recurring theme of users requesting support for additional platforms, particularly Windows (#864, #863). This indicates a demand for broader accessibility across different operating systems.
Error Handling and User Feedback: Issues like #856 and #902 focus on improving error messages and handling scenarios where Goose encounters unexpected states. This suggests an ongoing effort to enhance the robustness of the tool.
Extensibility and Customization: Requests for new features, such as support for additional LLM providers (#1155, #936) and customization options (#884), indicate a strong interest in making Goose more versatile and adaptable to various use cases.
User Interface Enhancements: Several issues (#1010, #1015) address UI improvements, such as better session handling and link management. This reflects a focus on improving the overall user experience.
Security Concerns: Issues like #189 highlight concerns about potentially dangerous commands being executed by Goose, prompting discussions about implementing safer command execution practices.
These issues reflect ongoing efforts to address both technical challenges and user experience improvements within the project. The rapid creation and updating of issues suggest active community engagement and responsiveness from the development team.
PR #1210: Update help docs for resume CLI arg
--session
to --name
. This is a minor but important fix for user clarity.crates/goose-cli/src/main.rs
PR #1201: Easter egg
PR #1199: Add Abilities to read ignore files
.gooseignore
files, enhancing file access control.Cargo.toml
and new code in developer/mod.rs
.PR #1175: Shared config for CLI and desktop app
PR #1169: Tutorial extension
PR #1207: Endpoints for config management via goose-server
Overall, while the project shows strong activity and community involvement, attention should be given to managing open PRs effectively to maintain momentum and ensure quality in new features and fixes.
providers_and_keys.json
name
, description
, models
, required_keys
).config_management.rs
UpsertConfigQuery
, ConfigKeyQuery
) enhances readability.openai.rs
configure.rs
utils.tsx
google-drive-mcp.md
mod.rs
(Developer Module)file_history
).The project appears well-organized with a focus on extensibility and user interaction through both CLI and UI components. However, some files are quite large, which might impact maintainability over time. Consideration for breaking down these files into smaller components could improve readability and ease future modifications. Additionally, enhancing error handling across various components would improve robustness against runtime issues.
Bradley Axen (baxen)
Alex Hancock (alexhancock)
Michael Neale (michaelneale)
Rizel Scarlett (blackgirlbytes)
Angie Jones (angiejones)
Wendy Tang (wendytang)
Yuku Kotani (yukukotani)
TechnoHouse (deephbz)
Will Medrano (wmedrano)
Lily Delalande (lily-de)
Alice Hau (ahau-square)
Yingjie He (yingjiehe-xyz)
Kalvin C (kalvinnchau)
Max Novich (Kvadratni)
Nick W-Nick (nick-w-nick)
Salman Mohammed (salman1993)
Andrew Fong (fongandrew)
Evalstate
Ebony Louis (EbonyLouis)
Marcelle (laanak08)
Yuta Hinokuma (higumachan)
Nahiyan Khan (nahiyankhan)
Success Kingsley (xosnrdev)
Adewale Abati (acekyd)
Zaki Ali (zakiali)
David Soria Parra (dsp-ant)
Sorawit Suriyakarn (sorawit)
Nick Johnson (nyonson)
Yurii Sokyran (sokyran)
Jannik Maierhöfer (jannikmaierhoefer)
Finn Block (finn-block)
Jeremy Collins (beetlebugorg)
Vincent H. (tiensi)
Alex Rosenzweig (shellz-n-stuff)
Milad Nazeri