xone-cli 0.1.1__tar.gz → 0.1.2__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.
- {xone_cli-0.1.1 → xone_cli-0.1.2}/CHANGELOG.md +6 -0
- {xone_cli-0.1.1/src/xone_cli.egg-info → xone_cli-0.1.2}/PKG-INFO +10 -1
- {xone_cli-0.1.1 → xone_cli-0.1.2}/README.md +9 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/README.zh-CN.md +9 -0
- xone_cli-0.1.2/docs/install.md +37 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/pyproject.toml +1 -1
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/__init__.py +1 -1
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/cli.py +4 -2
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/tooling.py +39 -4
- {xone_cli-0.1.1 → xone_cli-0.1.2/src/xone_cli.egg-info}/PKG-INFO +10 -1
- {xone_cli-0.1.1 → xone_cli-0.1.2}/tests/test_cli.py +6 -2
- {xone_cli-0.1.1 → xone_cli-0.1.2}/tests/test_docs.py +4 -3
- xone_cli-0.1.1/docs/install.md +0 -31
- {xone_cli-0.1.1 → xone_cli-0.1.2}/LICENSE +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/MANIFEST.in +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/docs/feedback/open-source-feedback-ledger.md +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/docs/product-foundation.md +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/docs/release.md +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/aider.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/anthropics-claude-code.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/cline.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/continue.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/desktop-commander-mcp.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/docker-mcp-gateway.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/github-github-mcp-server.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/microsoft-playwright-mcp.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/modelcontextprotocol-servers.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/openai-codex.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/openhands.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/upstash-context7.json +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/ops/constraints/main-entry.md +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/ops/constraints/production.md +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/ops/opt-overlay.md +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/ops/skills/evolution.md +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/setup.cfg +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/__main__.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/evidence.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/lab.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/model.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/release.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/repo_context.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/risk.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli/runbook.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli.egg-info/SOURCES.txt +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli.egg-info/dependency_links.txt +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli.egg-info/entry_points.txt +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli.egg-info/requires.txt +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/src/xone_cli.egg-info/top_level.txt +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/tests/test_evidence.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/tests/test_release.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/tests/test_repo_context.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/tests/test_risk_lab.py +0 -0
- {xone_cli-0.1.1 → xone_cli-0.1.2}/tests/test_tooling.py +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.2
|
|
4
|
+
|
|
5
|
+
- Pin `xone doctor --install-plan` to the current recommended X-One tool versions.
|
|
6
|
+
- Add scenario-specific `when` and `next` guidance so first-run users know the next command to try.
|
|
7
|
+
- Keep the unified entrypoint small while making the install plan more actionable.
|
|
8
|
+
|
|
3
9
|
## 0.1.1
|
|
4
10
|
|
|
5
11
|
- Add scenario-based `xone doctor --install-plan` guidance.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xone-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Unified CLI entry point for X-One Agent Evidence Loop workflows.
|
|
5
5
|
Author: X-One-AI
|
|
6
6
|
License-Expression: MIT
|
|
@@ -57,6 +57,8 @@ xone doctor --install-plan
|
|
|
57
57
|
xone runbook --head HEAD --dry-run
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
+
`xone doctor --install-plan` prints scenario-specific install commands with recommended X-One package versions, when to use each scenario, and the next command to try.
|
|
61
|
+
|
|
60
62
|
`xone runbook` auto-detects the local repository default branch. Remote GitHub URLs are not accepted yet; clone the repository first, then pass the local path with `--repo`.
|
|
61
63
|
|
|
62
64
|
`xone-cli` orchestrates these X-One tools:
|
|
@@ -66,6 +68,13 @@ xone runbook --head HEAD --dry-run
|
|
|
66
68
|
- `mcp-risk-index`
|
|
67
69
|
- `ai-incident-lab`
|
|
68
70
|
|
|
71
|
+
Current recommended tool versions:
|
|
72
|
+
|
|
73
|
+
- `agent-pr-evidence 0.4.2`
|
|
74
|
+
- `agent-failure-packet 0.4.2`
|
|
75
|
+
- `mcp-risk-index 0.3.1`
|
|
76
|
+
- `ai-incident-lab 0.2.2`
|
|
77
|
+
|
|
69
78
|
## Boundary
|
|
70
79
|
|
|
71
80
|
- It does not replace the underlying tools.
|
|
@@ -30,6 +30,8 @@ xone doctor --install-plan
|
|
|
30
30
|
xone runbook --head HEAD --dry-run
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
+
`xone doctor --install-plan` prints scenario-specific install commands with recommended X-One package versions, when to use each scenario, and the next command to try.
|
|
34
|
+
|
|
33
35
|
`xone runbook` auto-detects the local repository default branch. Remote GitHub URLs are not accepted yet; clone the repository first, then pass the local path with `--repo`.
|
|
34
36
|
|
|
35
37
|
`xone-cli` orchestrates these X-One tools:
|
|
@@ -39,6 +41,13 @@ xone runbook --head HEAD --dry-run
|
|
|
39
41
|
- `mcp-risk-index`
|
|
40
42
|
- `ai-incident-lab`
|
|
41
43
|
|
|
44
|
+
Current recommended tool versions:
|
|
45
|
+
|
|
46
|
+
- `agent-pr-evidence 0.4.2`
|
|
47
|
+
- `agent-failure-packet 0.4.2`
|
|
48
|
+
- `mcp-risk-index 0.3.1`
|
|
49
|
+
- `ai-incident-lab 0.2.2`
|
|
50
|
+
|
|
42
51
|
## Boundary
|
|
43
52
|
|
|
44
53
|
- It does not replace the underlying tools.
|
|
@@ -30,6 +30,8 @@ xone doctor --install-plan
|
|
|
30
30
|
xone runbook --head HEAD --dry-run
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
+
`xone doctor --install-plan` 会输出按场景分组的安装命令、推荐的 X-One package 版本、适用时机和下一条可尝试的命令。
|
|
34
|
+
|
|
33
35
|
`xone runbook` 会自动探测本地仓库默认分支。当前还不直接接收远程 GitHub URL;请先 clone 仓库,再用 `--repo` 传本地路径。
|
|
34
36
|
|
|
35
37
|
`xone-cli` 编排这些 X-One 工具:
|
|
@@ -39,6 +41,13 @@ xone runbook --head HEAD --dry-run
|
|
|
39
41
|
- `mcp-risk-index`
|
|
40
42
|
- `ai-incident-lab`
|
|
41
43
|
|
|
44
|
+
当前推荐工具版本:
|
|
45
|
+
|
|
46
|
+
- `agent-pr-evidence 0.4.2`
|
|
47
|
+
- `agent-failure-packet 0.4.2`
|
|
48
|
+
- `mcp-risk-index 0.3.1`
|
|
49
|
+
- `ai-incident-lab 0.2.2`
|
|
50
|
+
|
|
42
51
|
## 边界
|
|
43
52
|
|
|
44
53
|
- 不替代底层工具。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Install
|
|
2
|
+
|
|
3
|
+
## Local Development
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
python -m pip install -e '.[dev]'
|
|
7
|
+
xone --version
|
|
8
|
+
xone doctor
|
|
9
|
+
xone doctor --install-plan
|
|
10
|
+
xone runbook --head HEAD --dry-run
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## User Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
python -m pip install xone-cli
|
|
17
|
+
xone doctor
|
|
18
|
+
xone doctor --install-plan
|
|
19
|
+
xone runbook --head HEAD --dry-run
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`xone doctor` reports missing X-One tools and shows install guidance.
|
|
23
|
+
|
|
24
|
+
If `xone doctor` reports missing tools, run `xone doctor --install-plan`. The install plan pins the current recommended X-One package versions and shows the first next command for each scenario.
|
|
25
|
+
|
|
26
|
+
Current scenario groups:
|
|
27
|
+
|
|
28
|
+
- `evidence-loop`: install `agent-pr-evidence 0.4.2`, `agent-failure-packet 0.4.2`, `mcp-risk-index 0.3.1`, and `ai-incident-lab 0.2.2`, then run `xone runbook --head HEAD --dry-run`.
|
|
29
|
+
- `mcp-review`: install `mcp-risk-index 0.3.1`, then run `xone risk context --catalog mcp-risk-index.catalog.yml --output mcp-risk-context.md`.
|
|
30
|
+
- `incident-lab`: install `ai-incident-lab 0.2.2`, then run `xone lab evidence-loop --output agent-evidence-loop.md`.
|
|
31
|
+
|
|
32
|
+
`xone runbook` expects a local git repository. To inspect a public repository, clone it first:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
git clone --depth 1 https://github.com/owner/repo
|
|
36
|
+
xone runbook --repo repo --head HEAD --dry-run
|
|
37
|
+
```
|
|
@@ -193,8 +193,10 @@ def _print_doctor(report) -> None:
|
|
|
193
193
|
|
|
194
194
|
def _print_install_plan(profile: str) -> None:
|
|
195
195
|
print("X-One install plan")
|
|
196
|
-
for
|
|
197
|
-
print(f"- {name}: {command}")
|
|
196
|
+
for item in install_plan(profile):
|
|
197
|
+
print(f"- {item['name']}: {item['command']}")
|
|
198
|
+
print(f" when: {item['when']}")
|
|
199
|
+
print(f" next: {item['next']}")
|
|
198
200
|
|
|
199
201
|
|
|
200
202
|
def _add_evidence_collection_args(parser: argparse.ArgumentParser, *, require_base: bool = True) -> None:
|
|
@@ -24,6 +24,13 @@ PACKAGE_BY_TOOL = {
|
|
|
24
24
|
"ai-incident-lab": "xone-ai-incident-lab",
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
RECOMMENDED_VERSION_BY_TOOL = {
|
|
28
|
+
"agent-pr-evidence": "0.4.2",
|
|
29
|
+
"agent-failure-packet": "0.4.2",
|
|
30
|
+
"mcp-risk-index": "0.3.1",
|
|
31
|
+
"ai-incident-lab": "0.2.2",
|
|
32
|
+
}
|
|
33
|
+
|
|
27
34
|
INSTALL_PLAN_GROUPS = {
|
|
28
35
|
"evidence-loop": (
|
|
29
36
|
"agent-pr-evidence",
|
|
@@ -36,6 +43,21 @@ INSTALL_PLAN_GROUPS = {
|
|
|
36
43
|
"all": REQUIRED_TOOLS,
|
|
37
44
|
}
|
|
38
45
|
|
|
46
|
+
INSTALL_PLAN_GUIDANCE = {
|
|
47
|
+
"evidence-loop": {
|
|
48
|
+
"when": "review an agent PR, create a redacted failure packet, attach MCP risk context, or run a safe local lab",
|
|
49
|
+
"next": "xone runbook --head HEAD --dry-run",
|
|
50
|
+
},
|
|
51
|
+
"mcp-review": {
|
|
52
|
+
"when": "attach evidence-backed MCP risk context without making an allow/deny decision",
|
|
53
|
+
"next": "xone risk context --catalog mcp-risk-index.catalog.yml --output mcp-risk-context.md",
|
|
54
|
+
},
|
|
55
|
+
"incident-lab": {
|
|
56
|
+
"when": "practice the Agent Evidence Loop with safe-local scenarios",
|
|
57
|
+
"next": "xone lab evidence-loop --output agent-evidence-loop.md",
|
|
58
|
+
},
|
|
59
|
+
}
|
|
60
|
+
|
|
39
61
|
|
|
40
62
|
def find_tool(name: str) -> str | None:
|
|
41
63
|
return shutil.which(name)
|
|
@@ -43,18 +65,31 @@ def find_tool(name: str) -> str | None:
|
|
|
43
65
|
|
|
44
66
|
def install_hint(name: str) -> str:
|
|
45
67
|
package = PACKAGE_BY_TOOL.get(name, name)
|
|
46
|
-
|
|
68
|
+
version = RECOMMENDED_VERSION_BY_TOOL.get(name)
|
|
69
|
+
pinned = f"{package}=={version}" if version else package
|
|
70
|
+
return f"python -m pip install {pinned}"
|
|
47
71
|
|
|
48
72
|
|
|
49
|
-
def install_plan(profile: str = "all") -> list[
|
|
73
|
+
def install_plan(profile: str = "all") -> list[dict[str, str]]:
|
|
50
74
|
if profile == "all":
|
|
51
75
|
groups = ("evidence-loop", "mcp-review", "incident-lab")
|
|
52
76
|
else:
|
|
53
77
|
groups = (profile,)
|
|
54
78
|
plan = []
|
|
55
79
|
for group in groups:
|
|
56
|
-
packages = [
|
|
57
|
-
|
|
80
|
+
packages = [
|
|
81
|
+
f"{PACKAGE_BY_TOOL[name]}=={RECOMMENDED_VERSION_BY_TOOL[name]}"
|
|
82
|
+
for name in INSTALL_PLAN_GROUPS[group]
|
|
83
|
+
]
|
|
84
|
+
guidance = INSTALL_PLAN_GUIDANCE[group]
|
|
85
|
+
plan.append(
|
|
86
|
+
{
|
|
87
|
+
"name": group,
|
|
88
|
+
"command": f"python -m pip install {' '.join(packages)}",
|
|
89
|
+
"when": guidance["when"],
|
|
90
|
+
"next": guidance["next"],
|
|
91
|
+
}
|
|
92
|
+
)
|
|
58
93
|
return plan
|
|
59
94
|
|
|
60
95
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xone-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Unified CLI entry point for X-One Agent Evidence Loop workflows.
|
|
5
5
|
Author: X-One-AI
|
|
6
6
|
License-Expression: MIT
|
|
@@ -57,6 +57,8 @@ xone doctor --install-plan
|
|
|
57
57
|
xone runbook --head HEAD --dry-run
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
+
`xone doctor --install-plan` prints scenario-specific install commands with recommended X-One package versions, when to use each scenario, and the next command to try.
|
|
61
|
+
|
|
60
62
|
`xone runbook` auto-detects the local repository default branch. Remote GitHub URLs are not accepted yet; clone the repository first, then pass the local path with `--repo`.
|
|
61
63
|
|
|
62
64
|
`xone-cli` orchestrates these X-One tools:
|
|
@@ -66,6 +68,13 @@ xone runbook --head HEAD --dry-run
|
|
|
66
68
|
- `mcp-risk-index`
|
|
67
69
|
- `ai-incident-lab`
|
|
68
70
|
|
|
71
|
+
Current recommended tool versions:
|
|
72
|
+
|
|
73
|
+
- `agent-pr-evidence 0.4.2`
|
|
74
|
+
- `agent-failure-packet 0.4.2`
|
|
75
|
+
- `mcp-risk-index 0.3.1`
|
|
76
|
+
- `ai-incident-lab 0.2.2`
|
|
77
|
+
|
|
69
78
|
## Boundary
|
|
70
79
|
|
|
71
80
|
- It does not replace the underlying tools.
|
|
@@ -12,7 +12,7 @@ def _fake_tool(bin_dir: Path, name: str, body: str = "echo tool") -> None:
|
|
|
12
12
|
|
|
13
13
|
def test_version_outputs_package_version(capsys):
|
|
14
14
|
assert main(["--version"]) == 0
|
|
15
|
-
assert capsys.readouterr().out.strip() == "xone 0.1.
|
|
15
|
+
assert capsys.readouterr().out.strip() == "xone 0.1.2"
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def test_doctor_json_reports_required_tools(tmp_path, monkeypatch, capsys):
|
|
@@ -35,9 +35,13 @@ def test_doctor_install_plan_outputs_scenario_commands(capsys):
|
|
|
35
35
|
output = capsys.readouterr().out
|
|
36
36
|
assert "X-One install plan" in output
|
|
37
37
|
assert "evidence-loop" in output
|
|
38
|
-
assert "python -m pip install xone-agent-pr-evidence xone-agent-failure-packet xone-mcp-risk-index xone-ai-incident-lab" in output
|
|
38
|
+
assert "python -m pip install xone-agent-pr-evidence==0.4.2 xone-agent-failure-packet==0.4.2 xone-mcp-risk-index==0.3.1 xone-ai-incident-lab==0.2.2" in output
|
|
39
|
+
assert "when: review an agent PR, create a redacted failure packet, attach MCP risk context, or run a safe local lab" in output
|
|
40
|
+
assert "next: xone runbook --head HEAD --dry-run" in output
|
|
39
41
|
assert "mcp-review" in output
|
|
42
|
+
assert "next: xone risk context --catalog mcp-risk-index.catalog.yml --output mcp-risk-context.md" in output
|
|
40
43
|
assert "incident-lab" in output
|
|
44
|
+
assert "next: xone lab evidence-loop --output agent-evidence-loop.md" in output
|
|
41
45
|
|
|
42
46
|
|
|
43
47
|
def test_runbook_dry_run_is_available(capsys):
|
|
@@ -27,15 +27,16 @@ def test_docs_and_package_metadata_stay_aligned():
|
|
|
27
27
|
assert "git clone --depth 1 https://github.com/owner/repo" in Path("docs/install.md").read_text(encoding="utf-8")
|
|
28
28
|
assert "xone release verify --build --install --smoke" in Path("docs/release.md").read_text(encoding="utf-8")
|
|
29
29
|
assert 'name = "xone-cli"' in pyproject
|
|
30
|
-
assert 'version = "0.1.
|
|
31
|
-
assert __version__ == "0.1.
|
|
32
|
-
assert "## 0.1.
|
|
30
|
+
assert 'version = "0.1.2"' in pyproject
|
|
31
|
+
assert __version__ == "0.1.2"
|
|
32
|
+
assert "## 0.1.2" in changelog
|
|
33
33
|
assert 'xone = "xone_cli.cli:entrypoint"' in pyproject
|
|
34
34
|
assert "python -m pytest -q" in ci
|
|
35
35
|
assert "xone runbook --base HEAD~1 --head HEAD --dry-run" in ci
|
|
36
36
|
assert "environment: testpypi" in publish
|
|
37
37
|
assert "startsWith(github.ref, 'refs/tags/v')" in publish
|
|
38
38
|
assert "doctor --install-plan" in changelog
|
|
39
|
+
assert "recommended X-One tool versions" in changelog
|
|
39
40
|
assert "auto-detect the local repository default branch" in changelog
|
|
40
41
|
assert "Do not make hidden network calls" in production
|
|
41
42
|
assert "Keep top-level commands small" in main_entry
|
xone_cli-0.1.1/docs/install.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Install
|
|
2
|
-
|
|
3
|
-
## Local Development
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
python -m pip install -e '.[dev]'
|
|
7
|
-
xone --version
|
|
8
|
-
xone doctor
|
|
9
|
-
xone doctor --install-plan
|
|
10
|
-
xone runbook --head HEAD --dry-run
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## User Install
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
python -m pip install xone-cli
|
|
17
|
-
xone doctor
|
|
18
|
-
xone doctor --install-plan
|
|
19
|
-
xone runbook --head HEAD --dry-run
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
`xone doctor` reports missing X-One tools and shows install guidance.
|
|
23
|
-
|
|
24
|
-
If `xone doctor` reports missing tools, install the suggested X-One packages and run it again before using `evidence`, `risk`, or `lab` commands.
|
|
25
|
-
|
|
26
|
-
`xone runbook` expects a local git repository. To inspect a public repository, clone it first:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
git clone --depth 1 https://github.com/owner/repo
|
|
30
|
-
xone runbook --repo repo --head HEAD --dry-run
|
|
31
|
-
```
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/github-github-mcp-server.json
RENAMED
|
File without changes
|
{xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/microsoft-playwright-mcp.json
RENAMED
|
File without changes
|
{xone_cli-0.1.1 → xone_cli-0.1.2}/fixtures/open-source-samples/modelcontextprotocol-servers.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|