rumo-cli 0.2.2__tar.gz → 0.4.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rumo-cli
3
- Version: 0.2.2
3
+ Version: 0.4.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
@@ -33,7 +33,7 @@ Timeline, and let your AI agent sessions keep it up to date while you work.
33
33
 
34
34
  Items can belong to a **group** (a project or initiative), shown as a label with its name on its
35
35
  color; color in rumo only ever means the group. One item is one line, plus its next step. rumo shows
36
- one horizon at a time (Now, or Past with `p`, or Later with `l`) in three views: the **Timeline**,
36
+ one horizon at a time (`h` steps Now, Later, Past), named in a banner atop the list, in three views: the **Timeline**,
37
37
  **Projects** (one block per group) and **Repos** (one block per repository of the item's latest
38
38
  agent session). The interface is in English; the content (titles, notes, steps) is in your own
39
39
  language.
@@ -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
 
@@ -71,7 +75,9 @@ system language.
71
75
  ```
72
76
 
73
77
  **Update**: `uv tool upgrade rumo-cli` (or `pipx upgrade rumo-cli`, `brew upgrade rumo`), and
74
- `/plugin marketplace update rumo` in Claude Code.
78
+ `/plugin marketplace update rumo` in Claude Code, then `/reload-plugins` in sessions already open.
79
+ To get new plugin versions on their own, turn on auto-update for the `rumo` marketplace in `/plugin`
80
+ (Marketplaces tab); the `rumo` command updates with your package manager.
75
81
 
76
82
  **Uninstall**: `/plugin uninstall rumo@rumo`, then `uv tool uninstall rumo-cli` (or
77
83
  `pipx uninstall rumo-cli`, `brew uninstall rumo`). Your items in `~/rumo/` are never touched.
@@ -83,15 +89,19 @@ system language.
83
89
  | Key | Action |
84
90
  |---|---|
85
91
  | ↑ ↓ | move through the list |
86
- | Tab | switch between the list, steps and sessions |
92
+ | Tab | switch between the list, steps, PRs and sessions |
87
93
  | `v` | next view: Timeline, Projects, Repos (`1` `2` `3` go straight to one; rumo remembers it) |
88
- | `p` / `l` | show Past / Later; press again to go back to Now |
94
+ | `h` | next horizon: Now, then Later, then Past, then Now again |
89
95
  | `s` | change status (1-5 picks directly) |
90
96
  | `g` | set the group or create one; inside, `r` renames, `c` recolors and `d` deletes the highlighted group (its items stay) |
91
97
  | `t` | toggle tags |
92
98
  | `n` | capture a new idea |
93
99
  | `e` | open the item in `$EDITOR` |
94
- | space | check or uncheck the selected step |
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) |
95
105
  | `c` | copy the command that resumes the selected agent session |
96
106
  | `/` | filter by title, tag, group or text (Esc clears) |
97
107
  | `q` | quit |
@@ -106,12 +116,12 @@ system language.
106
116
  | `/rumo now` | List what is in progress, with the next step of each. |
107
117
  | `/rumo find <text>` | Search past, current and future items. |
108
118
  | `/rumo status` | Show where you left off on the linked item. |
109
- | `/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. |
110
120
  | `/rumo park [reason]` | Pause the item with an accurate "Left off" and stop updating it here. |
111
121
  | `/rumo done` | Finish the item (checks the steps, asks first). |
112
122
  | `/rumo unlink` | Stop updating the item from this session. |
113
123
 
114
- `link`, `status`, `step`, `park` and `unlink` need Claude Code with the plugin, because they rely on
124
+ `link`, `status`, `park` and `unlink` need Claude Code with the plugin, because they rely on
115
125
  its session id and hook. Other agents get the rest.
116
126
 
117
127
  When you create an item or an idea, the agent checks whether it belongs to an existing group. If
@@ -120,8 +130,30 @@ applies it only if you agree.
120
130
 
121
131
  Steps are the heart of an item: while a session is linked, the agent checks off what got done, adds
122
132
  what came up and keeps the next action as the first open step, after every response in which work
