@evolith/smart-cli 1.1.4 → 1.1.5
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.es.md +989 -200
- package/README.md +98 -20
- package/dist/.tsbuildinfo +1 -1
- package/dist/CoreApiClient.d.ts +5 -0
- package/dist/CoreApiClient.js +25 -0
- package/dist/CoreApiClient.js.map +1 -0
- package/dist/app.module.js +12 -4
- package/dist/app.module.js.map +1 -1
- package/dist/commands/agents/agents.command.d.ts +19 -6
- package/dist/commands/agents/agents.command.js +333 -21
- package/dist/commands/agents/agents.command.js.map +1 -1
- package/dist/commands/chat/chat.command.d.ts +7 -0
- package/dist/commands/chat/chat.command.js +64 -0
- package/dist/commands/chat/chat.command.js.map +1 -0
- package/dist/commands/evaluate/evaluate.command.d.ts +28 -0
- package/dist/commands/evaluate/evaluate.command.js +197 -0
- package/dist/commands/evaluate/evaluate.command.js.map +1 -0
- package/dist/commands/mcp/mcp.command.d.ts +17 -0
- package/dist/commands/mcp/mcp.command.js +109 -0
- package/dist/commands/mcp/mcp.command.js.map +1 -0
- package/dist/commands/plan/index.d.ts +2 -0
- package/dist/commands/plan/index.js +133 -0
- package/dist/commands/plan/index.js.map +1 -0
- package/dist/commands/satellite/index.d.ts +2 -0
- package/dist/commands/satellite/index.js +8 -0
- package/dist/commands/satellite/index.js.map +1 -0
- package/dist/commands/satellite/satellite-adopt.command.d.ts +21 -0
- package/dist/commands/satellite/satellite-adopt.command.js +193 -0
- package/dist/commands/satellite/satellite-adopt.command.js.map +1 -0
- package/dist/commands/satellite/satellite-create.command.d.ts +26 -0
- package/dist/commands/satellite/satellite-create.command.js +192 -0
- package/dist/commands/satellite/satellite-create.command.js.map +1 -0
- package/dist/commands/upgrade/upgrade.command.d.ts +12 -4
- package/dist/commands/upgrade/upgrade.command.js +139 -19
- package/dist/commands/upgrade/upgrade.command.js.map +1 -1
- package/dist/commands/validate/validate.command.js +17 -3
- package/dist/commands/validate/validate.command.js.map +1 -1
- package/dist/infrastructure/agent/agent-runtime.factory.d.ts +9 -0
- package/dist/infrastructure/agent/agent-runtime.factory.js +47 -0
- package/dist/infrastructure/agent/agent-runtime.factory.js.map +1 -0
- package/dist/infrastructure/cli/command-executor.d.ts +1 -0
- package/dist/infrastructure/cli/command-executor.js +16 -0
- package/dist/infrastructure/cli/command-executor.js.map +1 -1
- package/dist/infrastructure/cli/providers/index.js +32 -29
- package/dist/infrastructure/cli/providers/index.js.map +1 -1
- package/dist/main.js +12 -1
- package/dist/main.js.map +1 -1
- package/package.json +8 -5
- package/dist/commands/init/agents.command.d.ts +0 -24
- package/dist/commands/init/agents.command.js +0 -330
- package/dist/commands/init/agents.command.js.map +0 -1
- package/dist/commands/init/upgrade.command.d.ts +0 -22
- package/dist/commands/init/upgrade.command.js +0 -178
- package/dist/commands/init/upgrade.command.js.map +0 -1
- package/dist/commands/mcp/mcp-serve.command.d.ts +0 -17
- package/dist/commands/mcp/mcp-serve.command.js +0 -153
- package/dist/commands/mcp/mcp-serve.command.js.map +0 -1
- package/dist/commands/upgrade/index.d.ts +0 -1
- package/dist/commands/upgrade/index.js +0 -6
- package/dist/commands/upgrade/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ Or download the binary from [GitHub Releases](https://github.com/beyondnetcode/e
|
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
58
|
smart-cli --version
|
|
59
|
-
#
|
|
59
|
+
# 1.1.4
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
### Troubleshooting
|
|
@@ -71,6 +71,24 @@ sudo npm install -g @evolith/smart-cli --unsafe-perm
|
|
|
71
71
|
export PATH=$(npm config get prefix)/bin:$PATH
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
+
**`WORKSPACE_ROOT` (optional):** the CLI ships a built-in default SDLC workflow, so it runs without any environment setup. Set `WORKSPACE_ROOT` to a checkout root only when you want to override the workflow/rulesets from disk (`$WORKSPACE_ROOT/rulesets/sdlc/default-workflow.yaml`).
|
|
75
|
+
|
|
76
|
+
### Environment variables
|
|
77
|
+
|
|
78
|
+
The CLI runs with zero configuration. The following variables are optional overrides. Those marked *(MCP)* are read by the bundled `@evolith/mcp-server` only while `smart-cli mcp serve` is running.
|
|
79
|
+
|
|
80
|
+
| Variable | Read by | Purpose |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| `EVOLITH_PROFILE` | CLI | Selects the active named profile (per-environment defaults) instead of `default`. |
|
|
83
|
+
| `EVOLITH_API_KEY` | CLI / MCP | API key for the MCP HTTP transport (equivalent to `--api-key`); required in production HTTP mode. |
|
|
84
|
+
| `PORT` | CLI / MCP | Default HTTP port for `mcp serve --transport http` when `--port` is omitted (default `3000`). |
|
|
85
|
+
| `OTEL_ENABLED` | CLI | When `true`, enables OpenTelemetry tracing export from the CLI. |
|
|
86
|
+
| `WORKSPACE_ROOT` | Core | Checkout root for overriding the bundled workflow/rulesets from disk (see above). |
|
|
87
|
+
| `MCP_HTTP_HOST` *(MCP)* | MCP | Bind host for the HTTP transport (default `0.0.0.0`; set `127.0.0.1` for local-only). |
|
|
88
|
+
| `JWT_SECRET` *(MCP)* | MCP | HS256 secret enabling optional JWT bearer auth on the HTTP transport. |
|
|
89
|
+
| `LOG_LEVEL` *(MCP)* | MCP | Log verbosity for the MCP server (default `info`). |
|
|
90
|
+
| `NODE_ENV` *(MCP)* | MCP | `production` forces fail-closed auth/policy behavior in the MCP server. |
|
|
91
|
+
|
|
74
92
|
## Quickstart
|
|
75
93
|
|
|
76
94
|
```bash
|
|
@@ -130,6 +148,20 @@ After `init` completes, the CLI prints suggested next steps including `validate`
|
|
|
130
148
|
|
|
131
149
|
---
|
|
132
150
|
|
|
151
|
+
### init-wizard
|
|
152
|
+
|
|
153
|
+
A fully guided, step-by-step alternative to `init` that walks through project name, runtime, monorepo strategy, and architecture pattern with interactive prompts. Use it for a first-time, hand-held setup; use `init` (with flags or `--config`) for scripted or non-interactive runs.
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
smart-cli init-wizard [options]
|
|
157
|
+
|
|
158
|
+
Options:
|
|
159
|
+
--no-wizard Fall back to the standard init flow instead of the wizard
|
|
160
|
+
--no-interactive Run in non-interactive mode (CI/automation)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
133
165
|
### docs
|
|
134
166
|
|
|
135
167
|
Scaffolds the base documentation files required by Evolith in the current directory.
|
|
@@ -186,7 +218,7 @@ Options:
|
|
|
186
218
|
microservices, serverless, event-driven, agentic-ai (repeatable).
|
|
187
219
|
Legacy F1/F2/F3 aliases still map to the progressive axis.
|
|
188
220
|
-m, --manifest <path> SatelliteManifest JSON for end-to-end evaluation (GT-281 pipeline)
|
|
189
|
-
-p, --phase <phase> SDLC phase to evaluate:
|
|
221
|
+
-p, --phase <phase> SDLC phase to evaluate: discovery, design, construction, qa, release (legacy f1..f5 deprecated; activates GT-281 pipeline)
|
|
190
222
|
--adr <id> Validate against a specific ADR rule set
|
|
191
223
|
--file <path> Validate a single file (ad-hoc mode)
|
|
192
224
|
--composable Use the composable GT-312 engine with intelligent mode resolution
|
|
@@ -206,6 +238,8 @@ Options:
|
|
|
206
238
|
| `observability` | Logging, metrics, and tracing coverage |
|
|
207
239
|
| `adr-0002` | ADR-0002 specific rules |
|
|
208
240
|
|
|
241
|
+
The `rulesets` enum in `reference/config/evolith.config.schema.json` additionally recognizes: `satellite-contracts`, `executive-scorecards`, `compliance-baseline`, `definition-of-done`, `engineering-manifesto`, `repository-taxonomy`, `phase-gates`, `quality-thresholds`, and `dependency-pinning`. These are valid configuration values even though the common `--ruleset` shortcuts above cover the day-to-day set.
|
|
242
|
+
|
|
209
243
|
**Available ADR rules (`--adr`):** `adr-0002`, `adr-0005`, `adr-0010`, `adr-0018`, `adr-0032`, `adr-0040`, `adr-0050`
|
|
210
244
|
|
|
211
245
|
**Validation engines:**
|
|
@@ -220,6 +254,8 @@ When `--composable` is set, the CLI auto-resolves which validation modes to acti
|
|
|
220
254
|
- `AdrValidationMode` — activated when `--adr` is present
|
|
221
255
|
- `AdhocValidationMode` — activated when `--file` is present
|
|
222
256
|
|
|
257
|
+
**Exit codes:** `validate` exits `0` when the repository passes (including `warning` status) and `1` when the result status is `failed`. The `gate`, `phase advance`, and `scaffold` commands likewise exit `1` on failure, and any unhandled error during CLI startup exits `1`. This makes the CLI safe to gate CI pipelines on. In `--format json`, the failure detail is carried in the ADR-0073 envelope rather than printed as prose.
|
|
258
|
+
|
|
223
259
|
**Examples:**
|
|
224
260
|
|
|
225
261
|
```bash
|
|
@@ -239,10 +275,10 @@ smart-cli validate --topology modular-monolith --topology event-driven
|
|
|
239
275
|
smart-cli validate --ruleset evidence
|
|
240
276
|
|
|
241
277
|
# Full SDLC phase evaluation (GT-281 pipeline)
|
|
242
|
-
smart-cli validate --phase
|
|
278
|
+
smart-cli validate --phase discovery
|
|
243
279
|
|
|
244
280
|
# Validate with a SatelliteManifest
|
|
245
|
-
smart-cli validate --manifest ./satellite-manifest.json --phase
|
|
281
|
+
smart-cli validate --manifest ./satellite-manifest.json --phase design
|
|
246
282
|
|
|
247
283
|
# Ad-hoc file validation
|
|
248
284
|
smart-cli validate --file src/domain/user.entity.ts --composable
|
|
@@ -910,10 +946,14 @@ Pre-built scripts are also included in the package under `shell/`:
|
|
|
910
946
|
|
|
911
947
|
## MCP Server
|
|
912
948
|
|
|
913
|
-
The Evolith CLI
|
|
949
|
+
The Evolith CLI bundles a production-ready MCP server for AI agent integration.
|
|
950
|
+
|
|
951
|
+
> **Deprecation notice:** `smart-cli mcp` prints a deprecation warning on startup and will be removed in a future major version. The MCP server now ships as a standalone package — migrate to `@evolith/mcp-server` (`npx @evolith/mcp-server serve` or the `evolith-mcp serve` binary). The CLI command continues to work in the meantime by lazily delegating to that package.
|
|
914
952
|
|
|
915
953
|
### Starting the Server
|
|
916
954
|
|
|
955
|
+
`mcp` takes an optional positional action that defaults to `serve`, so `smart-cli mcp` and `smart-cli mcp serve` are equivalent.
|
|
956
|
+
|
|
917
957
|
```bash
|
|
918
958
|
# stdio transport (default — for Cursor, Claude Desktop)
|
|
919
959
|
smart-cli mcp serve
|
|
@@ -926,13 +966,17 @@ smart-cli mcp serve --transport http --port 3000 --api-key <secret>
|
|
|
926
966
|
```
|
|
927
967
|
|
|
928
968
|
```bash
|
|
929
|
-
smart-cli mcp
|
|
969
|
+
smart-cli mcp [action] [options]
|
|
970
|
+
|
|
971
|
+
Actions:
|
|
972
|
+
serve Start the MCP server (default)
|
|
973
|
+
version Print a static MCP server version banner (does not read the @evolith/mcp-server package version)
|
|
930
974
|
|
|
931
975
|
Options:
|
|
932
|
-
-t, --transport <
|
|
933
|
-
-p, --port <number>
|
|
934
|
-
--api-key <key>
|
|
935
|
-
--no-confirm
|
|
976
|
+
-t, --transport <stdio|http> Transport: stdio (default) or http
|
|
977
|
+
-p, --port <number> HTTP server port (default: 3000, or $PORT)
|
|
978
|
+
--api-key <key> API key for HTTP transport authentication (or $EVOLITH_API_KEY)
|
|
979
|
+
--no-confirm Skip confirmation prompts
|
|
936
980
|
```
|
|
937
981
|
|
|
938
982
|
### Smoke Test
|
|
@@ -945,20 +989,52 @@ Verifies `initialize`, `tools/list`, `resources/list`, `prompts/list`, and a rea
|
|
|
945
989
|
|
|
946
990
|
### Available MCP Tools
|
|
947
991
|
|
|
992
|
+
The bundled server registers **27 tools**. The live, authoritative set is always browsable with `smart-cli api --list --category tools`; the table below mirrors the current `@evolith/mcp-server` registry.
|
|
993
|
+
|
|
994
|
+
**Validation & architecture**
|
|
995
|
+
|
|
996
|
+
| Tool | Description |
|
|
997
|
+
|------|-------------|
|
|
998
|
+
| `evolith-validate` | Validate a satellite repository against Evolith rules (end-to-end pipeline via manifest) |
|
|
999
|
+
| `evolith-composable-validate` | Validate with the composable engine (GT-312): SDLC, Architecture, Ruleset, ADR, Ad-hoc modes (combinable) |
|
|
1000
|
+
| `evolith-architecture-validate` | Validate architecture against the declared topology with optional deep analysis |
|
|
1001
|
+
| `evolith-drift-detect` | Detect architecture drift in a repository |
|
|
1002
|
+
| `evolith-auto-fix` | Apply automatic fixes to architectural violations reported by Core rule evaluators |
|
|
1003
|
+
| `evolith-topology-list` | List all available architecture topologies in Evolith Core |
|
|
1004
|
+
| `evolith-topology-get` | Get a specific architecture topology by id |
|
|
1005
|
+
|
|
1006
|
+
**SDLC, gates & metrics**
|
|
1007
|
+
|
|
1008
|
+
| Tool | Description |
|
|
1009
|
+
|------|-------------|
|
|
1010
|
+
| `evolith-gate-evaluate` | Evaluate a specific SDLC phase gate |
|
|
1011
|
+
| `evolith-phase-advance` | Propose an SDLC phase transition by evaluating exit criteria |
|
|
1012
|
+
| `evolith-sdlc-handoff` | Perform a phase gate handoff (e.g. phase-0 → phase-1) |
|
|
1013
|
+
| `evolith-sdlc-status` | Get the current SDLC phase status |
|
|
1014
|
+
| `evolith-dora-metrics` | Calculate DORA metric approximations from git log history |
|
|
1015
|
+
| `evolith-metrics` | Get MCP server metrics (per-tool call counts, latency, failures) |
|
|
1016
|
+
|
|
1017
|
+
**Agents**
|
|
1018
|
+
|
|
948
1019
|
| Tool | Description |
|
|
949
1020
|
|------|-------------|
|
|
950
|
-
| `evolith-validate` | Validate repository compliance |
|
|
951
1021
|
| `evolith-agent-install` | Install a new BMAD agent |
|
|
952
1022
|
| `evolith-agent-list` | List installed agents |
|
|
953
|
-
| `evolith-agent-validate` | Validate agent ruleset |
|
|
1023
|
+
| `evolith-agent-validate` | Validate an agent ruleset |
|
|
954
1024
|
| `evolith-agent-upgrade` | Upgrade an existing agent |
|
|
955
1025
|
| `evolith-agent-remove` | Remove an agent |
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
|
960
|
-
|
|
961
|
-
| `evolith-
|
|
1026
|
+
|
|
1027
|
+
**Configuration**
|
|
1028
|
+
|
|
1029
|
+
| Tool | Description |
|
|
1030
|
+
|------|-------------|
|
|
1031
|
+
| `evolith-config-get` | Get an Evolith configuration value |
|
|
1032
|
+
| `evolith-config-set` | Set an Evolith configuration value |
|
|
1033
|
+
|
|
1034
|
+
**MoSCoW prioritization**
|
|
1035
|
+
|
|
1036
|
+
| Tool | Description |
|
|
1037
|
+
|------|-------------|
|
|
962
1038
|
| `evolith-moscow-create` | Create a new MoSCoW prioritization analysis |
|
|
963
1039
|
| `evolith-moscow-load` | Load an existing MoSCoW analysis |
|
|
964
1040
|
| `evolith-moscow-update` | Update an item in a MoSCoW analysis |
|
|
@@ -1018,10 +1094,10 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
|
1018
1094
|
|
|
1019
1095
|
```bash
|
|
1020
1096
|
# Validate a specific SDLC phase with full gate evaluation
|
|
1021
|
-
smart-cli validate --phase
|
|
1097
|
+
smart-cli validate --phase design --format json --output gate-evidence.json
|
|
1022
1098
|
|
|
1023
1099
|
# With explicit SatelliteManifest
|
|
1024
|
-
smart-cli validate --manifest ./satellite-manifest.json --phase
|
|
1100
|
+
smart-cli validate --manifest ./satellite-manifest.json --phase construction --format json
|
|
1025
1101
|
```
|
|
1026
1102
|
|
|
1027
1103
|
### Gate Evaluation in CI
|
|
@@ -1182,6 +1258,8 @@ sdk/cli/
|
|
|
1182
1258
|
|
|
1183
1259
|
## Contributing
|
|
1184
1260
|
|
|
1261
|
+
See the repository-root [CONTRIBUTING.md](../../CONTRIBUTING.md) for the full workflow, branch/commit conventions, and authoring standards.
|
|
1262
|
+
|
|
1185
1263
|
1. Fork the repository
|
|
1186
1264
|
2. Create a feature branch
|
|
1187
1265
|
3. Make changes with tests
|