rumo-cli 0.3.0__tar.gz → 0.5.0__tar.gz
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.
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/PKG-INFO +46 -9
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/README.md +45 -8
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/pyproject.toml +1 -1
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/src/rumo/app.py +420 -30
- rumo_cli-0.5.0/src/rumo/cli.py +194 -0
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/src/rumo/config.py +40 -9
- rumo_cli-0.5.0/src/rumo/hook.py +518 -0
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/src/rumo/items.py +204 -9
- rumo_cli-0.5.0/src/rumo/prs.py +194 -0
- rumo_cli-0.5.0/src/rumo/sessions.py +324 -0
- rumo_cli-0.3.0/src/rumo/cli.py +0 -91
- rumo_cli-0.3.0/src/rumo/hook.py +0 -294
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/.gitignore +0 -0
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/LICENSE +0 -0
- {rumo_cli-0.3.0 → rumo_cli-0.5.0}/src/rumo/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: rumo-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Your dev work, past, now and later: Markdown files, a terminal Timeline, and AI agents that keep it current
|
|
5
5
|
Project-URL: Homepage, https://github.com/pedrobuzzi/rumo
|
|
6
6
|
Project-URL: Issues, https://github.com/pedrobuzzi/rumo/issues
|
|
@@ -63,6 +63,10 @@ system language.
|
|
|
63
63
|
/plugin install rumo@rumo
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
`/rumo` runs its `rumo` commands without asking. To let the agent run them without asking in later
|
|
67
|
+
answers too (to link an item it offered to create, for example), add `"Bash(rumo:*)"` to
|
|
68
|
+
`permissions.allow` in `~/.claude/settings.json`.
|
|
69
|
+
|
|
66
70
|
- **Codex, Gemini CLI, Cursor, GitHub Copilot and other agents** that read `SKILL.md` files,
|
|
67
71
|
simple mode (create items and ideas, list and search them; no automatic updates):
|
|
68
72
|
|
|
@@ -85,7 +89,7 @@ To get new plugin versions on their own, turn on auto-update for the `rumo` mark
|
|
|
85
89
|
| Key | Action |
|
|
86
90
|
|---|---|
|
|
87
91
|
| ↑ ↓ | move through the list |
|
|
88
|
-
| Tab | switch between the list, steps and sessions |
|
|
92
|
+
| Tab | switch between the list, steps, PRs and sessions |
|
|
89
93
|
| `v` | next view: Timeline, Projects, Repos (`1` `2` `3` go straight to one; rumo remembers it) |
|
|
90
94
|
| `h` | next horizon: Now, then Later, then Past, then Now again |
|
|
91
95
|
| `s` | change status (1-5 picks directly) |
|
|
@@ -93,7 +97,11 @@ To get new plugin versions on their own, turn on auto-update for the `rumo` mark
|
|
|
93
97
|
| `t` | toggle tags |
|
|
94
98
|
| `n` | capture a new idea |
|
|
95
99
|
| `e` | open the item in `$EDITOR` |
|
|
96
|
-
|
|
|
100
|
+
| `a` | add a step to the selected item, after its open steps (below the highlighted one when the steps have focus); in the dialog, Tab switches `[agent]` and `[manual]` |
|
|
101
|
+
| Enter, shift+↑ ↓, `d`, space | with the steps focused: edit, move, delete (asks first) or check the highlighted step; Esc goes back |
|
|
102
|
+
| `x` | hide or show the done steps of every item (rumo remembers it) |
|
|
103
|
+
| `p` | add a PR link to the selected item (a title may follow the link); in the dialog, Tab switches the state |
|
|
104
|
+
| Enter, space, `e`, `d` | with the PRs focused: open the highlighted PR in the browser, change its state, edit it, or delete it (asks first) |
|
|
97
105
|
| `c` | copy the command that resumes the selected agent session |
|
|
98
106
|
| `/` | filter by title, tag, group or text (Esc clears) |
|
|
99
107
|
| `q` | quit |
|
|
@@ -108,13 +116,22 @@ To get new plugin versions on their own, turn on auto-update for the `rumo` mark
|
|
|
108
116
|
| `/rumo now` | List what is in progress, with the next step of each. |
|
|
109
117
|
| `/rumo find <text>` | Search past, current and future items. |
|
|
110
118
|
| `/rumo status` | Show where you left off on the linked item. |
|
|
111
|
-
| `/rumo step <text>` | Add a step to the linked item. |
|
|
119
|
+
| `/rumo step <text>` | Add a step to the linked item, or to the item it belongs to when none is linked. |
|
|
112
120
|
| `/rumo park [reason]` | Pause the item with an accurate "Left off" and stop updating it here. |
|
|
113
121
|
| `/rumo done` | Finish the item (checks the steps, asks first). |
|
|
114
122
|
| `/rumo unlink` | Stop updating the item from this session. |
|
|
123
|
+
| `/rumo sessions [7d]` | Catch up on the sessions open or active since the last review: create or update their items. |
|
|
124
|
+
|
|
125
|
+
`link`, `status`, `park`, `unlink` and `sessions` need Claude Code with the plugin, because they rely
|
|
126
|
+
on its session id and hook. Other agents get the rest.
|
|
115
127
|
|
|
116
|
-
|
|
117
|
-
|
|
128
|
+
`/rumo sessions` is for when you worked in several sessions without rumo. From any session, it reads
|
|
129
|
+
what each recent Claude Code session did (where it ran, what you asked, what it edited, the PRs it
|
|
130
|
+
opened) and matches it to an item: the one it is linked to, one that worked on the same branch, or one
|
|
131
|
+
about the same subject, before proposing a new item. Quick questions are proposed as ignored. You see
|
|
132
|
+
one short plan (update, link, create, ignore) and nothing is written until you say yes or adjust it.
|
|
133
|
+
Each review starts where the last one ended (3 days back the first time); `/rumo sessions 7d` looks
|
|
134
|
+
further back. Sessions run by scripts (`claude -p`) and in temporary folders are left out.
|
|
118
135
|
|
|
119
136
|
When you create an item or an idea, the agent checks whether it belongs to an existing group. If
|
|
120
137
|
other ungrouped items look like the same initiative, it suggests a new group (name and color) and
|
|
@@ -128,9 +145,24 @@ follow several topics: when you start something no linked item covers, the agent
|
|
|
128
145
|
track it as a new item, add it as a step, or leave it out. Left off is one line and Context at most
|
|
129
146
|
three. `/clear` starts a new, unlinked session; `claude --resume <id>` picks the old one up again.
|
|
130
147
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
it
|
|
148
|
+
You can add, edit, move, check and delete steps in the Timeline too. On your next message, a linked
|
|
149
|
+
session is told which steps changed since its last answer, so it neither redoes nor re-adds them, and
|
|
150
|
+
it starts none of them unless you ask. When the agent finishes a step and more remain, it ends with
|
|
151
|
+
the next one: an offer to start it, or a note that it is yours.
|
|
152
|
+
|
|
153
|
+
Each item lists its pull requests (GitHub, GitLab, Bitbucket or any other link) with their state:
|
|
154
|
+
open, draft, merged or closed. rumo finds them on its own: a PR a linked session opens (with
|
|
155
|
+
`gh pr create`, `glab mr create` or a tool that creates PRs) goes into its item at the end of the turn,
|
|
156
|
+
and while the Timeline is open, the GitHub CLI (`gh`, when installed and logged in) keeps their states
|
|
157
|
+
current and adds the PRs opened from the branches the item's sessions worked on. The agent updates a
|
|
158
|
+
state when it learns one, and you can add, edit, open and delete PRs in the Timeline too; a PR you
|
|
159
|
+
delete is never added back. The list shows how many PRs of each item are still open.
|
|
160
|
+
|
|
161
|
+
In a session without an item, the agent learns at the start what is in progress in that repository
|
|
162
|
+
(up to three items, with their next step), so it can answer "what is left?"; `rumo now` lists
|
|
163
|
+
everything in progress. Once that session edits files, the agent asks whether to track it. The first
|
|
164
|
+
time it also asks whether to keep asking in future sessions (`ask_to_track` in the config). If you
|
|
165
|
+
say no, it reminds you that the option exists every 15 days or 15 sessions.
|
|
134
166
|
|
|
135
167
|
## Item format
|
|
136
168
|
|
|
@@ -155,12 +187,17 @@ Users land on a protected page after logging out.
|
|
|
155
187
|
- [ ] [manual] Ask for a PR review
|
|
156
188
|
- [ ] [agent] e2e test for logout
|
|
157
189
|
|
|
190
|
+
## PRs
|
|
191
|
+
- [open] https://github.com/you/web-app/pull/42 Redirect home after logout
|
|
192
|
+
|
|
158
193
|
## Sessions
|
|
159
194
|
- 2026-10-11 10:08 | web-app (main) | 7134aad0-4ba6-4583-9503-c08e98d28270 | /Users/you/repo/web-app
|
|
160
195
|
```
|
|
161
196
|
|
|
162
197
|
- Statuses: `idea`, `doing`, `waiting`, `paused`, `done`. `done: <date>` is set when an item is finished.
|
|
163
198
|
- Steps are `[agent]` (the AI can do it) or `[manual]` (you or someone else does it).
|
|
199
|
+
- PRs are one link per line, with the state in brackets (`open`, `draft`, `merged`, `closed`; none when
|
|
200
|
+
unknown) and an optional title after the link.
|
|
164
201
|
- An idea can be just the frontmatter; it grows when you start working on it.
|
|
165
202
|
- A session line ending in `| closed` no longer updates the item.
|
|
166
203
|
|
|
@@ -42,6 +42,10 @@ system language.
|
|
|
42
42
|
/plugin install rumo@rumo
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
+
`/rumo` runs its `rumo` commands without asking. To let the agent run them without asking in later
|
|
46
|
+
answers too (to link an item it offered to create, for example), add `"Bash(rumo:*)"` to
|
|
47
|
+
`permissions.allow` in `~/.claude/settings.json`.
|
|
48
|
+
|
|
45
49
|
- **Codex, Gemini CLI, Cursor, GitHub Copilot and other agents** that read `SKILL.md` files,
|
|
46
50
|
simple mode (create items and ideas, list and search them; no automatic updates):
|
|
47
51
|
|
|
@@ -64,7 +68,7 @@ To get new plugin versions on their own, turn on auto-update for the `rumo` mark
|
|
|
64
68
|
| Key | Action |
|
|
65
69
|
|---|---|
|
|
66
70
|
| ↑ ↓ | move through the list |
|
|
67
|
-
| Tab | switch between the list, steps and sessions |
|
|
71
|
+
| Tab | switch between the list, steps, PRs and sessions |
|
|
68
72
|
| `v` | next view: Timeline, Projects, Repos (`1` `2` `3` go straight to one; rumo remembers it) |
|
|
69
73
|
| `h` | next horizon: Now, then Later, then Past, then Now again |
|
|
70
74
|
| `s` | change status (1-5 picks directly) |
|
|
@@ -72,7 +76,11 @@ To get new plugin versions on their own, turn on auto-update for the `rumo` mark
|
|
|
72
76
|
| `t` | toggle tags |
|
|
73
77
|
| `n` | capture a new idea |
|
|
74
78
|
| `e` | open the item in `$EDITOR` |
|
|
75
|
-
|
|
|
79
|
+
| `a` | add a step to the selected item, after its open steps (below the highlighted one when the steps have focus); in the dialog, Tab switches `[agent]` and `[manual]` |
|
|
80
|
+
| Enter, shift+↑ ↓, `d`, space | with the steps focused: edit, move, delete (asks first) or check the highlighted step; Esc goes back |
|
|
81
|
+
| `x` | hide or show the done steps of every item (rumo remembers it) |
|
|
82
|
+
| `p` | add a PR link to the selected item (a title may follow the link); in the dialog, Tab switches the state |
|
|
83
|
+
| Enter, space, `e`, `d` | with the PRs focused: open the highlighted PR in the browser, change its state, edit it, or delete it (asks first) |
|
|
76
84
|
| `c` | copy the command that resumes the selected agent session |
|
|
77
85
|
| `/` | filter by title, tag, group or text (Esc clears) |
|
|
78
86
|
| `q` | quit |
|
|
@@ -87,13 +95,22 @@ To get new plugin versions on their own, turn on auto-update for the `rumo` mark
|
|
|
87
95
|
| `/rumo now` | List what is in progress, with the next step of each. |
|
|
88
96
|
| `/rumo find <text>` | Search past, current and future items. |
|
|
89
97
|
| `/rumo status` | Show where you left off on the linked item. |
|
|
90
|
-
| `/rumo step <text>` | Add a step to the linked item. |
|
|
98
|
+
| `/rumo step <text>` | Add a step to the linked item, or to the item it belongs to when none is linked. |
|
|
91
99
|
| `/rumo park [reason]` | Pause the item with an accurate "Left off" and stop updating it here. |
|
|
92
100
|
| `/rumo done` | Finish the item (checks the steps, asks first). |
|
|
93
101
|
| `/rumo unlink` | Stop updating the item from this session. |
|
|
102
|
+
| `/rumo sessions [7d]` | Catch up on the sessions open or active since the last review: create or update their items. |
|
|
103
|
+
|
|
104
|
+
`link`, `status`, `park`, `unlink` and `sessions` need Claude Code with the plugin, because they rely
|
|
105
|
+
on its session id and hook. Other agents get the rest.
|
|
94
106
|
|
|
95
|
-
|
|
96
|
-
|
|
107
|
+
`/rumo sessions` is for when you worked in several sessions without rumo. From any session, it reads
|
|
108
|
+
what each recent Claude Code session did (where it ran, what you asked, what it edited, the PRs it
|
|
109
|
+
opened) and matches it to an item: the one it is linked to, one that worked on the same branch, or one
|
|
110
|
+
about the same subject, before proposing a new item. Quick questions are proposed as ignored. You see
|
|
111
|
+
one short plan (update, link, create, ignore) and nothing is written until you say yes or adjust it.
|
|
112
|
+
Each review starts where the last one ended (3 days back the first time); `/rumo sessions 7d` looks
|
|
113
|
+
further back. Sessions run by scripts (`claude -p`) and in temporary folders are left out.
|
|
97
114
|
|
|
98
115
|
When you create an item or an idea, the agent checks whether it belongs to an existing group. If
|
|
99
116
|
other ungrouped items look like the same initiative, it suggests a new group (name and color) and
|
|
@@ -107,9 +124,24 @@ follow several topics: when you start something no linked item covers, the agent
|
|
|
107
124
|
track it as a new item, add it as a step, or leave it out. Left off is one line and Context at most
|
|
108
125
|
three. `/clear` starts a new, unlinked session; `claude --resume <id>` picks the old one up again.
|
|
109
126
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
it
|
|
127
|
+
You can add, edit, move, check and delete steps in the Timeline too. On your next message, a linked
|
|
128
|
+
session is told which steps changed since its last answer, so it neither redoes nor re-adds them, and
|
|
129
|
+
it starts none of them unless you ask. When the agent finishes a step and more remain, it ends with
|
|
130
|
+
the next one: an offer to start it, or a note that it is yours.
|
|
131
|
+
|
|
132
|
+
Each item lists its pull requests (GitHub, GitLab, Bitbucket or any other link) with their state:
|
|
133
|
+
open, draft, merged or closed. rumo finds them on its own: a PR a linked session opens (with
|
|
134
|
+
`gh pr create`, `glab mr create` or a tool that creates PRs) goes into its item at the end of the turn,
|
|
135
|
+
and while the Timeline is open, the GitHub CLI (`gh`, when installed and logged in) keeps their states
|
|
136
|
+
current and adds the PRs opened from the branches the item's sessions worked on. The agent updates a
|
|
137
|
+
state when it learns one, and you can add, edit, open and delete PRs in the Timeline too; a PR you
|
|
138
|
+
delete is never added back. The list shows how many PRs of each item are still open.
|
|
139
|
+
|
|
140
|
+
In a session without an item, the agent learns at the start what is in progress in that repository
|
|
141
|
+
(up to three items, with their next step), so it can answer "what is left?"; `rumo now` lists
|
|
142
|
+
everything in progress. Once that session edits files, the agent asks whether to track it. The first
|
|
143
|
+
time it also asks whether to keep asking in future sessions (`ask_to_track` in the config). If you
|
|
144
|
+
say no, it reminds you that the option exists every 15 days or 15 sessions.
|
|
113
145
|
|
|
114
146
|
## Item format
|
|
115
147
|
|
|
@@ -134,12 +166,17 @@ Users land on a protected page after logging out.
|
|
|
134
166
|
- [ ] [manual] Ask for a PR review
|
|
135
167
|
- [ ] [agent] e2e test for logout
|
|
136
168
|
|
|
169
|
+
## PRs
|
|
170
|
+
- [open] https://github.com/you/web-app/pull/42 Redirect home after logout
|
|
171
|
+
|
|
137
172
|
## Sessions
|
|
138
173
|
- 2026-10-11 10:08 | web-app (main) | 7134aad0-4ba6-4583-9503-c08e98d28270 | /Users/you/repo/web-app
|
|
139
174
|
```
|
|
140
175
|
|
|
141
176
|
- Statuses: `idea`, `doing`, `waiting`, `paused`, `done`. `done: <date>` is set when an item is finished.
|
|
142
177
|
- Steps are `[agent]` (the AI can do it) or `[manual]` (you or someone else does it).
|
|
178
|
+
- PRs are one link per line, with the state in brackets (`open`, `draft`, `merged`, `closed`; none when
|
|
179
|
+
unknown) and an optional title after the link.
|
|
143
180
|
- An idea can be just the frontmatter; it grows when you start working on it.
|
|
144
181
|
- A session line ending in `| closed` no longer updates the item.
|
|
145
182
|
|