Code Ownership

Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.

Files Tracked
2,523
in the current tree
Bus Factor
6
6 authors are primary owner of 1,307 of 2,523 files
Single-Owner Files
1,114
44.2% of tracked files
Contributors
561
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
services/ask-ai-bot/bun.lockBestCodes7
services/ask-ai-bot/package.jsonBestCodes7
services/ask-ai-bot/utils/ai/index.tsBestCodes7
ui/desktop/src/acp/__tests__/elicitationRequests.test.tsLifei Zhou5
ui/desktop/src/acp/elicitationRequests.tsLifei Zhou5
services/ask-ai-bot/.env.exampleBestCodes5
services/ask-ai-bot/events/messageCreate.tsBestCodes5
ui/desktop/src/acp/adapter/toolNotifications.tsLifei Zhou4
.github/workflows/build-notify.ymlLifei Zhou4
.github/workflows/gdk-release.ymlJack Amadeo4
Table: the 100 most-changed of 1,114 single-owner files
FileSole ownerCommits
services/ask-ai-bot/bun.lockBestCodes7
services/ask-ai-bot/package.jsonBestCodes7
services/ask-ai-bot/utils/ai/index.tsBestCodes7
ui/desktop/src/acp/__tests__/elicitationRequests.test.tsLifei Zhou5
ui/desktop/src/acp/elicitationRequests.tsLifei Zhou5
services/ask-ai-bot/.env.exampleBestCodes5
services/ask-ai-bot/events/messageCreate.tsBestCodes5
ui/desktop/src/acp/adapter/toolNotifications.tsLifei Zhou4
.github/workflows/build-notify.ymlLifei Zhou4
.github/workflows/gdk-release.ymlJack Amadeo4
crates/goose-local-inference/src/llamacpp/inference_emulated_tools.rsJasper4
crates/goose/src/acp/server/local_inference.rsJasper4
services/ask-ai-bot/utils/discord/server-context.tsBestCodes4
crates/goose/src/security/classification_client.rsdorien-koelemeijer4
crates/goose-test-support/src/lib.rsAdrian Cole4
crates/goose-agent/src/subagent.rsLifei Zhou3
crates/goose-agent/tests/subagent.rsLifei Zhou3
ui/desktop/src/components/schedule/__tests__/CronPicker.test.tsxLifei Zhou3
crates/goose/src/acp/server/tool_calls/chain.rsLifei Zhou3
crates/goose/src/acp/server/tool_calls/enrichment.rsLifei Zhou3
bin/.protoc-31.1.pkgLifei Zhou3
bin/README.hermit.mdLifei Zhou3
bin/activate-hermitLifei Zhou3
bin/activate-hermit.fishLifei Zhou3
bin/hermitLifei Zhou3
bin/hermit.hclLifei Zhou3
bin/protocLifei Zhou3
crates/goose-sdk/examples/uniffi/kotlin/src/main/kotlin/Main.ktJack Amadeo3
crates/goose-providers/examples/streaming.rsJack Amadeo3
crates/goose-local-inference/src/tool_emulation.rsJasper3
crates/goose-local-inference/src/backend.rsJasper3
crates/goose-local-inference/src/llamacpp/inference_engine.rsJasper3
crates/goose/src/skills/supporting_files.rsJasper3
crates/goose/src/providers/private_file.rsJasper3
crates/goose-sdk/src/observability.rsAlex Hancock3
services/ask-ai-bot/DockerfileBestCodes3
services/ask-ai-bot/clients/ai.tsBestCodes3
ui/desktop/src/components/McpApps/useDisplayMode.tsAndrew Harvard3
crates/goose/src/security/egress_inspector.rsdorien-koelemeijer3
ui/desktop/src/assets/clock-icon.svgMax Novich3
ui/desktop/tsconfig.node.jsonZane3
ui/desktop/src/components/alerts/useAlerts.tsZane3
documentation/src/pages/recipes/data/recipes/lint-my-code.yamlw. ian douglas3
crates/goose-agent/tests/cancellation.rsLifei Zhou2
ui/goose-acp-client/package.jsonLifei Zhou2
ui/desktop/src/acp/__tests__/autocomplete.test.tsLifei Zhou2
ui/desktop/src/acp/__tests__/recipe.test.tsLifei Zhou2
ui/desktop/src/acp/autocomplete.tsLifei Zhou2
ui/desktop/src/acp/schedules.tsLifei Zhou2
ui/desktop/src/acp/sources.tsLifei Zhou2
documentation/scripts/generate-acp-docs.jsLifei Zhou2
documentation/scripts/generate-released-acp-docs.shLifei Zhou2
.github/workflows/build-cli-linux.ymlLifei Zhou2
ui/desktop/src/acp/__tests__/errors.test.tsLifei Zhou2
ui/desktop/src/types/diagnostics.tsLifei Zhou2
workflow_recipes/release_risk_check/recipe.yamlLifei Zhou2
ui/desktop/src/acp/adapter/elicitations.tsLifei Zhou2
ui/desktop/src/components/ElicitationRequest.test.tsxLifei Zhou2
ui/desktop/src/utils/nextChatExtensions.tsLifei Zhou2
crates/goose/src/slash_commands/types.rsLifei Zhou2
crates/goose/src/acp/server/agent_requests.rsLifei Zhou2
crates/goose-sdk/python/setup.pyJack Amadeo2
crates/goose/src/acp/tools.rsJack Amadeo2
crates/goose-sdk/maven/src/support/kotlin/io/github/aaif_goose/ProviderFlow.ktJack Amadeo2
crates/goose-sdk/scripts/maven-resource-prefix.shJack Amadeo2
crates/goose-sdk/scripts/prepare-maven-package.shJack Amadeo2
crates/goose-providers/examples/declarative.rsJack Amadeo2
crates/goose-cli/src/commands/plugin.rsJack Amadeo2
oidc-proxy/wrangler.tomlJack Amadeo2
.github/actions/generate-release-pr-body/action.yamlJack Amadeo2
crates/goose-local-inference/src/config_resolver.rsJasper2
ui/desktop/src/components/ToolCallConfirmation.test.tsxJasper2
crates/goose-local-inference/src/native_tool_parsing.rsJasper2
crates/goose-local-inference/src/paths.rsJasper2
crates/goose-local-inference/src/llamacpp/inference_native_tools.rsJasper2
crates/goose-provider-types/src/canonical/README.mdJasper2
crates/goose/src/agents/provider_manager.rsDouwe Osinga2
ui/desktop/src/platform/windows/npx.test.tsSeydi Charyyev2
documentation/automation/gdk-api/generate.pyAlex Hancock2
documentation/src/components/GdkApiReference/styles.module.cssAlex Hancock2
crates/goose-provider-types/src/cache_semantics.rsfilip2
documentation/docs/guides/context-engineering/custom-agents.mdAngie Jones2
documentation/src/pages/recipes/data/recipes/rpi-plan.yamlAngie Jones2
.github/workflows/publish-ask-ai-bot.ymlBestCodes2
services/ask-ai-bot/.gitignoreBestCodes2
services/ask-ai-bot/index.tsBestCodes2
services/ask-ai-bot/utils/ai/tools/codebase-search.tsBestCodes2
services/ask-ai-bot/utils/ai/tools/github.tsBestCodes2
services/ask-ai-bot/utils/logger.tsBestCodes2
services/ask-ai-bot/commands/ping.tsBestCodes2
services/ask-ai-bot/.dockerignoreBestCodes2
ui/desktop/src/images/icon.icoBradley Axen2
ui/desktop/src/images/iconTemplate.pngBradley Axen2
ui/desktop/src/images/iconTemplate@2x.pngBradley Axen2
documentation/docs/mcp/ophis-mcp.mdSan Clemente2
documentation/src/css/tailwind.cssAdewale Abati2
crates/goose/tests/tool_inspection_manager_tests.rsAdrian Cole2
documentation/docs/tutorials/remotion-video-creation.mdRizel Scarlett2
ui/desktop/src/utils/recipeHash.tsZane2
ui/desktop/scripts/unregister-deeplink-protocols.jsZane2

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
Lifei Zhou364113731
Jack Amadeo326109801
Douwe Osinga20656760
Zane14519275
Angie Jones13490379
dianed-square13215178
Jasper12459583
Rizel Scarlett11763249
Alex Hancock10257473
Michael Neale9149325
Bradley Axen7066270
Adewale Abati5650104
Ebony Louis4338103
Spence372978
BestCodes322859
w. ian douglas301294
filip264185
taniashiba241731
tlongwell-block19475
Salman Mohammed181483
Max Novich17476
taniandjerry17448
Andrew Harvard168193
Abhijay Jain1514206
Rodolfo Olivieri14750

