Skip to content

Add Goose to databricks aitools install - #6214

Open
lennartkats-db wants to merge 12 commits into
mainfrom
add-agent-goose
Open

Add Goose to databricks aitools install#6214
lennartkats-db wants to merge 12 commits into
mainfrom
add-agent-goose

Conversation

@lennartkats-db

@lennartkats-db lennartkats-db commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Changes

  • Add Goose as a supported AI tools agent

  • Configure Goose settings and skill discovery/update support

  • Add installation and test coverage

  • Stacked on top of Add Gemini CLI to databricks aitools install #6204: target branch must be set to main before merging

Tests

  • go test ./libs/aitools/agents ./cmd/aitools
  • Verified end to end against a live model: after databricks aitools install, Goose loads the databricks-core skill in a real session.

Add Pi as a skills-only coding agent: install and update now discover Pi
via ~/.pi/agent (honoring PI_CODING_AGENT_DIR) and write Databricks agent
skills into its skills directory, both globally and project-scoped (.pi/skills).

This also lands the shared project-scope plumbing the Goose and Gemini agents
build on: SupportedNames/SkillsOnlyNames derive the help text from the registry,
and update --scope project picks up project-local skill agents via
DetectProjectInstalled.

Co-authored-by: Isaac
Add Gemini CLI as a skills-only coding agent, stacked on the Pi change. Install and update discover Gemini via ~/.gemini (honoring GEMINI_CLI_HOME) and write Databricks agent skills into its skills directory, both globally and project-scoped (.gemini/skills).

Gemini shares its ~/.gemini config directory with Antigravity, so bare-directory detection would report Gemini installed whenever only Antigravity is present. This adds a DetectFile marker (projects.json, which Gemini CLI writes on real use and Antigravity does not) so detection keys on Gemini-specific state.

Co-authored-by: Isaac
Add Goose as a skills-only coding agent, stacked on the Gemini change. Install and update discover Goose via its config directory (honoring GOOSE_PATH_ROOT, XDG_CONFIG_HOME, and the legacy Windows Block path) and write Databricks agent skills into its skills directory, both globally and project-scoped (.goose/skills).

Co-authored-by: Isaac
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 59a1070

Run: 31429135409

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 291 1114 5:51
💚​ aws windows 4 4 293 1112 3:25
💚​ azure linux 4 4 290 1114 5:43
💚​ azure windows 4 4 292 1112 3:45
💚​ gcp linux 1 5 291 1114 6:14
💚​ gcp windows 1 5 293 1112 3:59
8 interesting tests: 4 RECOVERED, 4 SKIP
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R
Top 6 slowest tests (at least 2 minutes):
duration env testname
3:03 azure windows TestAccept
3:03 aws windows TestAccept
2:59 gcp windows TestAccept
2:57 aws linux TestAccept
2:50 gcp linux TestAccept
2:50 azure linux TestAccept

Base automatically changed from add-agent-gemini to main August 11, 2026 14:00
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 9f29ff8

Run: 31499836034

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 290 1131 11:03
💚​ aws windows 4 4 292 1129 7:09
💚​ azure linux 4 4 289 1131 11:10
💚​ azure windows 4 4 291 1129 8:18
💚​ gcp linux 1 5 290 1131 9:29
💚​ gcp windows 1 5 292 1129 7:34
8 interesting tests: 4 RECOVERED, 4 SKIP
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R
Top 11 slowest tests (at least 2 minutes):
duration env testname
6:28 azure windows TestAccept
6:25 aws windows TestAccept
6:21 gcp windows TestAccept
3:08 azure linux TestAccept
3:02 gcp linux TestAccept
3:01 aws linux TestAccept
2:51 azure windows TestImportDirDoesNotOverwrite
2:27 azure linux TestFilerRecursiveDelete/workspace_files_extensions
2:10 aws windows TestFilerWorkspaceFilesExtensionsStat
2:07 azure linux TestFilerRecursiveDelete/workspace_files
2:03 azure linux TestFilerWorkspaceFilesExtensionsReadDir

})
}

func TestGooseConfigDir(t *testing.T) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we make this table-driven? The setup, call, error check, and path assertion are
the same across these cases, and the platform check can be a table field.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants