public
Description: command line based task management
Homepage: http://brianreily.com/projects/zen
Clone URL: git://github.com/breily/zen.git
zen / README
100755 109 lines (84 sloc) 4.125 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Zen - Command Line Task Management
==================================
 
Install
-------
* There is no installation to be done, in the sense of
    a setup.py. However, you do have to create a file to
    hold your projects and change the FILE_NAME setting in
    zen_io.py.
 
* Zen does not currently support adding projects, so you
    must create them manually. Use the zen_sample.db file
    as a guide.
 
* We recommend that you make an alias to your zen.py file,
    i.e. 'alias zen='/Users/brian/zen/zen.py'. Make sure
    zen.py is executable.
 
Notes
-----
* Zen stores your projects and data in plain text, to make
    it easy to manipulate if you don't have access to Zen.
 
* They are stored in YAML format - see http://www.yaml.org
 
* A project called 'todo list' must exist.
 
* Each project must have a name, and each task must have
    a desc (description).
 
* You can also include as many fields as you want for tasks
    and projects; these go under a fields: heading.
 
* The same applies for tags; they go under a tags: heading.
 
Commands
--------
* To view usage instructions: 'zen help'
 
* To view a list of projects: 'zen' | 'zen projects'
 
* To view tasks for a project: 'zen tasks -p todo'
    '-p' and '--project' specify a project name. The parameter
    passed to this can be shortened as long as only one project
    begins with that string. You can also use numbers.
 
    If you do not supply a project parameter to this command, Zen
    will list tasks for all projects.
 
* To view details for a task: 'zen details -p todo -t add'
    '-t' and '--task' specify a task. They autocomplete just
    like project names.
 
    If you don't specify a task name, Zen will list tasks for
    the specified project.
 
* To search by tag: 'zen tagsearch --tag required'
    You can also specify a project to limit your search. If you
    don't specify a tag, Zen will list all tags.
 
* To add a task: 'zen addtask -p todo this is a task'
    Anything that besides the project name becomes the task
    description. If you don't specify a project name, Zen will
    add the task to the project 'todo list'. If you include a
    string such as 'due=tuesday', Zen will create a field called
    'due' with a value of 'tuesday'.
 
* To delete a task: 'zen deletetask -p todo -t add'
    This will delete any task that starts with the string provided
    by '-t'. If you don't supply a project, Zen will search
    through all projects and delete matches.
 
* To search: 'zen search --query todo'
    This does a search of all names and descriptions of projects
    and tasks. You can use '--query' or '--term' to specify a
    search term. If you use no flag, the text after 'search' will
    be used as the search term.
 
    You can also specify a project to limit the search to.
 
* To add a project: 'zen addproject this is a new project'
    This adds a project with the name being the text after the
    'addproject' command. It does not currently support specific
    fields like the 'addtask' command.
 
More Notes
----------
* Most commands can be shortened:
    * The 'projects' command can be replaced with 'p'
    * The 'tasks' command can be replaced with 't'
    * The 'details' command can be replaced with 'd'
    * The 'tagsearch' command can be replaced with 'ts'
    * The 'addtask' command can be replaced with 'a' or 'add'
    * The 'deletetask' command can be replaced with 'dt' or 'del'
    * The 'search' command can be replaced with 's'
    * The 'addproject' command can be replaced with 'ap'
 
* When using numbers to specify projects or tasks, remember that
    the lists are zero indexed.
 
File Listing
------------
* zen.py - Parses command line functions
* zen_io.py - Holds class definitions and file parsing and writing.
* zen_logic.py - The actual program functionality.
* zen_utilities.py - Contains various utility functions used by zen_logic.
* zen_usage.py - Contains the help/usage message.
* zen_sample.db - Contains a sample YAML formatted project list.