phonton-cli 0.4.0 → 0.4.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/README.md +10 -9
- package/npm/test-wrapper.js +41 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<img src="assets/readme/phonton-cli-logo.png" width="112" alt="Phonton CLI logo">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">Phonton CLI · v0.4.
|
|
5
|
+
<h1 align="center">Phonton CLI · v0.4.2</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<strong>Verified code changes with repo memory.</strong><br>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<p align="center">
|
|
13
13
|
<a href="https://github.com/phonton-dev/phonton-cli/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/phonton-dev/phonton-cli/actions/workflows/ci.yml/badge.svg"></a>
|
|
14
14
|
<a href="https://github.com/phonton-dev/phonton-cli/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/phonton-dev/phonton-cli?style=flat&label=stars"></a>
|
|
15
|
-
<img alt="release" src="https://img.shields.io/badge/release-v0.4.
|
|
15
|
+
<img alt="release" src="https://img.shields.io/badge/release-v0.4.2-6c63ff">
|
|
16
16
|
<img alt="license" src="https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue">
|
|
17
17
|
<img alt="status" src="https://img.shields.io/badge/status-public_alpha-f97316">
|
|
18
18
|
</p>
|
|
@@ -41,7 +41,7 @@ flowchart LR
|
|
|
41
41
|
F --> B
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
That gives Phonton a different shape from an IDE assistant or a terminal
|
|
44
|
+
That gives Phonton a different shape from an IDE assistant or a chat-first terminal assistant:
|
|
45
45
|
|
|
46
46
|
- **Review first:** plans and diffs are first-class surfaces, not buried in a conversation.
|
|
47
47
|
- **Verification first:** generated work is expected to pass checks before it is treated as ready.
|
|
@@ -52,6 +52,7 @@ That gives Phonton a different shape from an IDE assistant or a terminal chatbot
|
|
|
52
52
|
## What Works Today
|
|
53
53
|
|
|
54
54
|
- Interactive Ratatui TUI with goal, task, ask, settings, git, and flight-log surfaces.
|
|
55
|
+
- Saved workspace sessions: use `phonton -r` or `phonton --resume` to reopen the last saved TUI conversation for the current repo.
|
|
55
56
|
- `phonton doctor` setup diagnostics for config, provider key, store, trust, git, cargo, and Nexus config.
|
|
56
57
|
- `phonton plan` preview for task DAGs before edits happen.
|
|
57
58
|
- `phonton review` surfaces for verified diff review payloads, approvals, rejections, and rollback.
|
|
@@ -102,7 +103,7 @@ Windows PowerShell:
|
|
|
102
103
|
Direct Cargo install:
|
|
103
104
|
|
|
104
105
|
```bash
|
|
105
|
-
cargo install --git https://github.com/phonton-dev/phonton-cli --tag v0.4.
|
|
106
|
+
cargo install --git https://github.com/phonton-dev/phonton-cli --tag v0.4.2 phonton-cli --locked --force
|
|
106
107
|
```
|
|
107
108
|
|
|
108
109
|
Check the install:
|
|
@@ -118,7 +119,7 @@ Phonton uses GitHub branches and releases as install channels:
|
|
|
118
119
|
|
|
119
120
|
| Channel | Install | Use when |
|
|
120
121
|
|---|---|---|
|
|
121
|
-
| Stable | `cargo install --git https://github.com/phonton-dev/phonton-cli --tag v0.4.
|
|
122
|
+
| Stable | `cargo install --git https://github.com/phonton-dev/phonton-cli --tag v0.4.2 phonton-cli --locked --force` | You want the best validated public alpha |
|
|
122
123
|
| Dev | `cargo install --git https://github.com/phonton-dev/phonton-cli --branch dev phonton-cli --locked --force` | You want next-release integration changes |
|
|
123
124
|
| Nightly | `cargo install --git https://github.com/phonton-dev/phonton-cli --branch nightly phonton-cli --locked --force` | You want daily snapshots and can tolerate breakage |
|
|
124
125
|
| Main | `cargo install --git https://github.com/phonton-dev/phonton-cli --branch main phonton-cli --locked --force` | You want the current release branch tip |
|
|
@@ -199,6 +200,7 @@ phonton doctor --provider
|
|
|
199
200
|
|
|
200
201
|
```text
|
|
201
202
|
phonton Launch the interactive TUI
|
|
203
|
+
phonton -r Resume the saved TUI session for this workspace
|
|
202
204
|
phonton ask <question> One-shot Q&A using the configured provider
|
|
203
205
|
phonton doctor Check config, store, trust, git, cargo, and Nexus
|
|
204
206
|
phonton plan <goal> Preview the task DAG without changing files
|
|
@@ -239,9 +241,8 @@ Extension visibility:
|
|
|
239
241
|
```bash
|
|
240
242
|
phonton extensions list --json
|
|
241
243
|
phonton extensions doctor --json
|
|
242
|
-
phonton
|
|
243
|
-
phonton
|
|
244
|
-
phonton extensions mcp --json
|
|
244
|
+
phonton skills list --json
|
|
245
|
+
phonton steering list --json
|
|
245
246
|
phonton mcp list --json
|
|
246
247
|
```
|
|
247
248
|
|
|
@@ -343,7 +344,7 @@ Phonton is not trying to win by pretending the incumbents are weak.
|
|
|
343
344
|
| Codex | Mature agent workflow, cloud/editor/CLI integration | Local-first ADE kernel, BYOK, explicit verification and review surfaces |
|
|
344
345
|
| Claude Code | Excellent terminal-native coding agent | Less chat-first, more plan/verify/review oriented |
|
|
345
346
|
| Cursor | Polished AI editor experience | Less editor polish, more auditable repo workflow |
|
|
346
|
-
| Windsurf | Agentic IDE workflow | Narrower release scope,
|
|
347
|
+
| Windsurf | Agentic IDE workflow | Narrower release scope, explicit local-first positioning |
|
|
347
348
|
| Phonton CLI | Verified local ADE loop for serious repo tasks | Early product, smaller ecosystem, benchmark claims still being built |
|
|
348
349
|
|
|
349
350
|
## Development
|
package/npm/test-wrapper.js
CHANGED
|
@@ -18,24 +18,50 @@ if (!binary) {
|
|
|
18
18
|
process.exit(1);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
process.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
function runWrapper(args) {
|
|
22
|
+
const result = spawnSync(process.execPath, [path.join(root, "npm", "bin", "phonton.js"), ...args], {
|
|
23
|
+
cwd: root,
|
|
24
|
+
encoding: "utf8",
|
|
25
|
+
env: {
|
|
26
|
+
...process.env,
|
|
27
|
+
PHONTON_BINARY: binary,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
process.stdout.write(result.stdout || "");
|
|
32
|
+
process.stderr.write(result.stderr || "");
|
|
33
|
+
|
|
34
|
+
if (result.status !== 0) {
|
|
35
|
+
process.exit(result.status || 1);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return result.stdout;
|
|
35
39
|
}
|
|
36
40
|
|
|
41
|
+
const versionOutput = runWrapper(["version"]);
|
|
42
|
+
|
|
37
43
|
const expected = `phonton ${packageJson.version}`;
|
|
38
|
-
if (!
|
|
44
|
+
if (!versionOutput.includes(expected)) {
|
|
39
45
|
console.error(`Expected npm wrapper to report ${expected}.`);
|
|
40
46
|
process.exit(1);
|
|
41
47
|
}
|
|
48
|
+
|
|
49
|
+
const goal = "add input validation to config loading";
|
|
50
|
+
const planOutput = runWrapper(["plan", "--json", "--no-memory", goal]);
|
|
51
|
+
let planJson;
|
|
52
|
+
try {
|
|
53
|
+
planJson = JSON.parse(planOutput);
|
|
54
|
+
} catch (error) {
|
|
55
|
+
console.error(`Expected plan --json to emit parseable JSON: ${error.message}`);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (!planJson.goal_contract) {
|
|
60
|
+
console.error("Expected plan --json to expose goal_contract at the top level.");
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (planJson.goal_contract.goal !== goal) {
|
|
65
|
+
console.error("Expected plan --json goal_contract.goal to match the requested goal.");
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "phonton-cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Local-first agentic development terminal with context packs, source handles, and verification gates.",
|
|
5
5
|
"license": "MIT OR Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/phonton-dev/phonton-cli#readme",
|