pylonite 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/pylonite +5 -0
- data/lib/pylonite/cli.rb +325 -0
- data/lib/pylonite/database.rb +346 -0
- data/lib/pylonite/help.rb +133 -0
- data/lib/pylonite/tui.rb +638 -0
- data/lib/pylonite/version.rb +3 -0
- data/lib/pylonite.rb +8 -0
- data/pylonite.gemspec +20 -0
- metadata +63 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
module Pylonite
|
|
2
|
+
module Help
|
|
3
|
+
def self.display
|
|
4
|
+
puts <<~HELP
|
|
5
|
+
\e[1mpylonite\e[0m - project task management from the command line
|
|
6
|
+
|
|
7
|
+
\e[1mTASK CREATION & EDITING\e[0m
|
|
8
|
+
|
|
9
|
+
pylonite add "task title"
|
|
10
|
+
Create a new task in the backlog.
|
|
11
|
+
Options:
|
|
12
|
+
--board BOARD Set initial board (backlog, todo, in_progress, done, archived)
|
|
13
|
+
--assign USER Assign to a user
|
|
14
|
+
--description "text" Set description (-d "text" also works)
|
|
15
|
+
Examples:
|
|
16
|
+
pylonite add "Fix login bug"
|
|
17
|
+
pylonite add "Deploy v2" --board todo --assign alice -d "Deploy to production"
|
|
18
|
+
|
|
19
|
+
pylonite edit ID
|
|
20
|
+
Update an existing task's title or description.
|
|
21
|
+
Options:
|
|
22
|
+
--title "new title"
|
|
23
|
+
--description "new desc" (-d "new desc" also works)
|
|
24
|
+
Examples:
|
|
25
|
+
pylonite edit 3 --title "Fix login bug (urgent)"
|
|
26
|
+
pylonite edit 3 -d "Updated requirements from client"
|
|
27
|
+
|
|
28
|
+
pylonite subtask PARENT_ID "title"
|
|
29
|
+
Create a subtask under an existing task.
|
|
30
|
+
Example:
|
|
31
|
+
pylonite subtask 1 "Write unit tests"
|
|
32
|
+
|
|
33
|
+
\e[1mTASK VIEWING\e[0m
|
|
34
|
+
|
|
35
|
+
pylonite show ID
|
|
36
|
+
Show full task details: title, board, author, assignee, description,
|
|
37
|
+
blockers, subtasks, comments, and history.
|
|
38
|
+
Example:
|
|
39
|
+
pylonite show 1
|
|
40
|
+
|
|
41
|
+
pylonite list
|
|
42
|
+
List all non-archived tasks grouped by board.
|
|
43
|
+
Options:
|
|
44
|
+
--board BOARD Show only tasks in a specific board
|
|
45
|
+
--all Include archived tasks
|
|
46
|
+
Examples:
|
|
47
|
+
pylonite list
|
|
48
|
+
pylonite list --board in_progress
|
|
49
|
+
pylonite list --all
|
|
50
|
+
|
|
51
|
+
pylonite search "query"
|
|
52
|
+
Search tasks by title and description.
|
|
53
|
+
Example:
|
|
54
|
+
pylonite search "login"
|
|
55
|
+
|
|
56
|
+
\e[1mTASK WORKFLOW\e[0m
|
|
57
|
+
|
|
58
|
+
pylonite move ID BOARD
|
|
59
|
+
Move a task to a board.
|
|
60
|
+
Boards: backlog, todo, in_progress, done, archived
|
|
61
|
+
Example:
|
|
62
|
+
pylonite move 1 in_progress
|
|
63
|
+
|
|
64
|
+
pylonite archive ID
|
|
65
|
+
Archive a task (shortcut for move ID archived).
|
|
66
|
+
Example:
|
|
67
|
+
pylonite archive 5
|
|
68
|
+
|
|
69
|
+
pylonite assign ID USER
|
|
70
|
+
Assign a task to a user.
|
|
71
|
+
Example:
|
|
72
|
+
pylonite assign 1 alice
|
|
73
|
+
|
|
74
|
+
\e[1mCOMMENTS\e[0m
|
|
75
|
+
|
|
76
|
+
pylonite comment ID "comment text"
|
|
77
|
+
Add a comment to a task.
|
|
78
|
+
Example:
|
|
79
|
+
pylonite comment 1 "Blocked on API changes"
|
|
80
|
+
|
|
81
|
+
\e[1mDEPENDENCIES\e[0m
|
|
82
|
+
|
|
83
|
+
pylonite block ID BLOCKER_ID
|
|
84
|
+
Mark BLOCKER_ID as blocking ID (ID cannot proceed until BLOCKER_ID is resolved).
|
|
85
|
+
Example:
|
|
86
|
+
pylonite block 3 1 # task 1 blocks task 3
|
|
87
|
+
|
|
88
|
+
pylonite unblock ID BLOCKER_ID
|
|
89
|
+
Remove a blocker relationship.
|
|
90
|
+
Example:
|
|
91
|
+
pylonite unblock 3 1
|
|
92
|
+
|
|
93
|
+
\e[1mACTIVITY\e[0m
|
|
94
|
+
|
|
95
|
+
pylonite log
|
|
96
|
+
Show full activity log (most recent first) in a pager.
|
|
97
|
+
All task events: creation, moves, comments, assignments, etc.
|
|
98
|
+
Uses $PAGER or falls back to `less -R`.
|
|
99
|
+
Example:
|
|
100
|
+
pylonite log
|
|
101
|
+
|
|
102
|
+
\e[1mOTHER\e[0m
|
|
103
|
+
|
|
104
|
+
pylonite tui
|
|
105
|
+
Launch the interactive terminal UI.
|
|
106
|
+
|
|
107
|
+
pylonite help
|
|
108
|
+
Show this help message.
|
|
109
|
+
|
|
110
|
+
pylonite internal appropriate OLD_DB_PATH
|
|
111
|
+
Rename/move an existing database file to match the current project directory.
|
|
112
|
+
Used when a project directory has been moved or renamed.
|
|
113
|
+
Example:
|
|
114
|
+
pylonite internal appropriate ~/.pylonite/dbs/old_project_abc123.sqlite3
|
|
115
|
+
|
|
116
|
+
\e[1mBOARDS\e[0m
|
|
117
|
+
|
|
118
|
+
backlog Default board for new tasks
|
|
119
|
+
todo Tasks ready to be worked on
|
|
120
|
+
in_progress Tasks currently being worked on
|
|
121
|
+
done Completed tasks
|
|
122
|
+
archived Archived tasks (hidden from default list)
|
|
123
|
+
|
|
124
|
+
\e[1mNOTES\e[0m
|
|
125
|
+
|
|
126
|
+
- Each project directory gets its own task database (~/.pylonite/dbs/)
|
|
127
|
+
- Task IDs are integers, auto-incremented per project
|
|
128
|
+
- The current $USER is recorded as author/actor for all operations
|
|
129
|
+
- All timestamps are UTC ISO 8601
|
|
130
|
+
HELP
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|