Skip to content

feat: scaffold git-impact CLI (step 1)#4

Open
siisee11 wants to merge 3 commits intomainfrom
ralph-git-impact-step1
Open

feat: scaffold git-impact CLI (step 1)#4
siisee11 wants to merge 3 commits intomainfrom
ralph-git-impact-step1

Conversation

@siisee11
Copy link
Copy Markdown
Contributor

Summary

  • Scaffolded the new git-impact CLI surface with thin Cobra entrypoint wiring and analyze / check-sources command stubs.
  • Added internal/gitimpact foundations for types, config loading, and analysis-context construction.
  • Added repo-root ./git-impact shim and initial tests for config, context, and command stub behavior.
  • Moved the Step 1 execution plan from docs/exec-plans/active/ to docs/exec-plans/completed/.

Milestones completed

  • M1: Added cmd/git-impact/main.go thin entrypoint into internal/gitimpact with command stubs.
  • M2: Created internal/gitimpact/types.go with initial domain/config/result structs.
  • M3: Implemented internal/gitimpact/config.go using Viper for impact-analyzer.yaml load/decode with defaults.
  • M4: Implemented internal/gitimpact/context.go for validated AnalysisContext construction.
  • M5: Added repo-root ./git-impact executable shim.
  • M6: Updated go.mod/go.sum for Cobra + Viper and added scaffold tests.
  • M7: Validated baseline build/test success.

Key decisions

  • Kept cmd/git-impact thin and moved behavior into internal/gitimpact per architecture boundaries.
  • Intentionally left analyze and check-sources runtime logic as explicit stubs that return not-implemented errors after config/context validation.
  • Encoded default analysis windows in config-loading path for predictable behavior without full user config.
  • Resolved relative config paths against caller working directory during context construction.

Test plan

  • GOCACHE=/tmp/go-build-cache go test ./...
  • GOCACHE=/tmp/go-build-cache go build ./...

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