hex-agents-cli 0.1.2__py3-none-macosx_11_0_arm64.whl

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.
Binary file
@@ -0,0 +1,155 @@
1
+ Metadata-Version: 2.4
2
+ Name: hex-agents-cli
3
+ Version: 0.1.2
4
+ Classifier: Environment :: Console
5
+ Classifier: Operating System :: MacOS
6
+ Classifier: Operating System :: POSIX :: Linux
7
+ Classifier: Programming Language :: Rust
8
+ License-File: LICENSE
9
+ Summary: A thin, deterministic control plane for agentic loops and graphs
10
+ Home-Page: https://github.com/k4black/hex
11
+ License-Expression: MIT
12
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
13
+ Project-URL: Repository, https://github.com/k4black/hex
14
+
15
+ # hex
16
+
17
+ **Run the coding-agent CLIs you already use in bounded, resumable, journaled loops.**
18
+
19
+ ## Install
20
+
21
+ macOS and Linux (arm64 and x86_64). On Windows, use WSL.
22
+
23
+ ```sh
24
+ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/k4black/hex/releases/latest/download/hex-cli-installer.sh | sh
25
+ brew install k4black/tap/hex-cli
26
+ uv tool install hex-agents-cli # or: pipx install hex-agents-cli
27
+ npm install -g @k4black/hex-cli
28
+ cargo binstall hex-cli # or: cargo install hex-cli
29
+ mise use -g github:k4black/hex
30
+ ```
31
+
32
+ ## Setup
33
+
34
+ Run these from the repository root:
35
+
36
+ ```sh
37
+ hex init # creates .hex/, a project config, ~/.config/hex/config.yaml
38
+ hex doctor # checks that agent CLIs, models and checks are usable
39
+ hex skill install # installs the /hex skill for your agents
40
+ ```
41
+
42
+ - `hex skill install` writes `~/.claude/skills/hex` and `~/.agents/skills/hex`.
43
+ hex keeps the skill in sync with the binary.
44
+ - Alternative: `npx skills add k4black/hex`.
45
+
46
+ ## First run
47
+
48
+ ```sh
49
+ hex run critique-loop -p "fix the flaky auth test"
50
+ ```
51
+
52
+ - One agent implements. A different model reviews. The loop stops when the reviewer approves or a bound runs out.
53
+ - `hex run` blocks. To watch from another terminal:
54
+ - `hex runs` lists runs and their ids.
55
+ - `hex status <run>` shows the current node, the in-flight attempt and the spend.
56
+ - `hex logs <run> --follow` streams the agent output.
57
+ - `hex steer <run> "use the v2 API"` guides the next attempt.
58
+ - Ctrl-C pauses the run. `hex resume <run>` continues it.
59
+ - `hex list` shows the presets. `hex graph <preset>` shows one.
60
+ - Exit codes: `0` succeeded · `1` failed · `2` usage or config error · `3` timed out · `4` budget exhausted · `5` cancelled · `6` paused.
61
+
62
+ ## Supported agents
63
+
64
+ - Codex (`codex`)
65
+ - Claude Code (`claude`)
66
+ - pi (`pi`)
67
+ - opencode (`opencode`)
68
+ - Any other CLI through a `kind: command` worker.
69
+
70
+ ## Customize
71
+
72
+ Config layers deep-merge per key: built-in, then `~/.config/hex/config.yaml`, then `.hex/config.yaml`.
73
+
74
+ **Graphs.** A graph is one YAML file. A file in `.hex/graphs/<name>.yaml` overrides a preset of the same name.
75
+ Copy a preset to start: `hex graph critique-loop --format source > .hex/graphs/my-loop.yaml`.
76
+ Check it with `hex validate my-loop`.
77
+
78
+ <!-- A loader test requires the first yaml block in this file to be a valid graph. -->
79
+ ```yaml
80
+ version: 1
81
+ name: fix-until-green
82
+ entry: implement
83
+ defaults: { role: implementer }
84
+ nodes:
85
+ implement:
86
+ agent: { prompt: "{{prompt}}", context: continue }
87
+ on: { done: test }
88
+ test:
89
+ command: { check: test }
90
+ on: { passed: done, failed: implement }
91
+ done:
92
+ terminal: succeeded
93
+ accept:
94
+ require: [test.passed]
95
+ ```
96
+
97
+ **Checks.** A check says what "green" means in this project. The list is empty by default.
98
+ A graph that names an undeclared check does not start.
99
+
100
+ ```yaml
101
+ checks:
102
+ test: [cargo, test, --workspace]
103
+ ```
104
+
105
+ **Roles.** A graph names a role. A role binds a worker, a model and an effort.
106
+ By default claude implements and codex reviews, each on its CLI's default model.
107
+
108
+ ```yaml
109
+ roles:
110
+ implementer: { worker: claude, model: claude-opus-5, effort: high }
111
+ reviewer: { worker: codex, model: gpt-6-sol }
112
+ ```
113
+
114
+ ---
115
+
116
+ ## How it works
117
+
118
+ ```mermaid
119
+ flowchart LR
120
+ G[Graph YAML] --> K[kernel: reduce + schedule]
121
+ K -- effect intents --> R[runtime]
122
+ R -- runs one agent --> W[worker: codex / claude / pi / opencode]
123
+ W -- VERDICT line --> R
124
+ R -- append event --> J[(journal)]
125
+ J -- fold --> K
126
+ ```
127
+
128
+ - **The journal is authoritative.** Each state change is an append-only event.
129
+ hex computes the current state from the journal. `resume` rebuilds a run from it after a pause or a crash.
130
+ - **Routing is deterministic.** An agent with several outcomes ends its final message with `VERDICT: <signal>`.
131
+ The signal must be in the node's `may_propose` list. Edges pick the next node. Routing spends no tokens.
132
+ - **Every loop is bounded.** Each node has a visit bound (default 5). Each attempt has a time bound (default 30m).
133
+ The run also has elapsed and output-token bounds.
134
+ - **Gates decide "done".** An agent's "done" is a proposal. `accept.require` names the evidence a success needs,
135
+ for example `[test.passed]` or `[review.approved]`.
136
+ - **Two verbs execute.** `run` starts a new run. `resume` continues the same run. To redo work, start a new run.
137
+ - Four node kinds: `agent`, `command`, `human`, `terminal`.
138
+
139
+ Status: the core loop works and runs on this repo. [TODO.md](TODO.md) lists what is open.
140
+
141
+ ---
142
+
143
+ ## Contributing
144
+
145
+ ```sh
146
+ cargo build --workspace
147
+ cargo test --workspace
148
+ cargo clippy --workspace --all-targets
149
+ cargo fmt --all
150
+ ```
151
+
152
+ - Open PRs against `main`. Use [Conventional Commits](https://www.conventionalcommits.org/) for titles and commits.
153
+ - release-plz automates releases. See [docs/releasing.md](docs/releasing.md).
154
+ - [AGENTS.md](AGENTS.md) describes the architecture, the core rules and the terminology.
155
+
@@ -0,0 +1,6 @@
1
+ hex_agents_cli-0.1.2.data/scripts/hex,sha256=uqWk9fg2KAG3pjkq42MQyyERhfTu_AOcX6CY8I9Ds0M,3000752
2
+ hex_agents_cli-0.1.2.dist-info/METADATA,sha256=jiTEJpv7EpDJLPZcz_Y7u6hv-gLrZCx0EKOQ_BzKnaU,5383
3
+ hex_agents_cli-0.1.2.dist-info/WHEEL,sha256=U927pSLvWHh5eaqcN5v72CdMm-HUWF344fKLe8HhSOU,102
4
+ hex_agents_cli-0.1.2.dist-info/licenses/LICENSE,sha256=KP1_QF57I6ebaHzqP8OHqrEFC0l_M2WaIs7uVygCG8s,1078
5
+ hex_agents_cli-0.1.2.dist-info/sboms/hex-cli.cyclonedx.json,sha256=aCt__M4AMeV_a_P6G6u-9pMsTQEiAYWeaU_HeNk6HTM,145357
6
+ hex_agents_cli-0.1.2.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.15.0)
3
+ Root-Is-Purelib: false
4
+ Tag: py3-none-macosx_11_0_arm64
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Konstantin Chernyshev
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.