Skip to content

feat: Introduce azdo boards area project command group #141

@tmeckel

Description

@tmeckel

Introduce the azdo boards area project command group to encapsulate project-scoped area path operations.

Command Group Description

Create a project subgroup beneath azdo boards area that scopes commands to a single project. This level will host commands such as list to enumerate area classifications within the selected project, matching Azure DevOps' hierarchy requirements (organization → project → classification nodes).

Implementation Notes

  • Add internal/cmd/boards/area/project/project.go with NewCmd(ctx util.CmdContext) *cobra.Command.
  • Accept the positional argument [organization/]<project> following existing patterns; reuse shared parsing helpers so defaults apply when the organization segment is omitted.
  • Register the subgroup from internal/cmd/boards/area/area.go and regenerate documentation.
  • Ensure help strings clarify that commands under this subgroup operate on project-level area trees and can surface nested nodes via depth flags.

Command Wiring

  • Define the subgroup in internal/cmd/boards/area/project/project.go and ensure NewCmd returns the Cobra command for project-scoped area operations.
  • In internal/cmd/boards/area/area.go, call cmd.AddCommand(project.NewCmd(ctx)) so the hierarchy is available under azdo boards area.
  • After wiring, rerun make docs to refresh generated markdown.

SDK / Client Requirements

  • Existing area commands rely on the core HTTP connection helpers already in the repository; no additional Azure DevOps client interface is required for the subgroup itself.
  • If future leaf commands introduce new SDK clients, follow "Handling Missing Azure DevOps SDK Clients" in AGENTS.md (extend ClientFactory, run go mod tidy and go mod vendor, update scripts/generate_mocks.sh, and implement the factory method) before writing command logic.

Tooling & Validation

  • Format all touched Go files with gofmt/goimports.
  • Run go build ./cmd/azdo/... to verify the CLI still compiles.
  • Add/update hermetic tests and execute go test ./... before submitting changes.

References

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions