v4 plan: clean slate, built outward from command actions #2446
asahasrabuddhe
started this conversation in
Ideas
Replies: 1 comment 3 replies
|
The spike of the first milestone (errors, i18n and exit handling) is up as draft PR #2447. The full design is in What the spike does
PersonalitiesA personality has two parts. Presets set the policy, meaning the exit codes, the hints and what happens on an unknown command. Modifiers set the format, and never change exit codes, so a script, a person and an agent see the same code for the same failure.
cmd := &cli.Command{
Personality: personality.Auto(os.LookupEnv, personality.Git),
}
Also in the design
Questions
@dearchap the release process section is still yours. |
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This thread is for planning urfave/cli v4. @dearchap will lay out the release process here. The feature list lives in #2192.
Approach
v4 starts from an empty tree, not from the v3 code. We build it outward from the smallest useful core and check each layer against v3 tests as it lands.
Proposed build order:
ls, likegit, or like other Unix tools.Agents and v4
Much of this work suits coding agents. Each step above can be written as a prompt, with v3 test compatibility as the check.
v4 should also make CLIs built on urfave/cli behave predictably when an agent runs them. Open points:
Open questions
v4branch on this repo, or a separate directory?Release process
@dearchap to fill in.
All reactions