-
Notifications
You must be signed in to change notification settings - Fork 1
refactor: standardize command registration pattern #18
Copy link
Copy link
Closed
Description
Summary
Standardize on the Register(parent, opts) command registration pattern across both tools.
Current State
cfl pattern (tools/cfl/internal/cmd/root/root.go):
// Commands added directly in NewCmdRoot()
cmd.AddCommand(page.NewCmdPage())
cmd.AddCommand(space.NewCmdSpace())jtk pattern (tools/jtk/cmd/jtk/main.go):
// Uses Register() pattern with opts injection
issues.Register(rootCmd, opts)
boards.Register(rootCmd, opts)Proposed Changes
- Update cfl commands to use
Register(parent *cobra.Command, opts *root.Options)pattern - Rename
NewCmdX()toRegister()for consistency - Pass shared Options through the command tree
Benefits
- Better dependency injection for API clients, view renderers
- Improved testability
- Consistent pattern across both tools
- Eliminates need to parse global flags in each command
Depends On
- refactor: standardize config/client creation pattern in cfl #17 (standardize config/client creation pattern)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels