@flowmind/cli 0.3.1 → 0.3.3
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 +21 -0
- package/README.md +18 -3
- package/dist/flowmind/SKILL.md +29 -2
- package/dist/index.js +2647 -2322
- package/package.json +2 -1
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`).
|
|
@@ -88,13 +91,25 @@ AI confirmation time. Run `fm log --help` for all options.
|
|
|
88
91
|
## Stage an agent proof
|
|
89
92
|
|
|
90
93
|
Agents stage completed work for explicit human approval. In a linked repository with the session
|
|
91
|
-
hooks installed, the intention and outcome are enough
|
|
94
|
+
hooks installed, the intention and outcome are enough. Write the outcome as one line of at most
|
|
95
|
+
120 characters: what changed for the project or its users. Add up to three optional `--detail`
|
|
96
|
+
values for proof or open items. Each detail must be one line of at most 100 characters.
|
|
97
|
+
Keep commits, runs, paths, and open items in details or use `--artifact-url` for the proof link.
|
|
98
|
+
|
|
99
|
+
For example:
|
|
92
100
|
|
|
93
101
|
```sh
|
|
94
|
-
flowmind agent stage --intention "
|
|
95
|
-
--
|
|
102
|
+
flowmind agent stage --intention "Fix CLI sign-in" \
|
|
103
|
+
--outcome "Signed-out CLI sign-in now returns to Authorize CLI" --detail "Cause: Supabase rejected the www callbacks" --detail "Still needs: deploy approval" \
|
|
104
|
+
--json
|
|
96
105
|
```
|
|
97
106
|
|
|
107
|
+
If a proof breaks these rules, the CLI rejects it before any request. The error says exactly
|
|
108
|
+
what to shorten or split and includes the worked example above. In `--json` mode, stderr contains
|
|
109
|
+
an `error` message and an `issues` list. API rejections retain the server's exact message.
|
|
110
|
+
Existing long notes remain readable; this rule applies to new proofs. `agent proposals` shows
|
|
111
|
+
details as indented bullets, and `--json` includes the API's details unchanged.
|
|
112
|
+
|
|
98
113
|
The CLI reads the project from `.flowmind.json` and the session from `CODEX_THREAD_ID` or the one
|
|
99
114
|
session with a turn in progress in the repository. The duration is the main agent's recorded turn
|
|
100
115
|
time since the session's last staged proof, in whole minutes; the remaining seconds carry over to
|
package/dist/flowmind/SKILL.md
CHANGED
|
@@ -49,7 +49,7 @@ To find gaps across the user's folders, run `flowmind link --scan <dir...>`. It
|
|
|
49
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
|
-
flowmind agent stage --intention "<what you set out to do>" --outcome "<what changed or
|
|
52
|
+
flowmind agent stage --intention "<what you set out to do>" --outcome "<one line: what changed>" --detail "<proof or open item>" --artifact-url <commit, PR, or document URL> --json
|
|
53
53
|
```
|
|
54
54
|
|
|
55
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.
|
|
@@ -60,10 +60,37 @@ flowmind agent stage --intention "<what you set out to do>" --outcome "<what cha
|
|
|
60
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.
|
|
61
61
|
- Add `--dry-run` to preview the project and minutes without staging.
|
|
62
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.
|
|
63
|
-
- Write the intention and the outcome as one short sentence each. Never paste transcripts, terminal output, commit messages, issue titles, emails, or secrets.
|
|
64
63
|
- Share `proposal.webReviewUrl` with the user. The user approves staged work in Flowmind Activity; **Approve all with links** approves every item with an artifact link at once. Approved agent time counts on the project, not as the user's personal effort or XP.
|
|
65
64
|
- If staging fails, report the error. Never fall back to `flowmind log`, and never approve your own proposals.
|
|
66
65
|
|
|
66
|
+
### Write the proof for a person
|
|
67
|
+
|
|
68
|
+
The user reads many proofs at once, often on a dashboard. Keep each one short:
|
|
69
|
+
|
|
70
|
+
- `--intention`: what you set out to do, in one short sentence.
|
|
71
|
+
- `--outcome`: one line of at most 120 characters that says what changed for the project or its users. Lead with the result, not the method.
|
|
72
|
+
- `--detail`: optional, at most 3, each one line of at most 100 characters. Use details for proof (cause, check, version) and for anything still open ("Still needs: ..."). Repeat the flag for each detail.
|
|
73
|
+
- Put the commit, PR, or document in `--artifact-url`, not in the text.
|
|
74
|
+
- Never paste transcripts, terminal output, commit messages, issue titles, emails, or secrets.
|
|
75
|
+
|
|
76
|
+
The CLI and the API reject a proof that breaks these limits and say what to change. Shorten the text and stage again.
|
|
77
|
+
|
|
78
|
+
Good:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
flowmind agent stage --intention "Fix CLI sign-in for signed-out users" \
|
|
82
|
+
--outcome "Signed-out CLI sign-in now returns to Authorize CLI" \
|
|
83
|
+
--detail "Cause: production Supabase rejected the www callbacks" \
|
|
84
|
+
--detail "Still needs: Supabase URL settings and deploy approval" \
|
|
85
|
+
--artifact-url https://github.com/<owner>/<repo>/commit/<sha> --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Rejected, because the outcome is a paragraph:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
--outcome "Found that production Supabase rejects every www sign-in callback and falls back to the apex domain, so Google and GitHub sign-in land on the home page signed out. Changed the web app so a signed-out CLI link goes to /login ..."
|
|
92
|
+
```
|
|
93
|
+
|
|
67
94
|
## Log the user's own work
|
|
68
95
|
|
|
69
96
|
Use `flowmind log` only when the user asks you to log work that they did themselves:
|