forked from lix-project/lix
Switch away from classification as Tier1-3
to classification to a more descriptive classification.
This commit is contained in:
parent
d948b10c3a
commit
ae77f21474
|
@ -58,12 +58,13 @@ them.
|
||||||
|
|
||||||
This classification tries to separate commands in 3 categories in terms of
|
This classification tries to separate commands in 3 categories in terms of
|
||||||
their importance in regards to the new users. Users who are likely to be
|
their importance in regards to the new users. Users who are likely to be
|
||||||
impacted the most by bad user experience. This does not mean that we will not
|
impacted the most by bad user experience.
|
||||||
take care of Tier3 commands, it means we will only put more helpful details for
|
|
||||||
beginners into Tier1 commands.
|
- **Main commands**
|
||||||
|
|
||||||
|
Commands used for our main use cases and most likely used by new users. We
|
||||||
|
expect attention to details, such as:
|
||||||
|
|
||||||
- **Tier1**: Commands used for our main use cases and most likely used by new
|
|
||||||
users. From Tier1 commands we expect attention to details, such as:
|
|
||||||
- Proper use of [colors](#colors), [emojis](#special-unicode-characters)
|
- Proper use of [colors](#colors), [emojis](#special-unicode-characters)
|
||||||
and [aligning of text](#text-alignment).
|
and [aligning of text](#text-alignment).
|
||||||
- [Autocomplete](#shell-completion) of options.
|
- [Autocomplete](#shell-completion) of options.
|
||||||
|
@ -73,16 +74,32 @@ beginners into Tier1 commands.
|
||||||
Nix ecosystem.
|
Nix ecosystem.
|
||||||
- [Help pages](#help-is-essential) to be as good as we can write them
|
- [Help pages](#help-is-essential) to be as good as we can write them
|
||||||
pointing to external documentation and tutorials for more.
|
pointing to external documentation and tutorials for more.
|
||||||
- **Tier2**: Commands that are somewhere between Tier1 and Tier2, not really
|
|
||||||
exposing some implementation detail, but not something that we expect a user.
|
Examples of such commands: `nix init`, `nix develop`, `nix build`, `nix run`,
|
||||||
From Tier2 command we expect less attention to details, but still some:
|
...
|
||||||
|
|
||||||
|
- **Infrequently used commands**
|
||||||
|
|
||||||
|
From infrequently used commands we expect less attention to details, but
|
||||||
|
still some:
|
||||||
|
|
||||||
- Proper use of [colors](#colors), [emojis](#special-unicode-characters)
|
- Proper use of [colors](#colors), [emojis](#special-unicode-characters)
|
||||||
and [aligning of text](#text-alignment).
|
and [aligning of text](#text-alignment).
|
||||||
- [Autocomplete](#shell-completion) of options.
|
- [Autocomplete](#shell-completion) of options.
|
||||||
- **Tier3**: Commands that expose certain internal functionality of `nix`,
|
|
||||||
mostly used by other scripts.
|
Examples of such commands: `nix doctor`, `nix edit`, `nix eval`, ...
|
||||||
|
|
||||||
|
- **Utility and scripting commands**
|
||||||
|
|
||||||
|
Commands that expose certain internal functionality of `nix`, mostly used by
|
||||||
|
other scripts.
|
||||||
|
|
||||||
- [Autocomplete](#shell-completion) of options.
|
- [Autocomplete](#shell-completion) of options.
|
||||||
|
|
||||||
|
Examples of such commands: `nix store copy`, `nix hash base16`, `nix store
|
||||||
|
ping`, ...
|
||||||
|
|
||||||
|
|
||||||
# Help is essential
|
# Help is essential
|
||||||
|
|
||||||
Help should be built into your command line so that new users can gradually
|
Help should be built into your command line so that new users can gradually
|
||||||
|
@ -249,9 +266,10 @@ Here are few examples of flag `OPTIONS`:
|
||||||
|
|
||||||
## Prompt when input not provided
|
## Prompt when input not provided
|
||||||
|
|
||||||
For **Tier1** commands we want command to improve the discoverability of
|
For *main commands* (as [per classification](#classification)) we want command
|
||||||
possible input. A new user will most likely not know which `ARGUMENTS` and
|
to improve the discoverability of possible input. A new user will most likely
|
||||||
`OPTIONS` are required or which values are possible for those options.
|
not know which `ARGUMENTS` and `OPTIONS` are required or which values are
|
||||||
|
possible for those options.
|
||||||
|
|
||||||
In cases, the user might not provide the input or they provide wrong input,
|
In cases, the user might not provide the input or they provide wrong input,
|
||||||
rather then show the error, prompt a user with an option to find and select
|
rather then show the error, prompt a user with an option to find and select
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
# Contributing
|
1
doc/manual/src/contributing/hacking.md
Normal file
1
doc/manual/src/contributing/hacking.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# Hacking
|
Loading…
Reference in a new issue