OK. We are discussing two related but distinct questions:
Is it relevant for CLI?
Is it parentable?
Here is what I think.
Is it Relevant?
Title, Categories, URL, Size, License, Description, Parent ID, Version, Download URL, System Requirements, Additional Statuses, Dependencies, Forum ID, Suggested By, Date.
|Writes settings to||Yes?||CLI tools can use settings. Some may write settings files by default with usage:
alternative shells, shell extensions, text-mode browsers, etc.
Maybe make the field optional?
|Lynx, Bash, Clink.|
|How to extract||Yes||Most tools are just plain .exes or in archives, but some tools need special extraction from installers||Lynx, Gow.|
|Icon||Nice to have||Most don't have icons. Some do. Could be useful.||FFmpeg, busybox-w32.|
|Screenshot||Yes?||Most don't have "looks". Some do (TUIs, Shells). Also, provides useful usage info.||Far Manager, Lynx, Yori shell.|
|Additional features||?||Can be redundant. Leave until accepted replacement is in place.|
|Path portability||?||Don't know enough to have an opinion.|
|Unicode support||?||Don't know enough to have an opinion.|
|Stealth||Yes||Many tools leave logs, etc.||Clink|
|Keywords||?||Made as a substitute solution. Leave until not needed.|
|Similar/alternative apps||?||Could be useful. Could be redundant.|
Is it heritable?
Keep a few examples in mind:
- A busybox applet (touch).
- A Swiss File Knife internal command (touch).
- A Yori tool (touch.exe).
|Field||Independent (I) from parent
Dependent on parent=Heritable (H)
|Should be heritable (at least now)?||Notes|
|Title||I+H||No||Possible use for H: Automatically include parent name between brackets touch [Yori].|
|Categories||Mostly I||No||H is more trouble than benefit.|
|Size||I+H||Yes||Search "touch" + filter "<10MB/small" should include all three examples above.|
|License||Mostly H, rarely I||Yes|
|Description||I||No||If part of description is heritable, maybe it needs its own field anyway.|
|Write settings to||I+H||No||For the H, leave empty or refer to parent. If filtering is needed, it can be complemented with "IsFullyPortable" Boolean.|
|How to extract||Unneeded||No||Leave empty (ignore #53, make field optional) or refer to parent.|
|Version||Mostly H. Occasionally I||No||Leave empty. Even if made heritable, provides little value.|
|Download URL||H||No||Refer to parent.|
|System Requirements||H+I||Yes||Filter: tools that work on XP.|
|Icon||Probably H+I||No||Not enough data.|
|Screenshot||I||No||If it warrants an entry, it can't really be covered by the parent screenshot in 99% of the cases.|
|Additional Features||= Categories|
|Additional Status||Some H, some I||No||Could be confusing in practice.|
|Path portability||Seems filterable.|
|Unicode support||Seems filterable.|
|Dependencies||H+I||No||Although potentially filterable (with a Boolean), doesn't seem that useful to filter by (unless separated by multiple Booleans (e.g. is/not .NET dependent etc)|
|Stealth||H+I (Mostly H?)||?||Filterable, but too much work to fill in the data|
|Keywords||I||No||If it warrants an entry, its keywords can't be exactly as parent.|
|Forum ID||H or I||No||Little value.|
|Alternative/similar apps||I||No||If it warrants an entry, ...|
|Suggested by||I or H||No|
|Use cases||= keywords|
|Developer/Author field (Required)||H||Yes||Filter/search by developer/distributor/project.|
|Documentation Link (Optional)||H+I||No||If H, refer to parent.|
|Documentation Text (Optional)||I||No||If it warrants an entry, ...|
|IsWarningNet (optional)||H+I||No||Better done manually.|
|IsWarningSecurity (optional)||= IsWarningNet|
|IsWarningDecompression (optional)||= IsWarningNet|
|IsNotArchiver (optional)||= IsWarningNet|
|IsNotCompressor (optional)||= IsWarningNet|
|GUI Front-ends||H||No||Refer to parent|