@flowmind/cli 0.3.0 → 0.3.2

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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Abdullah Faruk Gonullu
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -13,6 +13,9 @@ flowmind hooks install
13
13
 
14
14
  `hooks install` copies the Flowmind skill to Codex and Claude Code and adds session hooks to
15
15
  `~/.codex/hooks.json` and `~/.claude/settings.json`. Other hooks in those files stay as they are.
16
+ When the Flowmind Claude Code plugin (`flowmind@flowmind` from `afgonullu/flowmind-skill`) is
17
+ installed and enabled, the plugin provides the skill in Claude Code: `hooks install` writes no
18
+ copy to `~/.claude/skills`, removes an unmodified copy it wrote earlier, and still adds the hooks.
16
19
  The hooks run `agent hook` through the absolute paths of the installing Node binary and CLI file,
17
20
  because hooks start without your shell profile and a version manager may not put `node` on PATH.
18
21
  Codex on Windows gets a PowerShell command (`& '<node>' '<cli>' agent hook --agent codex`).
@@ -96,9 +99,13 @@ flowmind agent stage --intention "Finish the reader" --outcome "Shipped the read
96
99
  ```
97
100
 
98
101
  The CLI reads the project from `.flowmind.json` and the session from `CODEX_THREAD_ID` or the one
99
- session with a turn in progress in the repository. The duration is the recorded agent turn time
100
- since the session's last staged proof; idle time between turns does not count. Fewer than one
101
- recorded minute is an error. The source kind is `codex` or `claude_code` from the recording host.
102
+ session with a turn in progress in the repository. The duration is the main agent's recorded turn
103
+ time since the session's last staged proof, in whole minutes; the remaining seconds carry over to
104
+ the next proof. Idle time between turns does not count, and neither does sleep: the hooks read the
105
+ awake clock that Codex uses for "Worked for". Subagent prompts never start a turn, because the main
106
+ agent's turn already contains their work. When nothing new is recorded, or when a Codex subagent
107
+ calls the command, it stages nothing, prints `"staged": false` with a `reason` and a `message`,
108
+ and exits 0. The source kind is `codex` or `claude_code` from the recording host.
102
109
  `--dry-run` prints the request and its retry key without staging anything.
103
110
 
104
111
  Without hooks, pass observed values:
@@ -46,13 +46,17 @@ To find gaps across the user's folders, run `flowmind link --scan <dir...>`. It
46
46
 
47
47
  ## Log agent work
48
48
 
49
- In a linked repository, the session hooks record how long each agent turn runs. When you finish a material unit of work, such as a feature, fix, investigation, or document, stage it. Do not stage every turn.
49
+ In a linked repository, the session hooks record how long the main agent's turns run. When you finish a material unit of work, such as a feature, fix, investigation, or document, stage it before you start the next one. Do not stage every turn.
50
50
 
51
51
  ```bash
52
52
  flowmind agent stage --intention "<what you set out to do>" --outcome "<what changed or shipped>" --artifact-url <commit, PR, or document URL> --json
53
53
  ```
54
54
 
55
- - The CLI reads the project from `.flowmind.json` and the time from the session record. A second stage in the same session covers only the time after the first.
55
+ - The CLI reads the project from `.flowmind.json` and the time from the session record. The time is the main agent's turn time on the awake clock that Codex uses for "Worked for", so sleep does not count. It includes the time that subagents work during the turn.
56
+ - A stage covers the whole minutes since the session's last proof. The remaining seconds carry over to the next proof.
57
+ - When several units of work finish together, stage them as one proof that names them all. A second stage right after the first has no new time.
58
+ - Subagents do not stage. In a Codex subagent, `flowmind agent stage` stages nothing and tells the subagent to report its outcome to the main agent.
59
+ - `"staged": false` in the JSON output means that nothing was staged, and it is not an error. `reason` is `no-new-time` when the last proof (`lastProposalId`) already holds the session's time, or `subagent`. Tell the user which proof covers the work.
56
60
  - After 20 minutes of unstaged agent time, each prompt in a linked repository carries a reminder with the unstaged minutes. Stage when the current unit of work is complete; a stage with explicit times also resets the count.
57
61
  - Add `--dry-run` to preview the project and minutes without staging.
58
62
  - Pass `--project`, `--minutes`, and `--started-at` only when no session record exists. Use observed times only. Never estimate time from tokens or tool calls.