123
- happened. Left off is one line and Context at most three. `/clear` starts a new, unlinked session;
124
- `claude --resume <id>` picks the old one up again.
133
+ happened. If a turn did work and no linked item changed, the plugin reminds the agent before the turn
134
+ ends. Open steps are never deleted unless you ask, so half-done work stays in Now. One session can
135
+ follow several topics: when you start something no linked item covers, the agent asks once whether to
136
+ track it as a new item, add it as a step, or leave it out. Left off is one line and Context at most
137
+ three. `/clear` starts a new, unlinked session; `claude --resume <id>` picks the old one up again.
138
+
139
+ You can add, edit, move, check and delete steps in the Timeline too. On your next message, a linked
140
+ session is told which steps changed since its last answer, so it neither redoes nor re-adds them, and
141
+ it starts none of them unless you ask. When the agent finishes a step and more remain, it ends with
142
+ the next one: an offer to start it, or a note that it is yours.
143
+
144
+ Each item lists its pull requests (GitHub, GitLab, Bitbucket or any other link) with their state:
145
+ open, draft, merged or closed. rumo finds them on its own: a PR a linked session opens (with
146
+ `gh pr create`, `glab mr create` or a tool that creates PRs) goes into its item at the end of the turn,
147
+ and while the Timeline is open, the GitHub CLI (`gh`, when installed and logged in) keeps their states
148
+ current and adds the PRs opened from the branches the item's sessions worked on. The agent updates a
149
+ state when it learns one, and you can add, edit, open and delete PRs in the Timeline too; a PR you
150
+ delete is never added back. The list shows how many PRs of each item are still open.
151
+
152
+ In a session without an item, the agent learns at the start what is in progress in that repository
153
+ (up to three items, with their next step), so it can answer "what is left?"; `rumo now` lists
154
+ everything in progress. Once that session edits files, the agent asks whether to track it. The first
155
+ time it also asks whether to keep asking in future sessions (`ask_to_track` in the config). If you
156
+ say no, it reminds you that the option exists every 15 days or 15 sessions.
125
157
 
126
158
  ## Item format
127
159
 
@@ -146,12 +178,17 @@ Users land on a protected page after logging out.
146
178
  - [ ] [manual] Ask for a PR review
147
179
  - [ ] [agent] e2e test for logout
148
180
 
181
+ ## PRs
182
+ - [open] https://github.com/you/web-app/pull/42 Redirect home after logout
183
+
149
184
  ## Sessions
150
185
  - 2026-10-11 10:08 | web-app (main) | 7134aad0-4ba6-4583-9503-c08e98d28270 | /Users/you/repo/web-app
151
186
  ```
152
187
 
153
188
  - Statuses: `idea`, `doing`, `waiting`, `paused`, `done`. `done: <date>` is set when an item is finished.
154
189
  - Steps are `[agent]` (the AI can do it) or `[manual]` (you or someone else does it).
190
+ - PRs are one link per line, with the state in brackets (`open`, `draft`, `merged`, `closed`; none when
191
+ unknown) and an optional title after the link.
155
192
  - An idea can be just the frontmatter; it grows when you start working on it.
156
193
  - A session line ending in `| closed` no longer updates the item.
157
194
 
@@ -165,14 +202,15 @@ folder = "~/rumo"
165
202
  language = "pt-BR" # language of the content the agent writes; defaults to your system language
166
203
  tags = ["bug", "feature", "refactor", "research", "spike", "review",
167
204
  "infra", "deploy", "meeting", "docs", "support", "tech-debt"]
205
+ ask_to_track = true # offer rumo in agent sessions without an item; unset until you first answer
168
206
 
169
207
  [groups.auth]
170
208
  name = "Auth migration"
171
209
  color = "blue" # blue, green, yellow, orange, red, magenta, purple, cyan
172
210
  ```
173
211
 
174
- Groups appear in the order of this file in every view. The last view is remembered in
175
- `state.json`, next to `config.toml`.
212
+ Groups appear in the order of this file in every view. The last view, and when the agent last
213
+ asked about tracking, are remembered in `state.json`, next to `config.toml`.
176
214
 
177
215
  `RUMO_DIR` and `RUMO_CONFIG` override the folder and the config path.
178
216
 