Showing top 25 of 561 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
Cargo.lock71Jack Amadeo13.7%
crates/goose-cli/src/session/mod.rs66Douwe Osinga13.8%
documentation/docs/getting-started/providers.md66dianed-square17.2%
crates/goose/src/agents/agent.rs64Douwe Osinga14.2%
ui/desktop/src/main.ts61Zane18.6%
crates/goose-cli/src/cli.rs60Douwe Osinga14.0%
crates/goose-cli/src/commands/configure.rs53Douwe Osinga12.1%
crates/goose/Cargo.toml45Jack Amadeo12.6%
crates/goose-cli/src/session/builder.rs42Douwe Osinga16.5%
ui/desktop/src/App.tsx40Zane21.4%
crates/goose/src/config/base.rs40Jack Amadeo13.4%
crates/goose/tests/agent.rs39Douwe Osinga20.7%
crates/goose-cli/src/session/output.rs39Jack Amadeo13.2%
crates/goose/src/agents/reply_parts.rs36Douwe Osinga16.4%
documentation/static/servers.json36dianed-square17.5%
ui/desktop/package.json34Zane21.9%
crates/goose/src/providers/bedrock.rs34Jack Amadeo18.5%
documentation/docs/guides/environment-variables.md33dianed-square32.4%
crates/goose/src/providers/mod.rs33Jack Amadeo16.5%
crates/goose-cli/Cargo.toml32Rodolfo Olivieri10.8%