Skip to content

Add beachball config get and config list commands#1186

Draft
Copilot wants to merge 7 commits intomainfrom
copilot/add-beachball-config-get-command
Draft

Add beachball config get and config list commands#1186
Copilot wants to merge 7 commits intomainfrom
copilot/add-beachball-config-get-command

Conversation

Copy link
Contributor

Copilot AI commented Mar 26, 2026

Summary

Adds beachball config get <name> and beachball config list commands for inspecting the effective beachball configuration.

config get <name>

Gets the value of a specific config setting, including any per-package or per-group overrides. Supports --package to query the effective value for specific packages (accounting for group membership).

$ beachball config get branch
"origin/main"

$ beachball config get disallowedChangeTypes
Main value: null

Group overrides:
  my-group:
    disallowedChangeTypes: ["major"]
    packageNames: ["pkg-a", "pkg-b"]

$ beachball config get disallowedChangeTypes --package pkg-a
pkg-a: ["major"]

config list

Lists all config settings (including defaults), plus any group and per-package overrides, using YAML-like formatting.

$ beachball config list
Main options (including defaults):
  access: "restricted"
  branch: "origin/main"
  bump: true
  ...

Group overrides:
  my-group:
    packageNames: ["pkg-a", "pkg-b"]
    disallowedChangeTypes: ["major"]

Other changes

  • src/logging/formatValue.ts — New YAML-like value formatter with width-aware single-line/multi-line output, used by both commands
  • src/options/getCliOptions.ts — Added _extraPositionalArgs support for subcommand parsing
  • src/help.ts and docs/cli/config.md — Help text and doc site page for both commands
  • .claude/skills/beachball-change-file/SKILL.md — Updated to use beachball config get instead of manually reading config files

Implements the `beachball config get <name>` command that displays the
effective value of a specified config setting. For settings that can
be overridden per-package (tag, defaultNpmTag, disallowedChangeTypes,
gitTags, shouldPublish), it shows any package-level overrides.
For disallowedChangeTypes, group overrides are also displayed.

Supports `--package` to get the setting value for specific package(s).

Co-authored-by: ecraig12345 <5864305+ecraig12345@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/beachball/sessions/c8df7bfa-8b52-461a-aabf-b5e2a0cbd8e7
Copilot AI changed the title [WIP] Add beachball config get command Add beachball config get command Mar 26, 2026
Copilot AI requested a review from ecraig12345 March 26, 2026 02:20
Copy link
Member

@ecraig12345 ecraig12345 left a comment

Choose a reason for hiding this comment

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

@copilot address the comments below and add a change file

Copy link
Contributor Author

Copilot AI commented Mar 26, 2026

@copilot address the comments below and add a change file

Addressed both review comments in 32cd00f and added the change file in 1843a25.

@ecraig12345 ecraig12345 force-pushed the copilot/add-beachball-config-get-command branch from 1843a25 to 38e9c2d Compare March 26, 2026 04:34
@ecraig12345 ecraig12345 changed the title Add beachball config get command Add beachball config command Mar 26, 2026
@ecraig12345 ecraig12345 changed the title Add beachball config command Add beachball config get and config list commands Mar 26, 2026
@ecraig12345 ecraig12345 force-pushed the copilot/add-beachball-config-get-command branch from f0797eb to ccbec8d Compare March 26, 2026 11:33
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.

2 participants