@kylecheng3146/agent-ops 0.0.1 → 0.1.1
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 +64 -13
- package/dist/packages/cli/src/cli.js +21 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,17 +6,66 @@ verification, safe lifecycle hooks, and independent review into a repeatable
|
|
|
6
6
|
engineering workflow.
|
|
7
7
|
|
|
8
8
|
This repository is in its foundation stage. The CLI, hook runtime, normative
|
|
9
|
-
specification, and installation profiles are being developed
|
|
10
|
-
|
|
9
|
+
specification, and installation profiles are being developed as a reviewable
|
|
10
|
+
pre-1.0 interface.
|
|
11
11
|
|
|
12
|
-
The
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
The CLI is published as `@kylecheng3146/agent-ops` as a pre-1.0 interface;
|
|
13
|
+
command behavior may change before 1.0.
|
|
14
|
+
|
|
15
|
+
## Quick start from npm
|
|
16
|
+
|
|
17
|
+
Requires Node.js `>=22.14.0`. Install the published CLI globally:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install --global @kylecheng3146/agent-ops@latest
|
|
21
|
+
agent-ops --version
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
You can run it without a global install with `npx`. When the command runs in
|
|
25
|
+
an interactive terminal without arguments, it opens the setup wizard
|
|
26
|
+
automatically:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx --yes @kylecheng3146/agent-ops@latest
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Use `--help` for the complete command reference or provide explicit options in
|
|
33
|
+
automation. The wizard never writes files until you review and confirm its
|
|
34
|
+
installation plan.
|
|
35
|
+
|
|
36
|
+
Preview a project installation before changing files:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
agent-ops init \
|
|
40
|
+
--dry-run --scope project --harness both --profile core --json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
After reviewing the plan, apply it explicitly with `--yes`:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
agent-ops init --scope project --harness both --profile core --yes
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The remaining day-to-day checks are:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
agent-ops trust status --json
|
|
53
|
+
agent-ops doctor --json
|
|
54
|
+
agent-ops config explain --json
|
|
55
|
+
agent-ops update --dry-run --json
|
|
56
|
+
agent-ops update --yes --json
|
|
57
|
+
agent-ops uninstall --dry-run --json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Use `--scope user` with user-home installations. Keep `--dry-run` for any
|
|
61
|
+
operation you want to inspect before applying; non-interactive automation should
|
|
62
|
+
pass `--yes` only after reviewing the plan. Add `--json` when another tool will
|
|
63
|
+
consume the result.
|
|
15
64
|
|
|
16
65
|
## Quick start from a source checkout
|
|
17
66
|
|
|
18
|
-
|
|
19
|
-
|
|
67
|
+
For development or to run the repository version directly, use a source
|
|
68
|
+
checkout:
|
|
20
69
|
|
|
21
70
|
```bash
|
|
22
71
|
git clone https://github.com/kylecheng3146/agent-ops.git
|
|
@@ -40,16 +89,17 @@ updates, and removal are separate commands:
|
|
|
40
89
|
node dist/packages/cli/src/bin.js init --scope project --harness both --profile core --yes
|
|
41
90
|
node dist/packages/cli/src/bin.js trust status --json
|
|
42
91
|
node dist/packages/cli/src/bin.js doctor --json
|
|
43
|
-
node dist/packages/cli/src/bin.js
|
|
92
|
+
node dist/packages/cli/src/bin.js config explain --json
|
|
93
|
+
node dist/packages/cli/src/bin.js update --dry-run --json
|
|
44
94
|
node dist/packages/cli/src/bin.js uninstall --dry-run --json
|
|
45
95
|
```
|
|
46
96
|
|
|
47
97
|
The commands after `init --yes` are post-apply operations; `doctor` may report
|
|
48
98
|
an unknown probe status until a repository-specific verification setup exists.
|
|
49
99
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
100
|
+
For a full command reference, run `agent-ops --help`. The `task`, `verify`, and
|
|
101
|
+
`review` commands support acceptance tracking and independent verification when
|
|
102
|
+
the project configuration defines those workflows.
|
|
53
103
|
|
|
54
104
|
## Project principles
|
|
55
105
|
|
|
@@ -62,8 +112,9 @@ published package and provenance record.
|
|
|
62
112
|
|
|
63
113
|
## Project status
|
|
64
114
|
|
|
65
|
-
|
|
66
|
-
|
|
115
|
+
A pre-1.0 npm package is published. Use `@latest` for the current release, or
|
|
116
|
+
pin a specific version in automation when reproducibility matters; review
|
|
117
|
+
release notes before upgrading.
|
|
67
118
|
|
|
68
119
|
Documentation:
|
|
69
120
|
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import { CliArgumentError, parseArgs } from "./args.js";
|
|
2
2
|
import { errorEnvelope, okEnvelope, writeEnvelope } from "./output.js";
|
|
3
3
|
import { completeInitChoices } from "./wizard.js";
|
|
4
|
+
const WELCOME_BANNER = [
|
|
5
|
+
"+--------------------------------------------------+",
|
|
6
|
+
"| LOOP ENGINEERING TOOLKIT |",
|
|
7
|
+
"| Safe setup for Codex + Claude Code |",
|
|
8
|
+
"+--------------------------------------------------+"
|
|
9
|
+
].join("\n");
|
|
10
|
+
export function renderWelcome(color) {
|
|
11
|
+
const cyan = color ? "\u001b[36m" : "";
|
|
12
|
+
const bold = color ? "\u001b[1m" : "";
|
|
13
|
+
const reset = color ? "\u001b[0m" : "";
|
|
14
|
+
return `${cyan}${bold}${WELCOME_BANNER}${reset}\n\n`;
|
|
15
|
+
}
|
|
4
16
|
export const HELP_TEXT = `Usage: agent-ops <command> [options]
|
|
5
17
|
|
|
18
|
+
Run \`agent-ops\` without arguments in a terminal to start the interactive setup wizard.
|
|
19
|
+
|
|
6
20
|
Commands:
|
|
7
21
|
init Plan or install agent-ops
|
|
8
22
|
config explain
|
|
@@ -41,10 +55,15 @@ function writeAndReturn(io, envelope, json, exitCode) {
|
|
|
41
55
|
return exitCode;
|
|
42
56
|
}
|
|
43
57
|
export async function runCli(argv, io, services) {
|
|
44
|
-
const
|
|
58
|
+
const launchesWizard = argv.length === 0 && io.isTTY;
|
|
59
|
+
const effectiveArgv = launchesWizard ? ["init"] : argv;
|
|
60
|
+
if (launchesWizard) {
|
|
61
|
+
io.writeStdout(renderWelcome(process.env.NO_COLOR === undefined && process.env.TERM !== "dumb"));
|
|
62
|
+
}
|
|
63
|
+
const json = wantsJson(effectiveArgv);
|
|
45
64
|
let args;
|
|
46
65
|
try {
|
|
47
|
-
args = parseArgs(
|
|
66
|
+
args = parseArgs(effectiveArgv);
|
|
48
67
|
}
|
|
49
68
|
catch (error) {
|
|
50
69
|
if (error instanceof CliArgumentError) {
|