Skip to content

feat(compose): suggest compose files from the selected GitHub branch - #73

Merged
agentHits merged 1 commit into
AgentHits-Devfrom
feat/compose-path-suggestions
Oct 14, 2026
Merged

agentHits merged 1 commit into
AgentHits-Devfrom
feat/compose-path-suggestions

Conversation

@agentHits

Copy link
Copy Markdown
Owner

What

The Compose Path field of a GitHub compose service is now a combobox: you can still type a path, and a list under the field shows the compose files that exist in the selected branch. Typing filters the list; clicking or Arrow keys + Enter picks a file.

  • New query github.getGithubComposeFiles (owner, repo, branch, githubId). It resolves the branch, reads its tree in one recursive call and returns files whose name contains compose and ends in .yml/.yaml, as ./path, shallowest first.
  • Access to the git provider is checked before the tree is read, same as getGithubBranches; registered as read in procedure access.
  • A missing branch or empty repository (404) returns an empty list; other GitHub errors pass through.
  • Enter keeps submitting the form until a file is highlighted, so it does not silently replace the current path.
  • Form label, description and error ids are passed to the input.

Only GitHub gets the list for now; GitLab, Gitea and Bitbucket keep the plain input.

Tests

  • __test__/git-provider/github-compose-files.test.ts: filtering and order, branch-name lookup with slashes, 404 → empty list, other errors pass through, compose name matcher.
  • provider-router-security.test.ts: the query is rejected before the tree is read when provider access is denied.
  • Locally: typecheck of apps/dokploy and packages/server, biome, git-provider/permissions/api/security/compose test folders (695 tests) pass.
  • Not checked in a browser yet: needs a panel with a real GitHub App.

🤖 Generated with Claude Code

The Compose Path field of a GitHub compose service was a plain text
input, so the path had to be typed from memory. It is now a combobox:
the path can still be typed, and a list under the field shows the
compose files that exist in the selected branch, filtered by what has
been typed. Arrow keys and Enter pick a file; Enter submits the form as
before until a file is highlighted.

A new github.getGithubComposeFiles query reads the branch tree in one
recursive call and returns files whose name contains "compose" and ends
in .yml/.yaml, as "./path" (the form the field already uses), shallowest
first. It checks access to the git provider before reading the tree,
like getGithubBranches. A missing branch or empty repository returns an
empty list instead of an error.

Only the GitHub provider gets the list for now; GitLab, Gitea and
Bitbucket keep the plain input.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@agentHits
agentHits merged commit 9cda090 into AgentHits-Dev Oct 14, 2026
8 of 10 checks passed
@agentHits
agentHits deleted the feat/compose-path-suggestions branch October 14, 2026 15:50
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.

1 participant