@@ -12,7 +12,7 @@ Timeline, and let your AI agent sessions keep it up to date while you work.
12
12
 
13
13
  Items can belong to a **group** (a project or initiative), shown as a label with its name on its
14
14
  color; color in rumo only ever means the group. One item is one line, plus its next step. rumo shows
15
- one horizon at a time (Now, or Past with `p`, or Later with `l`) in three views: the **Timeline**,
15
+ one horizon at a time (`h` steps Now, Later, Past), named in a banner atop the list, in three views: the **Timeline**,
16
16
  **Projects** (one block per group) and **Repos** (one block per repository of the item's latest
17
17
  agent session). The interface is in English; the content (titles, notes, steps) is in your own
18
18
  language.
@@ -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
 
@@ -50,7 +54,9 @@ system language.
50
54
  ```
51
55
 
52
56
  **Update**: `uv tool upgrade rumo-cli` (or `pipx upgrade rumo-cli`, `brew upgrade rumo`), and
53
- `/plugin marketplace update rumo` in Claude Code.
57
+ `/plugin marketplace update rumo` in Claude Code, then `/reload-plugins` in sessions already open.
58
+ To get new plugin versions on their own, turn on auto-update for the `rumo` marketplace in `/plugin`
59
+ (Marketplaces tab); the `rumo` command updates with your package manager.
54
60
 
55
61
  **Uninstall**: `/plugin uninstall rumo@rumo`, then `uv tool uninstall rumo-cli` (or
56
62
  `pipx uninstall rumo-cli`, `brew uninstall rumo`). Your items in `~/rumo/` are never touched.
@@ -62,15 +68,19 @@ system language.
62
68
  | Key | Action |
63
69
  |---|---|
64
70
  | ↑ ↓ | move through the list |
65
- | Tab | switch between the list, steps and sessions |
71
+ | Tab | switch between the list, steps, PRs and sessions |
66
72
  | `v` | next view: Timeline, Projects, Repos (`1` `2` `3` go straight to one; rumo remembers it) |
67
- | `p` / `l` | show Past / Later; press again to go back to Now |
73
+ | `h` | next horizon: Now, then Later, then Past, then Now again |
68
74
  | `s` | change status (1-5 picks directly) |
69
75
  | `g` | set the group or create one; inside, `r` renames, `c` recolors and `d` deletes the highlighted group (its items stay) |
70
76
  | `t` | toggle tags |
71
77
  | `n` | capture a new idea |
72
78
  | `e` | open the item in `$EDITOR` |
73
- | space | check or uncheck the selected step |
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) |
74
84
  | `c` | copy the command that resumes the selected agent session |
75
85
  | `/` | filter by title, tag, group or text (Esc clears) |
76
86
  | `q` | quit |
@@ -85,12 +95,12 @@ system language.
85
95
  | `/rumo now` | List what is in progress, with the next step of each. |
86
96
  | `/rumo find <text>` | Search past, current and future items. |
87
97
  | `/rumo status` | Show where you left off on the linked item. |
88
- | `/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. |
89
99
  | `/rumo park [reason]` | Pause the item with an accurate "Left off" and stop updating it here. |
90
100
  | `/rumo done` | Finish the item (checks the steps, asks first). |
91
101
  | `/rumo unlink` | Stop updating the item from this session. |
92
102
 
93
- `link`, `status`, `step`, `park` and `unlink` need Claude Code with the plugin, because they rely on
103
+ `link`, `status`, `park` and `unlink` need Claude Code with the plugin, because they rely on
94
104
  its session id and hook. Other agents get the rest.
95
105
 
96
106
  When you create an item or an idea, the agent checks whether it belongs to an existing group. If
@@ -99,8 +109,30 @@ applies it only if you agree.
99
109
 
100
110
  Steps are the heart of an item: while a session is linked, the agent checks off what got done, adds
101
111
  what came up and keeps the next action as the first open step, after every response in which work
