6

I am developing a time management tool for my personal use. I prefer using keyboard over mouse, and on the interface have a general purpose text box which will act like a command line. I have just started thinking about what commands I need, what to use for the command names, how to pass in switches and parameters, and so forth.

I wonder if some of you have come across a good read along these lines; something that describes the choices you have for designing a cli, and how those affect the complexity of the interpreter, and extendability of the commands. It makes no difference if the descriptions are language-specific or in general terms. However, my implementation will be with javascript.

Thank you.

Majid Fouladpour
  • 29,356
  • 21
  • 76
  • 127
  • The Linux CLI is already completely documented via man pages. Why not follow the pattern of complex systems like SVN? The Linux man pages seem to be a great description of a CLI. What else would you like to know? – S.Lott Jun 02 '10 at 19:59
  • Thank you. Actually I am looking for text that describes the choices in a structured way, and explaining what impact taking different routes will have on complexity, and extendability of the interpreter. Perhaps, this is to some extent, `fear-of-unknown`. I don't want to make mistakes and waste some time only to find out latter that for specific reasons my approach is wrong. – Majid Fouladpour Jun 02 '10 at 20:05

1 Answers1

8

Read this:

http://www.amazon.com/Software-Tools-Brian-W-Kernighan/dp/020103669X

It explains some of the "philosophy" behind the Unix CLI.

http://www.ibm.com/developerworks/linux/library/l-clutil/

http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html#tag_12_01c

S.Lott
  • 384,516
  • 81
  • 508
  • 779