-
Notifications
You must be signed in to change notification settings - Fork 43
v1.60.0 #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.60.0 #131
Conversation
update: just sort and dedup once
…ngfisher scan github …) that translate into the legacy flags under the hood. The new layout keeps backwards compatibility while removing the wall of provider options from kingfisher scan --help. - Updated the README so every provider example (GitHub, GitLab, Bitbucket, Azure Repos, Gitea, Hugging Face, Slack, Jira, Confluence, S3, GCS, Docker) uses the new subcommand style. - Restored the direct kingfisher scan /path/to/dir flow for local filesystem scans while adding a --list-only switch to each provider subcommand so repository enumeration no longer requires the standalone github repos, gitlab repos, etc. commands. - Removed the legacy top-level provider commands (kingfisher github, kingfisher gitlab, kingfisher gitea, kingfisher bitbucket, kingfisher azure, kingfisher huggingface) now that enumeration lives under kingfisher scan <provider> --list-only. - Fixed kingfisher scan github … (and other provider-specific subcommands) so they no longer demand placeholder path arguments before the CLI accepts the request. - Removed the --bitbucket-username, --bitbucket-token, and --bitbucket-oauth-token flags in favour of KF_BITBUCKET_* environment variables when authenticating to Bitbucket.
…ngfisher scan github …) that translate into the legacy flags under the hood. The new layout keeps backwards compatibility while removing the wall of provider options from kingfisher scan --help. - Updated the README so every provider example (GitHub, GitLab, Bitbucket, Azure Repos, Gitea, Hugging Face, Slack, Jira, Confluence, S3, GCS, Docker) uses the new subcommand style. - Restored the direct kingfisher scan /path/to/dir flow for local filesystem scans while adding a --list-only switch to each provider subcommand so repository enumeration no longer requires the standalone github repos, gitlab repos, etc. commands. - Removed the legacy top-level provider commands (kingfisher github, kingfisher gitlab, kingfisher gitea, kingfisher bitbucket, kingfisher azure, kingfisher huggingface) now that enumeration lives under kingfisher scan <provider> --list-only. - Fixed kingfisher scan github … (and other provider-specific subcommands) so they no longer demand placeholder path arguments before the CLI accepts the request. - Removed the --bitbucket-username, --bitbucket-token, and --bitbucket-oauth-token flags in favour of KF_BITBUCKET_* environment variables when authenticating to Bitbucket.
…ngfisher scan github …) that translate into the legacy flags under the hood. The new layout keeps backwards compatibility while removing the wall of provider options from kingfisher scan --help. - Updated the README so every provider example (GitHub, GitLab, Bitbucket, Azure Repos, Gitea, Hugging Face, Slack, Jira, Confluence, S3, GCS, Docker) uses the new subcommand style. - Restored the direct kingfisher scan /path/to/dir flow for local filesystem scans while adding a --list-only switch to each provider subcommand so repository enumeration no longer requires the standalone github repos, gitlab repos, etc. commands. - Removed the legacy top-level provider commands (kingfisher github, kingfisher gitlab, kingfisher gitea, kingfisher bitbucket, kingfisher azure, kingfisher huggingface) now that enumeration lives under kingfisher scan <provider> --list-only. - Fixed kingfisher scan github … (and other provider-specific subcommands) so they no longer demand placeholder path arguments before the CLI accepts the request. - Removed the --bitbucket-username, --bitbucket-token, and --bitbucket-oauth-token flags in favour of KF_BITBUCKET_* environment variables when authenticating to Bitbucket.
…ngfisher scan github …) that translate into the legacy flags under the hood. The new layout keeps backwards compatibility while removing the wall of provider options from kingfisher scan --help. - Updated the README so every provider example (GitHub, GitLab, Bitbucket, Azure Repos, Gitea, Hugging Face, Slack, Jira, Confluence, S3, GCS, Docker) uses the new subcommand style. - Restored the direct kingfisher scan /path/to/dir flow for local filesystem scans while adding a --list-only switch to each provider subcommand so repository enumeration no longer requires the standalone github repos, gitlab repos, etc. commands. - Removed the legacy top-level provider commands (kingfisher github, kingfisher gitlab, kingfisher gitea, kingfisher bitbucket, kingfisher azure, kingfisher huggingface) now that enumeration lives under kingfisher scan <provider> --list-only. - Fixed kingfisher scan github … (and other provider-specific subcommands) so they no longer demand placeholder path arguments before the CLI accepts the request. - Removed the --bitbucket-username, --bitbucket-token, and --bitbucket-oauth-token flags in favour of KF_BITBUCKET_* environment variables when authenticating to Bitbucket.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR migrates Kingfisher's CLI to a cleaner provider-specific subcommand structure while maintaining backward compatibility with legacy flags.
- Introduces
kingfisher scan <provider>subcommands (github, gitlab, bitbucket, azure, gitea, huggingface, slack, jira, confluence, s3, gcs, docker) to replace top-level provider commands - Moves repository enumeration into scan subcommands via
--list-onlyflags - Changes Bitbucket authentication to exclusively use environment variables (
KF_BITBUCKET_*)
Reviewed Changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/scanner/runner.rs | Moved sort/dedup operations and switched to environment-based Bitbucket auth |
| src/scanner/repos.rs | Updated to use environment-based Bitbucket auth |
| src/main.rs | Refactored command routing to support new scan subcommands and list operations |
| src/lib.rs | Fixed git repo opening to support worktree roots |
| src/cli/global.rs | Removed legacy top-level provider command enums |
| src/cli/commands/scan.rs | Added new scan subcommand infrastructure and provider-specific scan args |
| src/cli/commands/inputs.rs | Hidden legacy flags and added deprecation warning system |
| src/cli/commands/bitbucket.rs | Removed CLI flags in favor of environment-only auth |
| src/bitbucket.rs | Added from_env() convenience method |
| data/rules/prefect.yml | Updated API endpoint |
| data/rules/maxmind.yml | Enhanced validation with account ID dependency |
| README.md | Updated all examples to use new subcommand syntax |
| Cargo.toml | Version bump to 1.60.0 |
| CHANGELOG.md | Documented v1.60.0 changes |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| long, | ||
| value_name = "GIT-REF", | ||
| help_heading = "Git Options", | ||
| alias = "ref", |
Copilot
AI
Oct 22, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alias and visible_alias attributes are set to the same value \"ref\". The alias attribute creates a hidden alias, while visible_alias creates a visible one. Having both set to the same value is redundant. Remove the alias line or change one to a different value.
| alias = "ref", |
| url: https://geoip.maxmind.com/geoip/v2.1/city/me?license_key={{ TOKEN }} | ||
| url: https://geoip.maxmind.com/geoip/v2.1/city/me | ||
| headers: | ||
| Authorization: "Basic {{ ACCOUNT_ID | append: ':' | append: TOKEN | b64enc }}" |
Copilot
AI
Oct 22, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The filter name 'append' should be 'concat' or similar based on typical templating syntax. Verify the template engine supports 'append' as a filter.
| Authorization: "Basic {{ ACCOUNT_ID | append: ':' | append: TOKEN | b64enc }}" | |
| Authorization: "Basic {{ ACCOUNT_ID | concat: ':' | concat: TOKEN | b64enc }}" |
--bitbucket-username,--bitbucket-token, and--bitbucket-oauth-tokenflags in favour ofKF_BITBUCKET_*environment variables when authenticating to Bitbucket.kingfisher scansubcommands (for examplekingfisher scan github …) that translate into the legacy flags under the hood. The new layout keeps backwards compatibility while removing the wall of provider options fromkingfisher scan --help.--github-user,--gitlab-group,--bitbucket-workspace,--s3-bucket) still work but now emit a deprecation warning to encourage migration to the newkingfisher scan <provider>flow.kingfisher scan /path/to/dirflow for local filesystem / local git repo scans while adding a--list-onlyswitch to each provider subcommand so repository enumeration no longer requires the standalonegithub repos,gitlab repos, etc. commands.kingfisher github,kingfisher gitlab,kingfisher gitea,kingfisher bitbucket,kingfisher azure,kingfisher huggingface) now that enumeration lives underkingfisher scan <provider> --list-only.