102
- happened. Left off is one line and Context at most three. `/clear` starts a new, unlinked session;
103
- `claude --resume <id>` picks the old one up again.
112
+ happened. If a turn did work and no linked item changed, the plugin reminds the agent before the turn
113
+ ends. Open steps are never deleted unless you ask, so half-done work stays in Now. One session can
114
+ follow several topics: when you start something no linked item covers, the agent asks once whether to
115
+ track it as a new item, add it as a step, or leave it out. Left off is one line and Context at most
116
+ three. `/clear` starts a new, unlinked session; `claude --resume <id>` picks the old one up again.
117
+
118
+ You can add, edit, move, check and delete steps in the Timeline too. On your next message, a linked
119
+ session is told which steps changed since its last answer, so it neither redoes nor re-adds them, and
120
+ it starts none of them unless you ask. When the agent finishes a step and more remain, it ends with
121
+ the next one: an offer to start it, or a note that it is yours.
122
+
123
+ Each item lists its pull requests (GitHub, GitLab, Bitbucket or any other link) with their state:
124
+ open, draft, merged or closed. rumo finds them on its own: a PR a linked session opens (with
125
+ `gh pr create`, `glab mr create` or a tool that creates PRs) goes into its item at the end of the turn,
126
+ and while the Timeline is open, the GitHub CLI (`gh`, when installed and logged in) keeps their states
127
+ current and adds the PRs opened from the branches the item's sessions worked on. The agent updates a
128
+ state when it learns one, and you can add, edit, open and delete PRs in the Timeline too; a PR you
129
+ delete is never added back. The list shows how many PRs of each item are still open.
130
+
131
+ In a session without an item, the agent learns at the start what is in progress in that repository
132
+ (up to three items, with their next step), so it can answer "what is left?"; `rumo now` lists
133
+ everything in progress. Once that session edits files, the agent asks whether to track it. The first
134
+ time it also asks whether to keep asking in future sessions (`ask_to_track` in the config). If you
135
+ say no, it reminds you that the option exists every 15 days or 15 sessions.
104
136
 
105
137
  ## Item format
106
138
 
@@ -125,12 +157,17 @@ Users land on a protected page after logging out.
125
157
  - [ ] [manual] Ask for a PR review
126
158
  - [ ] [agent] e2e test for logout
127
159
 
160
+ ## PRs
161
+ - [open] https://github.com/you/web-app/pull/42 Redirect home after logout
162
+
128
163
  ## Sessions
129
164
  - 2026-10-11 10:08 | web-app (main) | 7134aad0-4ba6-4583-9503-c08e98d28270 | /Users/you/repo/web-app
130
165
  ```
131
166
 
132
167
  - Statuses: `idea`, `doing`, `waiting`, `paused`, `done`. `done: <date>` is set when an item is finished.
133
168
  - Steps are `[agent]` (the AI can do it) or `[manual]` (you or someone else does it).
169
+ - PRs are one link per line, with the state in brackets (`open`, `draft`, `merged`, `closed`; none when
170
+ unknown) and an optional title after the link.
134
171
  - An idea can be just the frontmatter; it grows when you start working on it.
135
172
  - A session line ending in `| closed` no longer updates the item.
136
173
 
@@ -144,14 +181,15 @@ folder = "~/rumo"
144
181
  language = "pt-BR" # language of the content the agent writes; defaults to your system language
145
182
  tags = ["bug", "feature", "refactor", "research", "spike", "review",
146
183
  "infra", "deploy", "meeting", "docs", "support", "tech-debt"]
184
+ ask_to_track = true # offer rumo in agent sessions without an item; unset until you first answer
147
185
 
148
186
  [groups.auth]
149
187
  name = "Auth migration"
150
188
  color = "blue" # blue, green, yellow, orange, red, magenta, purple, cyan
151
189
  ```
152
190
 
153
- Groups appear in the order of this file in every view. The last view is remembered in
154
- `state.json`, next to `config.toml`.
191
+ Groups appear in the order of this file in every view. The last view, and when the agent last
192
+ asked about tracking, are remembered in `state.json`, next to `config.toml`.
155
193
 
156
194
  `RUMO_DIR` and `RUMO_CONFIG` override the folder and the config path.
157
195
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rumo-cli"
3
- version = "0.2.2"
3
+ version = "0.4.0"
4
4
  description = "Your dev work, past, now and later: Markdown files, a terminal Timeline, and AI agents that keep it current"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"