@unerr-ai/unerr 0.2.1 → 0.2.3
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 +36 -45
- package/dist/cli.js +37443 -36022
- package/package.json +2 -1
- package/dist/behaviors/agent-llm-bridge.js +0 -166
- package/dist/behaviors/architecture-guard.js +0 -256
- package/dist/behaviors/auto-doc.js +0 -247
- package/dist/behaviors/cascade-guard.js +0 -289
- package/dist/behaviors/change-narrative.js +0 -270
- package/dist/behaviors/convention-drift.js +0 -290
- package/dist/behaviors/framework.js +0 -235
- package/dist/behaviors/guard-formatter.js +0 -44
- package/dist/behaviors/incomplete-work.js +0 -270
- package/dist/behaviors/loop-breaker.js +0 -300
- package/dist/behaviors/session-continuity.js +0 -208
- package/dist/commands/branches.js +0 -97
- package/dist/commands/check-commit.js +0 -225
- package/dist/commands/compress-output.js +0 -64
- package/dist/commands/config-verify.js +0 -243
- package/dist/commands/daemon.js +0 -905
- package/dist/commands/dashboard.js +0 -52
- package/dist/commands/debug.js +0 -200
- package/dist/commands/enrich.js +0 -184
- package/dist/commands/exec.js +0 -233
- package/dist/commands/gain.js +0 -156
- package/dist/commands/hook.js +0 -88
- package/dist/commands/index.js +0 -88
- package/dist/commands/init.js +0 -74
- package/dist/commands/install.js +0 -505
- package/dist/commands/learn.js +0 -116
- package/dist/commands/manifest.js +0 -193
- package/dist/commands/rewind.js +0 -103
- package/dist/commands/serve.js +0 -19
- package/dist/commands/setup-wizard.js +0 -414
- package/dist/commands/skills.js +0 -64
- package/dist/commands/stats.js +0 -20
- package/dist/commands/status.js +0 -654
- package/dist/commands/timeline.js +0 -139
- package/dist/commands/uninstall.js +0 -230
- package/dist/components/App.js +0 -109
- package/dist/components/Banner.js +0 -12
- package/dist/components/ConfirmPrompt.js +0 -25
- package/dist/components/DriftSummary.js +0 -23
- package/dist/components/GradeBadge.js +0 -15
- package/dist/components/HealthCard.js +0 -18
- package/dist/components/InkSpinner.js +0 -22
- package/dist/components/InputBox.js +0 -17
- package/dist/components/KeyValue.js +0 -13
- package/dist/components/MessageList.js +0 -14
- package/dist/components/ProgressBar.js +0 -26
- package/dist/components/Section.js +0 -16
- package/dist/components/SessionSummaryCard.js +0 -73
- package/dist/components/StartupDisplay.js +0 -24
- package/dist/components/StatusDashboard.js +0 -57
- package/dist/components/StatusLine.js +0 -8
- package/dist/components/StepLine.js +0 -22
- package/dist/components/Theme.js +0 -20
- package/dist/components/ToolProgress.js +0 -8
- package/dist/components/ViolationList.js +0 -21
- package/dist/components/render.js +0 -13
- package/dist/config/agent-registry.js +0 -237
- package/dist/config/claude-settings-hooks.js +0 -304
- package/dist/config/hook-installer.js +0 -65
- package/dist/config/instruction-writer.js +0 -388
- package/dist/config/mcp-config-writer.js +0 -266
- package/dist/config/settings.js +0 -174
- package/dist/config/tool-detector.js +0 -42
- package/dist/config/value-surfacing.js +0 -119
- package/dist/core/context-assembly.js +0 -108
- package/dist/core/conversation.js +0 -33
- package/dist/core/local-chat-provider.js +0 -475
- package/dist/core/provider-factory.js +0 -55
- package/dist/core/providers.js +0 -90
- package/dist/core/query-engine.js +0 -174
- package/dist/daemon/api.js +0 -312
- package/dist/daemon/autostart.js +0 -119
- package/dist/daemon/bootstrap.js +0 -39
- package/dist/daemon/client.js +0 -164
- package/dist/daemon/detect-ci.js +0 -81
- package/dist/daemon/platform-linux.js +0 -146
- package/dist/daemon/platform-macos.js +0 -134
- package/dist/daemon/platform-windows.js +0 -116
- package/dist/daemon/process-manager.js +0 -299
- package/dist/daemon/protocol.js +0 -23
- package/dist/daemon/registry.js +0 -270
- package/dist/daemon/settings-schema.js +0 -72
- package/dist/daemon/system-health.js +0 -134
- package/dist/daemon/version-checker.js +0 -262
- package/dist/daemon/warm-start.js +0 -223
- package/dist/entrypoints/cli.js +0 -1043
- package/dist/entrypoints/daemon.js +0 -380
- package/dist/entrypoints/repl.js +0 -147
- package/dist/hooks/adapters/claude-code.js +0 -90
- package/dist/hooks/adapters/cline.js +0 -100
- package/dist/hooks/adapters/cursor.js +0 -98
- package/dist/hooks/hook-dedup.js +0 -79
- package/dist/hooks/hook-runner.js +0 -113
- package/dist/hooks/navigation-hooks.js +0 -175
- package/dist/hooks/prompt-hooks.js +0 -63
- package/dist/hooks/shell-hooks.js +0 -47
- package/dist/ignore.js +0 -111
- package/dist/intelligence/approach-suggester.js +0 -61
- package/dist/intelligence/ast-extractor.js +0 -2615
- package/dist/intelligence/ast-worker.js +0 -34
- package/dist/intelligence/background-indexer.js +0 -121
- package/dist/intelligence/blast-radius.js +0 -200
- package/dist/intelligence/community-detection.js +0 -691
- package/dist/intelligence/community-detector.js +0 -184
- package/dist/intelligence/computation-scheduler.js +0 -75
- package/dist/intelligence/confidence-propagation.js +0 -47
- package/dist/intelligence/convention-detector.js +0 -242
- package/dist/intelligence/convention-learner.js +0 -205
- package/dist/intelligence/convention-matcher.js +0 -205
- package/dist/intelligence/cozo-schema.js +0 -376
- package/dist/intelligence/decision-point-detector.js +0 -90
- package/dist/intelligence/deep-dive-tools.js +0 -586
- package/dist/intelligence/durability-scorer.js +0 -84
- package/dist/intelligence/exploration-cost.js +0 -204
- package/dist/intelligence/exploration-pattern-tracker.js +0 -61
- package/dist/intelligence/fact-generator.js +0 -322
- package/dist/intelligence/facts-schema.js +0 -90
- package/dist/intelligence/file-intelligence.js +0 -59
- package/dist/intelligence/graph-holder.js +0 -220
- package/dist/intelligence/graph-temporal-joiner.js +0 -238
- package/dist/intelligence/health-grade.js +0 -423
- package/dist/intelligence/health-grader.js +0 -200
- package/dist/intelligence/health-map-data.js +0 -259
- package/dist/intelligence/import-symbols.js +0 -136
- package/dist/intelligence/incremental-indexer.js +0 -658
- package/dist/intelligence/indexer/centrality.js +0 -62
- package/dist/intelligence/indexer/cfg-context.js +0 -95
- package/dist/intelligence/indexer/confidence.js +0 -34
- package/dist/intelligence/indexer/cross-file-resolver.js +0 -104
- package/dist/intelligence/indexer/edge-repair.js +0 -89
- package/dist/intelligence/indexer/entity-key.js +0 -17
- package/dist/intelligence/indexer/export-map.js +0 -132
- package/dist/intelligence/indexer/git-cochange.js +0 -128
- package/dist/intelligence/indexer/graph-patch.js +0 -147
- package/dist/intelligence/indexer/incremental.js +0 -78
- package/dist/intelligence/indexer/ingest.js +0 -160
- package/dist/intelligence/indexer/language-detect.js +0 -226
- package/dist/intelligence/indexer/metadata.js +0 -63
- package/dist/intelligence/indexer/mutation-tracker.js +0 -79
- package/dist/intelligence/indexer/orchestrator.js +0 -155
- package/dist/intelligence/indexer/plugin-interface.js +0 -31
- package/dist/intelligence/indexer/plugins/csharp.js +0 -440
- package/dist/intelligence/indexer/plugins/go.js +0 -335
- package/dist/intelligence/indexer/plugins/java.js +0 -370
- package/dist/intelligence/indexer/plugins/python.js +0 -358
- package/dist/intelligence/indexer/plugins/regex-fallback.js +0 -82
- package/dist/intelligence/indexer/plugins/ruby.js +0 -290
- package/dist/intelligence/indexer/plugins/rust.js +0 -484
- package/dist/intelligence/indexer/plugins/tier2-generic.js +0 -310
- package/dist/intelligence/indexer/plugins/typescript.js +0 -456
- package/dist/intelligence/indexer/resource-monitor.js +0 -93
- package/dist/intelligence/indexer/scip/decoder.js +0 -253
- package/dist/intelligence/indexer/scip/detector.js +0 -232
- package/dist/intelligence/indexer/scip/downloader.js +0 -427
- package/dist/intelligence/indexer/scip/fallback.js +0 -34
- package/dist/intelligence/indexer/scip/merger.js +0 -109
- package/dist/intelligence/indexer/scip/orchestrator.js +0 -433
- package/dist/intelligence/indexer/scip/runner.js +0 -98
- package/dist/intelligence/indexer/snapshot.js +0 -66
- package/dist/intelligence/indexer/test-detector.js +0 -196
- package/dist/intelligence/indexer/watch-integration.js +0 -61
- package/dist/intelligence/indexer/worker.js +0 -85
- package/dist/intelligence/local-convention-detector.js +0 -437
- package/dist/intelligence/local-embeddings.js +0 -190
- package/dist/intelligence/local-graph.js +0 -1946
- package/dist/intelligence/local-indexer.js +0 -1575
- package/dist/intelligence/local-llm.js +0 -163
- package/dist/intelligence/local-rule-generator.js +0 -154
- package/dist/intelligence/local-snapshot.js +0 -213
- package/dist/intelligence/negative-knowledge.js +0 -103
- package/dist/intelligence/persistent-db.js +0 -85
- package/dist/intelligence/query-router.js +0 -2556
- package/dist/intelligence/risk-classifier.js +0 -116
- package/dist/intelligence/rule-evaluator.js +0 -380
- package/dist/intelligence/rule-generator.js +0 -49
- package/dist/intelligence/search-index.js +0 -173
- package/dist/intelligence/semantic/docstring-extractor.js +0 -67
- package/dist/intelligence/semantic/embedding-store.js +0 -52
- package/dist/intelligence/semantic/enrichment-orchestrator.js +0 -48
- package/dist/intelligence/semantic/git-message-miner.js +0 -114
- package/dist/intelligence/semantic/identifier-tokenizer.js +0 -51
- package/dist/intelligence/semantic/node2vec-embeddings.js +0 -71
- package/dist/intelligence/semantic/node2vec-walks.js +0 -103
- package/dist/intelligence/semantic/path-domain-inference.js +0 -112
- package/dist/intelligence/semantic/similarity-engine.js +0 -60
- package/dist/intelligence/semantic/tfidf-vectors.js +0 -88
- package/dist/intelligence/session-brief-builder.js +0 -159
- package/dist/intelligence/session-context.js +0 -221
- package/dist/intelligence/session-health-monitor.js +0 -211
- package/dist/intelligence/session-narrative.js +0 -197
- package/dist/intelligence/session-pattern-analyzer.js +0 -218
- package/dist/intelligence/signal-scorer.js +0 -390
- package/dist/intelligence/signal-show-store.js +0 -182
- package/dist/intelligence/smart-truncate.js +0 -158
- package/dist/intelligence/subgraph-cache.js +0 -88
- package/dist/intelligence/temporal-facts.js +0 -494
- package/dist/intelligence/token-estimator.js +0 -100
- package/dist/intelligence/tool-injector.js +0 -87
- package/dist/intelligence/tree-sitter-loader.js +0 -71
- package/dist/intelligence/worker-pool.js +0 -116
- package/dist/proxy/arg-validator.js +0 -79
- package/dist/proxy/auto-bootstrap.js +0 -167
- package/dist/proxy/bridge.js +0 -147
- package/dist/proxy/budget-enforcer.js +0 -70
- package/dist/proxy/compression-quality-monitor.js +0 -160
- package/dist/proxy/compression-stats.js +0 -51
- package/dist/proxy/context-rot-detector.js +0 -137
- package/dist/proxy/drift-detector.js +0 -139
- package/dist/proxy/efficiency-tracker.js +0 -79
- package/dist/proxy/fact-ranking.js +0 -154
- package/dist/proxy/format-encoder.js +0 -266
- package/dist/proxy/http-transport.js +0 -90
- package/dist/proxy/lifecycle-actor.js +0 -55
- package/dist/proxy/lifecycle-machine.js +0 -187
- package/dist/proxy/log-tailer.js +0 -265
- package/dist/proxy/model-pricing.js +0 -98
- package/dist/proxy/network-firewall.js +0 -141
- package/dist/proxy/nudge-state.js +0 -93
- package/dist/proxy/output-compressor.js +0 -185
- package/dist/proxy/pid-lock.js +0 -291
- package/dist/proxy/proxy-context.js +0 -11
- package/dist/proxy/proxy.js +0 -2633
- package/dist/proxy/response-enrichment.js +0 -32
- package/dist/proxy/response-envelope.js +0 -313
- package/dist/proxy/session-dedup.js +0 -82
- package/dist/proxy/session-legend.js +0 -30
- package/dist/proxy/session-persistence.js +0 -210
- package/dist/proxy/session-resume.js +0 -94
- package/dist/proxy/session-stats.js +0 -513
- package/dist/proxy/shell-classifier.js +0 -1346
- package/dist/proxy/shell-compression-log.js +0 -93
- package/dist/proxy/shell-compressor.js +0 -390
- package/dist/proxy/shell-graph-boost.js +0 -202
- package/dist/proxy/shell-monitor-map.js +0 -18
- package/dist/proxy/shell-stats.js +0 -54
- package/dist/proxy/shell-strategies/cloud.js +0 -215
- package/dist/proxy/shell-strategies/diff.js +0 -159
- package/dist/proxy/shell-strategies/error-diagnostic.js +0 -796
- package/dist/proxy/shell-strategies/filter-dsl.js +0 -358
- package/dist/proxy/shell-strategies/git-status.js +0 -177
- package/dist/proxy/shell-strategies/key-value.js +0 -193
- package/dist/proxy/shell-strategies/log-text.js +0 -154
- package/dist/proxy/shell-strategies/omni.js +0 -188
- package/dist/proxy/shell-strategies/progress.js +0 -55
- package/dist/proxy/shell-strategies/redact.js +0 -76
- package/dist/proxy/shell-strategies/structured.js +0 -241
- package/dist/proxy/shell-strategies/tabular.js +0 -243
- package/dist/proxy/shell-strategies/test-results-types.js +0 -13
- package/dist/proxy/shell-strategies/test-results.js +0 -784
- package/dist/proxy/shell-strategies/tree-paths.js +0 -144
- package/dist/proxy/shell-strategies/yaml.js +0 -182
- package/dist/proxy/shell-tee.js +0 -111
- package/dist/proxy/signal-dedup.js +0 -171
- package/dist/proxy/startup-renderer.js +0 -158
- package/dist/proxy/task-token-display.js +0 -38
- package/dist/proxy/token-counter.js +0 -61
- package/dist/proxy/tool-clusters.js +0 -273
- package/dist/proxy/tool-definitions.js +0 -525
- package/dist/proxy/transport-mux.js +0 -229
- package/dist/proxy/wire-cap.js +0 -268
- package/dist/rules/developer.mozilla.org.json +0 -9
- package/dist/rules/github.com.json +0 -21
- package/dist/schemas/api/skills.js +0 -19
- package/dist/schemas/common/errors.js +0 -7
- package/dist/schemas/common/headers.js +0 -5
- package/dist/schemas/entities/edge.js +0 -25
- package/dist/schemas/entities/entity.js +0 -22
- package/dist/schemas/entities/rule.js +0 -18
- package/dist/schemas/index.js +0 -14
- package/dist/server/event-bus.js +0 -59
- package/dist/server/http.js +0 -156
- package/dist/server/middleware.js +0 -70
- package/dist/server/routes/drift.js +0 -97
- package/dist/server/routes/intelligence.js +0 -1217
- package/dist/server/routes/reasoning-quality.js +0 -444
- package/dist/server/routes/session.js +0 -86
- package/dist/server/routes/stream.js +0 -120
- package/dist/server/routes/system.js +0 -73
- package/dist/server/routes/temporal.js +0 -170
- package/dist/server/routes/timeline.js +0 -232
- package/dist/server/routes/token-flow.js +0 -403
- package/dist/skills/effectiveness-tracker.js +0 -93
- package/dist/skills/local-pack.js +0 -380
- package/dist/skills/resolver.js +0 -495
- package/dist/state-detector.js +0 -83
- package/dist/timeline/intent-detector.js +0 -263
- package/dist/timeline/loop-miner.js +0 -140
- package/dist/timeline/open-threads.js +0 -49
- package/dist/timeline/signal-reinforcer.js +0 -62
- package/dist/timeline/timeline-bootstrap.js +0 -151
- package/dist/timeline/timeline-store.js +0 -618
- package/dist/tools/coding/bash.js +0 -49
- package/dist/tools/coding/file-edit.js +0 -72
- package/dist/tools/coding/file-outline.js +0 -227
- package/dist/tools/coding/file-read-protocol.js +0 -425
- package/dist/tools/coding/file-read.js +0 -35
- package/dist/tools/coding/file-write.js +0 -43
- package/dist/tools/coding/glob-tool.js +0 -109
- package/dist/tools/coding/grep.js +0 -162
- package/dist/tools/coding/index.js +0 -27
- package/dist/tools/intelligence/index.js +0 -269
- package/dist/tools/intelligence/record-fact.js +0 -48
- package/dist/tools/intelligence/timeline-markers.js +0 -130
- package/dist/tools/registry.js +0 -47
- package/dist/tools/types.js +0 -8
- package/dist/tracking/auto-snapshot-triggers.js +0 -246
- package/dist/tracking/branch-context.js +0 -115
- package/dist/tracking/branch-snapshot.js +0 -217
- package/dist/tracking/causal-bridge.js +0 -317
- package/dist/tracking/circuit-breaker.js +0 -147
- package/dist/tracking/commit-watcher.js +0 -114
- package/dist/tracking/context-ledger.js +0 -119
- package/dist/tracking/correction-detector.js +0 -324
- package/dist/tracking/drift-tracker.js +0 -874
- package/dist/tracking/durability-tracker.js +0 -94
- package/dist/tracking/entity-rewind.js +0 -200
- package/dist/tracking/file-hash-state.js +0 -114
- package/dist/tracking/git-attribution.js +0 -132
- package/dist/tracking/git-trailers.js +0 -171
- package/dist/tracking/intelligence-counter.js +0 -46
- package/dist/tracking/intent-correlator.js +0 -202
- package/dist/tracking/intent-encoder.js +0 -52
- package/dist/tracking/intent-token-tracker.js +0 -159
- package/dist/tracking/ledger-archiver.js +0 -94
- package/dist/tracking/ledger-chains.js +0 -245
- package/dist/tracking/metrics-store.js +0 -361
- package/dist/tracking/native-watcher.js +0 -131
- package/dist/tracking/offline-rewind.js +0 -295
- package/dist/tracking/pending-violations.js +0 -74
- package/dist/tracking/persistence-effectiveness.js +0 -167
- package/dist/tracking/prompt-durability.js +0 -202
- package/dist/tracking/quality-signals.js +0 -213
- package/dist/tracking/redactor.js +0 -73
- package/dist/tracking/rewind-engine.js +0 -161
- package/dist/tracking/session-history.js +0 -128
- package/dist/tracking/session-receipt.js +0 -88
- package/dist/tracking/session-summary-writer.js +0 -157
- package/dist/tracking/shadow-ledger.js +0 -321
- package/dist/tracking/stash-manager.js +0 -258
- package/dist/tracking/timeline-fork.js +0 -213
- package/dist/tracking/timeline.js +0 -69
- package/dist/tracking/token-flow.js +0 -276
- package/dist/tracking/turn-segmenter.js +0 -122
- package/dist/tracking/weekly-accumulator.js +0 -179
- package/dist/tracking/working-snapshots.js +0 -188
- package/dist/tracking/workspace-manifest.js +0 -176
- package/dist/transport/http.js +0 -102
- package/dist/utils/counterfactual.js +0 -65
- package/dist/utils/deep-link.js +0 -34
- package/dist/utils/detect.js +0 -193
- package/dist/utils/exec.js +0 -73
- package/dist/utils/file-logger.js +0 -87
- package/dist/utils/format-error.js +0 -29
- package/dist/utils/git.js +0 -181
- package/dist/utils/log.js +0 -57
- package/dist/utils/logger.js +0 -35
- package/dist/utils/mcp-content-json.js +0 -8
- package/dist/utils/session-logger.js +0 -154
- package/dist/utils/startup-log.js +0 -512
- package/dist/utils/ui.js +0 -56
|
@@ -1,1346 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Layer 6 Sprint FE-D — two-phase shell stdout classifier (command hint + content heuristics).
|
|
3
|
-
*/
|
|
4
|
-
/** Normalized substring → category (longest match wins in lookup). */
|
|
5
|
-
export const COMMAND_HINTS = {
|
|
6
|
-
// ═══════════════════════════════════════════════════════════════
|
|
7
|
-
// ── TABULAR ──
|
|
8
|
-
// ═══════════════════════════════════════════════════════════════
|
|
9
|
-
"docker ps": "tabular",
|
|
10
|
-
"docker images": "tabular",
|
|
11
|
-
"docker stats": "tabular",
|
|
12
|
-
"docker volume ls": "tabular",
|
|
13
|
-
"docker network ls": "tabular",
|
|
14
|
-
"docker system df": "tabular",
|
|
15
|
-
"docker history": "tabular",
|
|
16
|
-
"docker top": "tabular",
|
|
17
|
-
"podman ps": "tabular",
|
|
18
|
-
"podman images": "tabular",
|
|
19
|
-
"df -h": "tabular",
|
|
20
|
-
"df -l": "tabular",
|
|
21
|
-
df: "tabular",
|
|
22
|
-
"ls -l": "tabular",
|
|
23
|
-
"ls -la": "tabular",
|
|
24
|
-
"ls -lah": "tabular",
|
|
25
|
-
"ls -lh": "tabular",
|
|
26
|
-
ls: "tabular",
|
|
27
|
-
ps: "tabular",
|
|
28
|
-
du: "tabular",
|
|
29
|
-
wc: "tabular",
|
|
30
|
-
"kubectl get": "tabular",
|
|
31
|
-
"kubectl top": "tabular",
|
|
32
|
-
"kubectl top pods": "tabular",
|
|
33
|
-
"kubectl top nodes": "tabular",
|
|
34
|
-
"kubectl get events": "tabular",
|
|
35
|
-
"kubectl config get-contexts": "tabular",
|
|
36
|
-
"kubectl api-resources": "tabular",
|
|
37
|
-
"helm list": "tabular",
|
|
38
|
-
"helm ls": "tabular",
|
|
39
|
-
"helm history": "tabular",
|
|
40
|
-
"helm search": "tabular",
|
|
41
|
-
"helm repo list": "tabular",
|
|
42
|
-
lsof: "tabular",
|
|
43
|
-
netstat: "tabular",
|
|
44
|
-
"netstat -tlnp": "tabular",
|
|
45
|
-
ss: "tabular",
|
|
46
|
-
"ss -tlnp": "tabular",
|
|
47
|
-
top: "tabular",
|
|
48
|
-
htop: "tabular",
|
|
49
|
-
free: "tabular",
|
|
50
|
-
"free -h": "tabular",
|
|
51
|
-
vmstat: "tabular",
|
|
52
|
-
iostat: "tabular",
|
|
53
|
-
mpstat: "tabular",
|
|
54
|
-
sar: "tabular",
|
|
55
|
-
lsmem: "tabular",
|
|
56
|
-
who: "tabular",
|
|
57
|
-
w: "tabular",
|
|
58
|
-
last: "tabular",
|
|
59
|
-
lastlog: "tabular",
|
|
60
|
-
lspci: "tabular",
|
|
61
|
-
lsusb: "tabular",
|
|
62
|
-
"lshw -short": "tabular",
|
|
63
|
-
lsblk: "tabular",
|
|
64
|
-
"fdisk -l": "tabular",
|
|
65
|
-
findmnt: "tabular",
|
|
66
|
-
lsmod: "tabular",
|
|
67
|
-
"dpkg -l": "tabular",
|
|
68
|
-
"zypper search": "tabular",
|
|
69
|
-
"snap list": "tabular",
|
|
70
|
-
"flatpak list": "tabular",
|
|
71
|
-
"brew services list": "tabular",
|
|
72
|
-
"ip route": "tabular",
|
|
73
|
-
"ip neigh": "tabular",
|
|
74
|
-
route: "tabular",
|
|
75
|
-
arp: "tabular",
|
|
76
|
-
"mtr --report": "tabular",
|
|
77
|
-
mtr: "tabular",
|
|
78
|
-
tshark: "tabular",
|
|
79
|
-
"iptables -L": "tabular",
|
|
80
|
-
"perf report": "tabular",
|
|
81
|
-
"perf top": "tabular",
|
|
82
|
-
"py-spy": "tabular",
|
|
83
|
-
pmap: "tabular",
|
|
84
|
-
nm: "tabular",
|
|
85
|
-
pgrep: "log_text",
|
|
86
|
-
"pm2 list": "tabular",
|
|
87
|
-
"pm2 status": "tabular",
|
|
88
|
-
"forever list": "tabular",
|
|
89
|
-
"git shortlog": "log_text",
|
|
90
|
-
"git blame": "log_text",
|
|
91
|
-
"git annotate": "log_text",
|
|
92
|
-
"git worktree list": "tabular",
|
|
93
|
-
"gh run list": "tabular",
|
|
94
|
-
"gh pr list": "tabular",
|
|
95
|
-
"gh pr checks": "tabular",
|
|
96
|
-
"gh issue list": "tabular",
|
|
97
|
-
"gh workflow list": "tabular",
|
|
98
|
-
"gh release list": "tabular",
|
|
99
|
-
"gh search": "tabular",
|
|
100
|
-
"act -l": "tabular",
|
|
101
|
-
"systemctl list-units": "tabular",
|
|
102
|
-
"launchctl list": "tabular",
|
|
103
|
-
"aws s3 ls": "tabular",
|
|
104
|
-
"gcloud compute instances list": "tabular",
|
|
105
|
-
"gcloud projects list": "tabular",
|
|
106
|
-
"gcloud services list": "tabular",
|
|
107
|
-
"vercel ls": "tabular",
|
|
108
|
-
"heroku ps": "tabular",
|
|
109
|
-
"multipass list": "tabular",
|
|
110
|
-
psql: "tabular",
|
|
111
|
-
mysql: "tabular",
|
|
112
|
-
sqlite3: "tabular",
|
|
113
|
-
pgcli: "tabular",
|
|
114
|
-
mycli: "tabular",
|
|
115
|
-
litecli: "tabular",
|
|
116
|
-
vegeta: "tabular",
|
|
117
|
-
bandwhich: "tabular",
|
|
118
|
-
iftop: "tabular",
|
|
119
|
-
nethogs: "tabular",
|
|
120
|
-
ncdu: "tabular",
|
|
121
|
-
"btrfs subvolume list": "tabular",
|
|
122
|
-
"zfs list": "tabular",
|
|
123
|
-
// ═══════════════════════════════════════════════════════════════
|
|
124
|
-
// ── DIFF ──
|
|
125
|
-
// ═══════════════════════════════════════════════════════════════
|
|
126
|
-
"git diff": "diff",
|
|
127
|
-
"git show": "diff",
|
|
128
|
-
diff: "diff",
|
|
129
|
-
"git format-patch": "diff",
|
|
130
|
-
"gh pr diff": "diff",
|
|
131
|
-
"cdk diff": "diff",
|
|
132
|
-
"autopep8 --diff": "diff",
|
|
133
|
-
"yapf --diff": "diff",
|
|
134
|
-
"shfmt -d": "diff",
|
|
135
|
-
// ═══════════════════════════════════════════════════════════════
|
|
136
|
-
// ── LOG / BUILD OUTPUT ──
|
|
137
|
-
// ═══════════════════════════════════════════════════════════════
|
|
138
|
-
tail: "log_text",
|
|
139
|
-
journalctl: "log_text",
|
|
140
|
-
"journalctl -u": "log_text",
|
|
141
|
-
"journalctl -f": "log_text",
|
|
142
|
-
less: "log_text",
|
|
143
|
-
cat: "log_text",
|
|
144
|
-
grep: "log_text",
|
|
145
|
-
rg: "log_text",
|
|
146
|
-
ag: "log_text",
|
|
147
|
-
"docker logs": "log_text",
|
|
148
|
-
"docker-compose up": "log_text",
|
|
149
|
-
"docker-compose logs": "log_text",
|
|
150
|
-
"docker compose up": "log_text",
|
|
151
|
-
"docker compose logs": "log_text",
|
|
152
|
-
"docker compose build": "log_text",
|
|
153
|
-
"docker compose down": "log_text",
|
|
154
|
-
"docker compose restart": "log_text",
|
|
155
|
-
"docker compose exec": "log_text",
|
|
156
|
-
"docker build": "log_text",
|
|
157
|
-
"docker run": "log_text",
|
|
158
|
-
"docker exec": "log_text",
|
|
159
|
-
"docker system prune": "log_text",
|
|
160
|
-
"podman build": "log_text",
|
|
161
|
-
"podman run": "log_text",
|
|
162
|
-
"podman logs": "log_text",
|
|
163
|
-
dmesg: "log_text",
|
|
164
|
-
"git log": "log_text",
|
|
165
|
-
"git log --oneline": "log_text",
|
|
166
|
-
"git log --stat": "log_text",
|
|
167
|
-
"git log --graph": "log_text",
|
|
168
|
-
"git stash": "log_text",
|
|
169
|
-
"git bisect": "log_text",
|
|
170
|
-
"git reflog": "log_text",
|
|
171
|
-
"git cherry-pick": "log_text",
|
|
172
|
-
"git rebase": "log_text",
|
|
173
|
-
"git merge": "log_text",
|
|
174
|
-
make: "log_text",
|
|
175
|
-
cmake: "log_text",
|
|
176
|
-
ninja: "log_text",
|
|
177
|
-
// JS/TS build
|
|
178
|
-
webpack: "log_text",
|
|
179
|
-
"vite build": "log_text",
|
|
180
|
-
"vite preview": "log_text",
|
|
181
|
-
"pnpm run build": "log_text",
|
|
182
|
-
"npm run build": "log_text",
|
|
183
|
-
"yarn build": "log_text",
|
|
184
|
-
rollup: "log_text",
|
|
185
|
-
esbuild: "log_text",
|
|
186
|
-
swc: "log_text",
|
|
187
|
-
tsup: "log_text",
|
|
188
|
-
"tsc --build": "log_text",
|
|
189
|
-
unbuild: "log_text",
|
|
190
|
-
"parcel build": "log_text",
|
|
191
|
-
// Monorepo / meta-build
|
|
192
|
-
"nx build": "log_text",
|
|
193
|
-
"nx run-many --target=build": "log_text",
|
|
194
|
-
"nx run-many": "log_text",
|
|
195
|
-
"nx run": "log_text",
|
|
196
|
-
"npx nx": "log_text",
|
|
197
|
-
"turbo build": "log_text",
|
|
198
|
-
"turbo run build": "log_text",
|
|
199
|
-
"turbo run": "log_text",
|
|
200
|
-
"npx turbo": "log_text",
|
|
201
|
-
"bazel build": "log_text",
|
|
202
|
-
"bazel run": "log_text",
|
|
203
|
-
"lerna run": "log_text",
|
|
204
|
-
"lerna build": "log_text",
|
|
205
|
-
"rush build": "log_text",
|
|
206
|
-
"rush rebuild": "log_text",
|
|
207
|
-
"moon run": "log_text",
|
|
208
|
-
"moon check": "log_text",
|
|
209
|
-
// Frameworks
|
|
210
|
-
"next build": "log_text",
|
|
211
|
-
"next dev": "log_text",
|
|
212
|
-
"nuxt build": "log_text",
|
|
213
|
-
"nuxt dev": "log_text",
|
|
214
|
-
"gatsby build": "log_text",
|
|
215
|
-
"astro build": "log_text",
|
|
216
|
-
"remix build": "log_text",
|
|
217
|
-
"svelte-kit build": "log_text",
|
|
218
|
-
"ng build": "log_text",
|
|
219
|
-
"ng serve": "log_text",
|
|
220
|
-
"ember build": "log_text",
|
|
221
|
-
"expo build": "log_text",
|
|
222
|
-
"react-native run-android": "log_text",
|
|
223
|
-
"react-native run-ios": "log_text",
|
|
224
|
-
"flutter build": "log_text",
|
|
225
|
-
"flutter run": "log_text",
|
|
226
|
-
"dart compile": "log_text",
|
|
227
|
-
// Rust build
|
|
228
|
-
"cargo build": "log_text",
|
|
229
|
-
"cargo run": "log_text",
|
|
230
|
-
"cargo check": "error_diagnostic",
|
|
231
|
-
// Go build
|
|
232
|
-
"go build": "log_text",
|
|
233
|
-
"go run": "log_text",
|
|
234
|
-
"go generate": "log_text",
|
|
235
|
-
// Java/JVM build
|
|
236
|
-
"gradle build": "log_text",
|
|
237
|
-
"./gradlew build": "log_text",
|
|
238
|
-
"./gradlew": "log_text",
|
|
239
|
-
"mvn compile": "log_text",
|
|
240
|
-
"mvn package": "log_text",
|
|
241
|
-
"mvn install": "log_text",
|
|
242
|
-
mvn: "log_text",
|
|
243
|
-
gradle: "log_text",
|
|
244
|
-
sbt: "log_text",
|
|
245
|
-
// Swift
|
|
246
|
-
xcodebuild: "log_text",
|
|
247
|
-
// .NET
|
|
248
|
-
"dotnet run": "log_text",
|
|
249
|
-
"dotnet publish": "log_text",
|
|
250
|
-
// Ruby
|
|
251
|
-
rake: "log_text",
|
|
252
|
-
// Other languages
|
|
253
|
-
"zig build": "log_text",
|
|
254
|
-
"deno compile": "log_text",
|
|
255
|
-
"bun build": "log_text",
|
|
256
|
-
meson: "log_text",
|
|
257
|
-
"meson compile": "log_text",
|
|
258
|
-
"meson setup": "log_text",
|
|
259
|
-
"cabal build": "log_text",
|
|
260
|
-
"stack build": "log_text",
|
|
261
|
-
"mix compile": "log_text",
|
|
262
|
-
"rebar3 compile": "log_text",
|
|
263
|
-
"shards build": "log_text",
|
|
264
|
-
"nimble build": "log_text",
|
|
265
|
-
"opam build": "log_text",
|
|
266
|
-
"dune build": "log_text",
|
|
267
|
-
"nix build": "log_text",
|
|
268
|
-
"wasm-pack build": "log_text",
|
|
269
|
-
emcc: "log_text",
|
|
270
|
-
protoc: "log_text",
|
|
271
|
-
"buf build": "log_text",
|
|
272
|
-
"graphql-codegen": "log_text",
|
|
273
|
-
"openapi-generator": "log_text",
|
|
274
|
-
// Cloud / deploy
|
|
275
|
-
"ansible-playbook": "log_text",
|
|
276
|
-
ansible: "log_text",
|
|
277
|
-
"kubectl apply": "log_text",
|
|
278
|
-
"kubectl delete": "log_text",
|
|
279
|
-
"kubectl create": "log_text",
|
|
280
|
-
"kubectl patch": "log_text",
|
|
281
|
-
"kubectl rollout": "log_text",
|
|
282
|
-
"kubectl scale": "log_text",
|
|
283
|
-
"kubectl exec": "log_text",
|
|
284
|
-
"kubectl port-forward": "log_text",
|
|
285
|
-
"kubectl logs": "log_text",
|
|
286
|
-
"helm install": "log_text",
|
|
287
|
-
"helm upgrade": "log_text",
|
|
288
|
-
"helm uninstall": "log_text",
|
|
289
|
-
"helm rollback": "log_text",
|
|
290
|
-
"terraform apply": "log_text",
|
|
291
|
-
"terraform destroy": "log_text",
|
|
292
|
-
"terraform plan": "log_text",
|
|
293
|
-
"terraform fmt": "log_text",
|
|
294
|
-
"terraform import": "log_text",
|
|
295
|
-
"terraform refresh": "log_text",
|
|
296
|
-
"pulumi up": "log_text",
|
|
297
|
-
"pulumi preview": "log_text",
|
|
298
|
-
"pulumi destroy": "log_text",
|
|
299
|
-
"cdk deploy": "log_text",
|
|
300
|
-
"cdk destroy": "log_text",
|
|
301
|
-
"serverless deploy": "log_text",
|
|
302
|
-
"sls deploy": "log_text",
|
|
303
|
-
"sam build": "log_text",
|
|
304
|
-
"sam deploy": "log_text",
|
|
305
|
-
"sam local start-api": "log_text",
|
|
306
|
-
"aws logs": "log_text",
|
|
307
|
-
"gcloud run deploy": "log_text",
|
|
308
|
-
"gcloud builds submit": "log_text",
|
|
309
|
-
"az webapp deploy": "log_text",
|
|
310
|
-
"fly deploy": "log_text",
|
|
311
|
-
"fly logs": "log_text",
|
|
312
|
-
"vercel deploy": "log_text",
|
|
313
|
-
"netlify deploy": "log_text",
|
|
314
|
-
"heroku logs": "log_text",
|
|
315
|
-
"railway deploy": "log_text",
|
|
316
|
-
"railway logs": "log_text",
|
|
317
|
-
"supabase db push": "log_text",
|
|
318
|
-
"supabase functions deploy": "log_text",
|
|
319
|
-
"wrangler deploy": "log_text",
|
|
320
|
-
"wrangler dev": "log_text",
|
|
321
|
-
"wrangler tail": "log_text",
|
|
322
|
-
"firebase deploy": "log_text",
|
|
323
|
-
"firebase serve": "log_text",
|
|
324
|
-
"firebase functions:log": "log_text",
|
|
325
|
-
"firebase emulators:start": "log_text",
|
|
326
|
-
"vagrant up": "log_text",
|
|
327
|
-
"vagrant halt": "log_text",
|
|
328
|
-
"vagrant destroy": "log_text",
|
|
329
|
-
"minikube start": "log_text",
|
|
330
|
-
"kind create cluster": "log_text",
|
|
331
|
-
"skaffold dev": "log_text",
|
|
332
|
-
"skaffold build": "log_text",
|
|
333
|
-
"skaffold deploy": "log_text",
|
|
334
|
-
"tilt up": "log_text",
|
|
335
|
-
// Database migrations
|
|
336
|
-
"prisma migrate": "log_text",
|
|
337
|
-
"prisma db push": "log_text",
|
|
338
|
-
"prisma generate": "log_text",
|
|
339
|
-
"npx prisma": "log_text",
|
|
340
|
-
"sequelize db:migrate": "log_text",
|
|
341
|
-
"typeorm migration:run": "log_text",
|
|
342
|
-
"knex migrate:latest": "log_text",
|
|
343
|
-
"drizzle-kit push": "log_text",
|
|
344
|
-
"drizzle-kit generate": "log_text",
|
|
345
|
-
"flyway migrate": "log_text",
|
|
346
|
-
"liquibase update": "log_text",
|
|
347
|
-
"alembic upgrade": "log_text",
|
|
348
|
-
"diesel migration run": "log_text",
|
|
349
|
-
"goose up": "log_text",
|
|
350
|
-
"atlas migrate apply": "log_text",
|
|
351
|
-
"dbmate up": "log_text",
|
|
352
|
-
"sqitch deploy": "log_text",
|
|
353
|
-
pg_dump: "log_text",
|
|
354
|
-
pg_restore: "log_text",
|
|
355
|
-
mysqldump: "log_text",
|
|
356
|
-
// CI/CD
|
|
357
|
-
"gh run watch": "log_text",
|
|
358
|
-
act: "log_text",
|
|
359
|
-
"gitlab-runner exec": "log_text",
|
|
360
|
-
"circleci local execute": "log_text",
|
|
361
|
-
"gh copilot": "log_text",
|
|
362
|
-
// Debugging / profiling
|
|
363
|
-
strace: "log_text",
|
|
364
|
-
ltrace: "log_text",
|
|
365
|
-
dtrace: "log_text",
|
|
366
|
-
valgrind: "log_text",
|
|
367
|
-
"valgrind --tool=memcheck": "log_text",
|
|
368
|
-
"valgrind --tool=callgrind": "log_text",
|
|
369
|
-
heaptrack: "log_text",
|
|
370
|
-
gdb: "log_text",
|
|
371
|
-
lldb: "log_text",
|
|
372
|
-
pprof: "log_text",
|
|
373
|
-
"go tool pprof": "log_text",
|
|
374
|
-
objdump: "log_text",
|
|
375
|
-
strings: "log_text",
|
|
376
|
-
"node --inspect": "log_text",
|
|
377
|
-
nodemon: "log_text",
|
|
378
|
-
"pm2 logs": "log_text",
|
|
379
|
-
concurrently: "log_text",
|
|
380
|
-
// Networking
|
|
381
|
-
ping: "log_text",
|
|
382
|
-
ping6: "log_text",
|
|
383
|
-
traceroute: "log_text",
|
|
384
|
-
tracepath: "log_text",
|
|
385
|
-
"curl -v": "log_text",
|
|
386
|
-
nc: "log_text",
|
|
387
|
-
ncat: "log_text",
|
|
388
|
-
socat: "log_text",
|
|
389
|
-
telnet: "log_text",
|
|
390
|
-
"ssh -v": "log_text",
|
|
391
|
-
tcpdump: "log_text",
|
|
392
|
-
// Doc generators
|
|
393
|
-
typedoc: "log_text",
|
|
394
|
-
jsdoc: "log_text",
|
|
395
|
-
doxygen: "log_text",
|
|
396
|
-
"sphinx-build": "log_text",
|
|
397
|
-
"mkdocs build": "log_text",
|
|
398
|
-
"mkdocs serve": "log_text",
|
|
399
|
-
"mdbook build": "log_text",
|
|
400
|
-
rustdoc: "log_text",
|
|
401
|
-
// Misc
|
|
402
|
-
"systemctl start": "log_text",
|
|
403
|
-
"systemctl stop": "log_text",
|
|
404
|
-
"systemctl restart": "log_text",
|
|
405
|
-
"systemctl enable": "log_text",
|
|
406
|
-
"systemctl disable": "log_text",
|
|
407
|
-
watch: "log_text",
|
|
408
|
-
xargs: "log_text",
|
|
409
|
-
parallel: "log_text",
|
|
410
|
-
task: "log_text",
|
|
411
|
-
just: "log_text",
|
|
412
|
-
earthly: "log_text",
|
|
413
|
-
pants: "log_text",
|
|
414
|
-
"please build": "log_text",
|
|
415
|
-
"buck2 build": "log_text",
|
|
416
|
-
"python -c": "log_text",
|
|
417
|
-
"python3 -c": "log_text",
|
|
418
|
-
// ═══════════════════════════════════════════════════════════════
|
|
419
|
-
// ── TEST RESULTS ──
|
|
420
|
-
// ═══════════════════════════════════════════════════════════════
|
|
421
|
-
"npm test": "test_results",
|
|
422
|
-
"npm run test": "test_results",
|
|
423
|
-
"pnpm test": "test_results",
|
|
424
|
-
"pnpm run test": "test_results",
|
|
425
|
-
"yarn test": "test_results",
|
|
426
|
-
vitest: "test_results",
|
|
427
|
-
jest: "test_results",
|
|
428
|
-
mocha: "test_results",
|
|
429
|
-
pytest: "test_results",
|
|
430
|
-
"python -m pytest": "test_results",
|
|
431
|
-
"python3 -m pytest": "test_results",
|
|
432
|
-
"cargo test": "test_results",
|
|
433
|
-
"go test": "test_results",
|
|
434
|
-
rspec: "test_results",
|
|
435
|
-
"bundle exec rspec": "test_results",
|
|
436
|
-
phpunit: "test_results",
|
|
437
|
-
"dotnet test": "test_results",
|
|
438
|
-
"swift test": "test_results",
|
|
439
|
-
"gradle test": "test_results",
|
|
440
|
-
"./gradlew test": "test_results",
|
|
441
|
-
"gradle check": "test_results",
|
|
442
|
-
"./gradlew check": "test_results",
|
|
443
|
-
"mvn test": "test_results",
|
|
444
|
-
"mvn verify": "test_results",
|
|
445
|
-
"sbt test": "test_results",
|
|
446
|
-
"sbt it:test": "test_results",
|
|
447
|
-
minitest: "test_results",
|
|
448
|
-
"mix test": "test_results",
|
|
449
|
-
"playwright test": "test_results",
|
|
450
|
-
"npx playwright test": "test_results",
|
|
451
|
-
"npx playwright": "test_results",
|
|
452
|
-
"nx test": "test_results",
|
|
453
|
-
"nx run-many --target=test": "test_results",
|
|
454
|
-
"turbo test": "test_results",
|
|
455
|
-
"turbo run test": "test_results",
|
|
456
|
-
"bazel test": "test_results",
|
|
457
|
-
ctest: "test_results",
|
|
458
|
-
"zig test": "test_results",
|
|
459
|
-
"deno test": "test_results",
|
|
460
|
-
"bun test": "test_results",
|
|
461
|
-
"bun run test": "test_results",
|
|
462
|
-
"cypress run": "test_results",
|
|
463
|
-
"npx cypress run": "test_results",
|
|
464
|
-
wdio: "test_results",
|
|
465
|
-
"npx wdio": "test_results",
|
|
466
|
-
ava: "test_results",
|
|
467
|
-
tap: "test_results",
|
|
468
|
-
jasmine: "test_results",
|
|
469
|
-
"karma start": "test_results",
|
|
470
|
-
"elm-test": "test_results",
|
|
471
|
-
"flutter test": "test_results",
|
|
472
|
-
"dart test": "test_results",
|
|
473
|
-
"crystal spec": "test_results",
|
|
474
|
-
"helm test": "test_results",
|
|
475
|
-
"container-structure-test": "test_results",
|
|
476
|
-
"k6 run": "test_results",
|
|
477
|
-
"artillery run": "test_results",
|
|
478
|
-
"newman run": "test_results",
|
|
479
|
-
hurl: "test_results",
|
|
480
|
-
// ═══════════════════════════════════════════════════════════════
|
|
481
|
-
// ── PROGRESS / INSTALL ──
|
|
482
|
-
// ═══════════════════════════════════════════════════════════════
|
|
483
|
-
"npm install": "progress_streaming",
|
|
484
|
-
"npm i": "progress_streaming",
|
|
485
|
-
"npm ci": "progress_streaming",
|
|
486
|
-
"npm update": "progress_streaming",
|
|
487
|
-
"pnpm install": "progress_streaming",
|
|
488
|
-
"pnpm add": "progress_streaming",
|
|
489
|
-
"pnpm i": "progress_streaming",
|
|
490
|
-
"pnpm update": "progress_streaming",
|
|
491
|
-
"pip install": "progress_streaming",
|
|
492
|
-
"pip3 install": "progress_streaming",
|
|
493
|
-
"uv pip install": "progress_streaming",
|
|
494
|
-
"uv sync": "progress_streaming",
|
|
495
|
-
"uv add": "progress_streaming",
|
|
496
|
-
"yarn install": "progress_streaming",
|
|
497
|
-
"yarn add": "progress_streaming",
|
|
498
|
-
"yarn upgrade": "progress_streaming",
|
|
499
|
-
"poetry install": "progress_streaming",
|
|
500
|
-
"poetry add": "progress_streaming",
|
|
501
|
-
"pipenv install": "progress_streaming",
|
|
502
|
-
"bundle install": "progress_streaming",
|
|
503
|
-
"gem install": "progress_streaming",
|
|
504
|
-
"cargo install": "progress_streaming",
|
|
505
|
-
"cargo add": "progress_streaming",
|
|
506
|
-
"go install": "progress_streaming",
|
|
507
|
-
"go get": "progress_streaming",
|
|
508
|
-
"go mod download": "progress_streaming",
|
|
509
|
-
"composer install": "progress_streaming",
|
|
510
|
-
"composer update": "progress_streaming",
|
|
511
|
-
"composer require": "progress_streaming",
|
|
512
|
-
"deno install": "progress_streaming",
|
|
513
|
-
"deno add": "progress_streaming",
|
|
514
|
-
"bun install": "progress_streaming",
|
|
515
|
-
"bun add": "progress_streaming",
|
|
516
|
-
"pdm install": "progress_streaming",
|
|
517
|
-
"pdm add": "progress_streaming",
|
|
518
|
-
"conda install": "progress_streaming",
|
|
519
|
-
"conda create": "progress_streaming",
|
|
520
|
-
"conda update": "progress_streaming",
|
|
521
|
-
"mamba install": "progress_streaming",
|
|
522
|
-
"mamba create": "progress_streaming",
|
|
523
|
-
"rye sync": "progress_streaming",
|
|
524
|
-
"rye add": "progress_streaming",
|
|
525
|
-
"mix deps.get": "progress_streaming",
|
|
526
|
-
"pub get": "progress_streaming",
|
|
527
|
-
"flutter pub get": "progress_streaming",
|
|
528
|
-
"nuget restore": "progress_streaming",
|
|
529
|
-
"dotnet restore": "progress_streaming",
|
|
530
|
-
"vcpkg install": "progress_streaming",
|
|
531
|
-
"conan install": "progress_streaming",
|
|
532
|
-
wget: "progress_streaming",
|
|
533
|
-
"apt install": "progress_streaming",
|
|
534
|
-
"apt-get install": "progress_streaming",
|
|
535
|
-
"apt update": "progress_streaming",
|
|
536
|
-
"apt-get update": "progress_streaming",
|
|
537
|
-
"brew install": "progress_streaming",
|
|
538
|
-
"brew upgrade": "progress_streaming",
|
|
539
|
-
"brew update": "progress_streaming",
|
|
540
|
-
"dnf install": "progress_streaming",
|
|
541
|
-
"yum install": "progress_streaming",
|
|
542
|
-
"pacman -S": "progress_streaming",
|
|
543
|
-
"snap install": "progress_streaming",
|
|
544
|
-
"flatpak install": "progress_streaming",
|
|
545
|
-
"nix-env -i": "progress_streaming",
|
|
546
|
-
"docker pull": "progress_streaming",
|
|
547
|
-
"docker push": "progress_streaming",
|
|
548
|
-
"docker compose pull": "progress_streaming",
|
|
549
|
-
"docker compose push": "progress_streaming",
|
|
550
|
-
"podman pull": "progress_streaming",
|
|
551
|
-
"terraform init": "progress_streaming",
|
|
552
|
-
"helm repo update": "progress_streaming",
|
|
553
|
-
"ansible-galaxy": "progress_streaming",
|
|
554
|
-
"git pull": "progress_streaming",
|
|
555
|
-
"git push": "progress_streaming",
|
|
556
|
-
"git fetch": "progress_streaming",
|
|
557
|
-
"git clone": "progress_streaming",
|
|
558
|
-
"git submodule update": "progress_streaming",
|
|
559
|
-
"git lfs pull": "progress_streaming",
|
|
560
|
-
"git lfs push": "progress_streaming",
|
|
561
|
-
"gh workflow run": "progress_streaming",
|
|
562
|
-
"aws s3 cp": "progress_streaming",
|
|
563
|
-
"aws s3 sync": "progress_streaming",
|
|
564
|
-
"nvm install": "progress_streaming",
|
|
565
|
-
"fnm install": "progress_streaming",
|
|
566
|
-
"pyenv install": "progress_streaming",
|
|
567
|
-
"rbenv install": "progress_streaming",
|
|
568
|
-
"rustup update": "progress_streaming",
|
|
569
|
-
"volta install": "progress_streaming",
|
|
570
|
-
"asdf install": "progress_streaming",
|
|
571
|
-
"mise install": "progress_streaming",
|
|
572
|
-
"sdk install": "progress_streaming",
|
|
573
|
-
"spack install": "progress_streaming",
|
|
574
|
-
// ═══════════════════════════════════════════════════════════════
|
|
575
|
-
// ── TREE / PATHS ──
|
|
576
|
-
// ═══════════════════════════════════════════════════════════════
|
|
577
|
-
tree: "tree_paths",
|
|
578
|
-
find: "tree_paths",
|
|
579
|
-
fd: "tree_paths",
|
|
580
|
-
locate: "tree_paths",
|
|
581
|
-
"ls -R": "tree_paths",
|
|
582
|
-
"git ls-files": "tree_paths",
|
|
583
|
-
"git ls-tree": "tree_paths",
|
|
584
|
-
"dpkg -L": "tree_paths",
|
|
585
|
-
"rpm -ql": "tree_paths",
|
|
586
|
-
"pacman -Ql": "tree_paths",
|
|
587
|
-
"brew deps": "tree_paths",
|
|
588
|
-
// ═══════════════════════════════════════════════════════════════
|
|
589
|
-
// ── STRUCTURED (JSON/YAML) ──
|
|
590
|
-
// ═══════════════════════════════════════════════════════════════
|
|
591
|
-
"docker inspect": "structured",
|
|
592
|
-
"docker volume inspect": "structured",
|
|
593
|
-
"docker network inspect": "structured",
|
|
594
|
-
"podman inspect": "structured",
|
|
595
|
-
"kubectl get -o json": "structured",
|
|
596
|
-
"kubectl get -o yaml": "yaml",
|
|
597
|
-
"kubectl get pods -o json": "structured",
|
|
598
|
-
curl: "structured",
|
|
599
|
-
"helm get": "yaml",
|
|
600
|
-
"helm template": "yaml",
|
|
601
|
-
"helm show": "yaml",
|
|
602
|
-
"helm show values": "yaml",
|
|
603
|
-
"terraform show": "structured",
|
|
604
|
-
"terraform graph": "structured",
|
|
605
|
-
"cdk synth": "structured",
|
|
606
|
-
"serverless invoke": "structured",
|
|
607
|
-
"sam local invoke": "structured",
|
|
608
|
-
aws: "structured",
|
|
609
|
-
"aws ec2 describe-instances": "structured",
|
|
610
|
-
"aws ecs list-tasks": "structured",
|
|
611
|
-
"aws lambda invoke": "structured",
|
|
612
|
-
"aws cloudformation describe-stacks": "structured",
|
|
613
|
-
"aws iam list-users": "structured",
|
|
614
|
-
"aws sts get-caller-identity": "structured",
|
|
615
|
-
"az vm list": "structured",
|
|
616
|
-
"az group list": "structured",
|
|
617
|
-
"az account show": "structured",
|
|
618
|
-
"az aks": "structured",
|
|
619
|
-
gcloud: "structured",
|
|
620
|
-
jq: "structured",
|
|
621
|
-
yq: "yaml",
|
|
622
|
-
mongosh: "structured",
|
|
623
|
-
mongo: "structured",
|
|
624
|
-
"gh run view": "structured",
|
|
625
|
-
"gh pr view": "structured",
|
|
626
|
-
"gh issue view": "structured",
|
|
627
|
-
"gh release view": "structured",
|
|
628
|
-
"gh repo view": "structured",
|
|
629
|
-
"gh api": "structured",
|
|
630
|
-
grpcurl: "structured",
|
|
631
|
-
httpie: "structured",
|
|
632
|
-
http: "structured",
|
|
633
|
-
dig: "structured",
|
|
634
|
-
// ═══════════════════════════════════════════════════════════════
|
|
635
|
-
// ── YAML ──
|
|
636
|
-
// ═══════════════════════════════════════════════════════════════
|
|
637
|
-
"kubectl get pods -o yaml": "yaml",
|
|
638
|
-
"kubectl get deployment -o yaml": "yaml",
|
|
639
|
-
"kubectl get service -o yaml": "yaml",
|
|
640
|
-
"kubectl get configmap -o yaml": "yaml",
|
|
641
|
-
"kubectl get secret -o yaml": "yaml",
|
|
642
|
-
"kubectl get ingress -o yaml": "yaml",
|
|
643
|
-
"kubectl get node -o yaml": "yaml",
|
|
644
|
-
"helm get values": "yaml",
|
|
645
|
-
"helm get manifest": "yaml",
|
|
646
|
-
"cat docker-compose.yml": "yaml",
|
|
647
|
-
"cat docker-compose.yaml": "yaml",
|
|
648
|
-
"cat compose.yml": "yaml",
|
|
649
|
-
"cat compose.yaml": "yaml",
|
|
650
|
-
// ═══════════════════════════════════════════════════════════════
|
|
651
|
-
// ── KEY-VALUE ──
|
|
652
|
-
// ═══════════════════════════════════════════════════════════════
|
|
653
|
-
env: "key_value",
|
|
654
|
-
printenv: "key_value",
|
|
655
|
-
"set -o": "key_value",
|
|
656
|
-
"git config": "key_value",
|
|
657
|
-
"git status": "key_value",
|
|
658
|
-
"git remote": "key_value",
|
|
659
|
-
"git branch": "key_value",
|
|
660
|
-
"git tag": "key_value",
|
|
661
|
-
"git tag -l": "key_value",
|
|
662
|
-
"git describe": "key_value",
|
|
663
|
-
"git rev-parse": "key_value",
|
|
664
|
-
"git stash list": "key_value",
|
|
665
|
-
"cargo metadata": "key_value",
|
|
666
|
-
"pip show": "key_value",
|
|
667
|
-
"pip3 show": "key_value",
|
|
668
|
-
"npm ls": "key_value",
|
|
669
|
-
"pnpm ls": "key_value",
|
|
670
|
-
"go env": "key_value",
|
|
671
|
-
// kubectl describe is Key: Value format, NOT JSON
|
|
672
|
-
"kubectl describe": "key_value",
|
|
673
|
-
"kubectl config": "key_value",
|
|
674
|
-
"kubectl config view": "key_value",
|
|
675
|
-
"kubectl cluster-info": "key_value",
|
|
676
|
-
"kubectl explain": "key_value",
|
|
677
|
-
"kubectl auth can-i": "key_value",
|
|
678
|
-
kubectl: "key_value",
|
|
679
|
-
"helm status": "key_value",
|
|
680
|
-
// Terraform
|
|
681
|
-
"terraform output": "key_value",
|
|
682
|
-
"terraform state list": "key_value",
|
|
683
|
-
"terraform state show": "key_value",
|
|
684
|
-
"terraform providers": "key_value",
|
|
685
|
-
"terraform workspace list": "key_value",
|
|
686
|
-
// Cloud
|
|
687
|
-
"pulumi stack": "key_value",
|
|
688
|
-
"pulumi config": "key_value",
|
|
689
|
-
"cdk list": "key_value",
|
|
690
|
-
"serverless info": "key_value",
|
|
691
|
-
"gcloud auth": "key_value",
|
|
692
|
-
"gcloud config list": "key_value",
|
|
693
|
-
"az login": "key_value",
|
|
694
|
-
"fly status": "key_value",
|
|
695
|
-
"vercel env": "key_value",
|
|
696
|
-
"netlify status": "key_value",
|
|
697
|
-
"netlify env": "key_value",
|
|
698
|
-
"heroku config": "key_value",
|
|
699
|
-
"heroku info": "key_value",
|
|
700
|
-
"railway status": "key_value",
|
|
701
|
-
"supabase status": "key_value",
|
|
702
|
-
"vagrant status": "key_value",
|
|
703
|
-
"multipass info": "key_value",
|
|
704
|
-
"minikube status": "key_value",
|
|
705
|
-
"kind get clusters": "key_value",
|
|
706
|
-
// Database
|
|
707
|
-
"redis-cli": "key_value",
|
|
708
|
-
"redis-cli info": "key_value",
|
|
709
|
-
// System
|
|
710
|
-
"systemctl status": "key_value",
|
|
711
|
-
"systemctl show": "key_value",
|
|
712
|
-
service: "key_value",
|
|
713
|
-
"launchctl print": "key_value",
|
|
714
|
-
"crontab -l": "key_value",
|
|
715
|
-
stat: "key_value",
|
|
716
|
-
file: "key_value",
|
|
717
|
-
md5sum: "key_value",
|
|
718
|
-
sha256sum: "key_value",
|
|
719
|
-
shasum: "key_value",
|
|
720
|
-
readlink: "key_value",
|
|
721
|
-
realpath: "key_value",
|
|
722
|
-
blkid: "key_value",
|
|
723
|
-
mount: "key_value",
|
|
724
|
-
"du -sh": "key_value",
|
|
725
|
-
nproc: "key_value",
|
|
726
|
-
lscpu: "key_value",
|
|
727
|
-
"sysctl -a": "key_value",
|
|
728
|
-
sysctl: "key_value",
|
|
729
|
-
"ulimit -a": "key_value",
|
|
730
|
-
id: "key_value",
|
|
731
|
-
groups: "key_value",
|
|
732
|
-
whoami: "key_value",
|
|
733
|
-
lshw: "key_value",
|
|
734
|
-
dmidecode: "key_value",
|
|
735
|
-
inxi: "key_value",
|
|
736
|
-
system_profiler: "key_value",
|
|
737
|
-
"uname -a": "key_value",
|
|
738
|
-
uname: "key_value",
|
|
739
|
-
modinfo: "key_value",
|
|
740
|
-
getfacl: "key_value",
|
|
741
|
-
"apt show": "key_value",
|
|
742
|
-
"dpkg -s": "key_value",
|
|
743
|
-
"rpm -qi": "key_value",
|
|
744
|
-
"snap info": "key_value",
|
|
745
|
-
"brew info": "key_value",
|
|
746
|
-
"brew list": "key_value",
|
|
747
|
-
"port info": "key_value",
|
|
748
|
-
"docker info": "key_value",
|
|
749
|
-
"docker version": "key_value",
|
|
750
|
-
"docker port": "key_value",
|
|
751
|
-
"docker tag": "key_value",
|
|
752
|
-
// Networking
|
|
753
|
-
"ip addr": "key_value",
|
|
754
|
-
"ip link": "key_value",
|
|
755
|
-
"ip -s link": "key_value",
|
|
756
|
-
ifconfig: "key_value",
|
|
757
|
-
nslookup: "key_value",
|
|
758
|
-
host: "key_value",
|
|
759
|
-
whois: "key_value",
|
|
760
|
-
"curl -I": "key_value",
|
|
761
|
-
"curl -w": "key_value",
|
|
762
|
-
"wget --spider": "key_value",
|
|
763
|
-
"openssl s_client": "key_value",
|
|
764
|
-
"openssl x509": "key_value",
|
|
765
|
-
"ssh-keygen -l": "key_value",
|
|
766
|
-
"ufw status": "key_value",
|
|
767
|
-
"nft list": "key_value",
|
|
768
|
-
"firewall-cmd --list-all": "key_value",
|
|
769
|
-
"iptables -S": "key_value",
|
|
770
|
-
nmap: "key_value",
|
|
771
|
-
ab: "key_value",
|
|
772
|
-
wrk: "key_value",
|
|
773
|
-
hey: "key_value",
|
|
774
|
-
siege: "key_value",
|
|
775
|
-
// Version queries
|
|
776
|
-
"python --version": "key_value",
|
|
777
|
-
"python3 --version": "key_value",
|
|
778
|
-
"node --version": "key_value",
|
|
779
|
-
"node -v": "key_value",
|
|
780
|
-
"npm --version": "key_value",
|
|
781
|
-
"pnpm --version": "key_value",
|
|
782
|
-
"yarn --version": "key_value",
|
|
783
|
-
"deno --version": "key_value",
|
|
784
|
-
"bun --version": "key_value",
|
|
785
|
-
"rustc --version": "key_value",
|
|
786
|
-
"cargo --version": "key_value",
|
|
787
|
-
"go version": "key_value",
|
|
788
|
-
"java -version": "key_value",
|
|
789
|
-
"ruby --version": "key_value",
|
|
790
|
-
"php --version": "key_value",
|
|
791
|
-
"swift --version": "key_value",
|
|
792
|
-
"dotnet --version": "key_value",
|
|
793
|
-
"gcc --version": "key_value",
|
|
794
|
-
"g++ --version": "key_value",
|
|
795
|
-
"clang --version": "key_value",
|
|
796
|
-
"cmake --version": "key_value",
|
|
797
|
-
"make --version": "key_value",
|
|
798
|
-
"flutter --version": "key_value",
|
|
799
|
-
"dart --version": "key_value",
|
|
800
|
-
"zig version": "key_value",
|
|
801
|
-
"elixir --version": "key_value",
|
|
802
|
-
// Version managers
|
|
803
|
-
"nvm ls": "key_value",
|
|
804
|
-
"nvm use": "key_value",
|
|
805
|
-
"fnm ls": "key_value",
|
|
806
|
-
"fnm use": "key_value",
|
|
807
|
-
"pyenv versions": "key_value",
|
|
808
|
-
"rbenv versions": "key_value",
|
|
809
|
-
"rustup show": "key_value",
|
|
810
|
-
"rustup target list": "key_value",
|
|
811
|
-
"rustup component list": "key_value",
|
|
812
|
-
"volta list": "key_value",
|
|
813
|
-
"asdf list": "key_value",
|
|
814
|
-
"asdf current": "key_value",
|
|
815
|
-
"mise list": "key_value",
|
|
816
|
-
"mise current": "key_value",
|
|
817
|
-
"direnv allow": "key_value",
|
|
818
|
-
"direnv status": "key_value",
|
|
819
|
-
"module list": "key_value",
|
|
820
|
-
"module avail": "key_value",
|
|
821
|
-
// Profiling
|
|
822
|
-
"perf stat": "key_value",
|
|
823
|
-
ldd: "key_value",
|
|
824
|
-
"otool -L": "key_value",
|
|
825
|
-
readelf: "key_value",
|
|
826
|
-
time: "key_value",
|
|
827
|
-
uptime: "key_value",
|
|
828
|
-
fuser: "key_value",
|
|
829
|
-
// CI
|
|
830
|
-
"gh pr status": "key_value",
|
|
831
|
-
"gh issue status": "key_value",
|
|
832
|
-
"zpool status": "key_value",
|
|
833
|
-
// ═══════════════════════════════════════════════════════════════
|
|
834
|
-
// ── ERROR DIAGNOSTIC ──
|
|
835
|
-
// ═══════════════════════════════════════════════════════════════
|
|
836
|
-
// JS/TS
|
|
837
|
-
tsc: "error_diagnostic",
|
|
838
|
-
"npx tsc": "error_diagnostic",
|
|
839
|
-
"pnpm run typecheck": "error_diagnostic",
|
|
840
|
-
"npm run typecheck": "error_diagnostic",
|
|
841
|
-
"yarn typecheck": "error_diagnostic",
|
|
842
|
-
"pnpm typecheck": "error_diagnostic",
|
|
843
|
-
eslint: "error_diagnostic",
|
|
844
|
-
"npx eslint": "error_diagnostic",
|
|
845
|
-
"biome check": "error_diagnostic",
|
|
846
|
-
"biome lint": "error_diagnostic",
|
|
847
|
-
"biome format --check": "error_diagnostic",
|
|
848
|
-
oxlint: "error_diagnostic",
|
|
849
|
-
xo: "error_diagnostic",
|
|
850
|
-
jshint: "error_diagnostic",
|
|
851
|
-
"deno lint": "error_diagnostic",
|
|
852
|
-
"bun lint": "error_diagnostic",
|
|
853
|
-
"pnpm run lint": "error_diagnostic",
|
|
854
|
-
"npm run lint": "error_diagnostic",
|
|
855
|
-
"yarn lint": "error_diagnostic",
|
|
856
|
-
"pnpm lint": "error_diagnostic",
|
|
857
|
-
"pnpm run lint:fix": "error_diagnostic",
|
|
858
|
-
"npm run lint:fix": "error_diagnostic",
|
|
859
|
-
"yarn lint:fix": "error_diagnostic",
|
|
860
|
-
"pnpm run check": "error_diagnostic",
|
|
861
|
-
"npm run check": "error_diagnostic",
|
|
862
|
-
"yarn check": "error_diagnostic",
|
|
863
|
-
// Python
|
|
864
|
-
mypy: "error_diagnostic",
|
|
865
|
-
pyright: "error_diagnostic",
|
|
866
|
-
ruff: "error_diagnostic",
|
|
867
|
-
"ruff check": "error_diagnostic",
|
|
868
|
-
flake8: "error_diagnostic",
|
|
869
|
-
pylint: "error_diagnostic",
|
|
870
|
-
bandit: "error_diagnostic",
|
|
871
|
-
// Rust
|
|
872
|
-
"cargo clippy": "error_diagnostic",
|
|
873
|
-
rustc: "error_diagnostic",
|
|
874
|
-
"cargo fmt --check": "error_diagnostic",
|
|
875
|
-
"rustfmt --check": "error_diagnostic",
|
|
876
|
-
// Go
|
|
877
|
-
"go vet": "error_diagnostic",
|
|
878
|
-
"golangci-lint": "error_diagnostic",
|
|
879
|
-
"golangci-lint run": "error_diagnostic",
|
|
880
|
-
staticcheck: "error_diagnostic",
|
|
881
|
-
gosec: "error_diagnostic",
|
|
882
|
-
"gofmt -l": "error_diagnostic",
|
|
883
|
-
"goimports -l": "error_diagnostic",
|
|
884
|
-
// Java/JVM
|
|
885
|
-
javac: "error_diagnostic",
|
|
886
|
-
kotlinc: "error_diagnostic",
|
|
887
|
-
detekt: "error_diagnostic",
|
|
888
|
-
ktlint: "error_diagnostic",
|
|
889
|
-
scalastyle: "error_diagnostic",
|
|
890
|
-
"scalafmt --check": "error_diagnostic",
|
|
891
|
-
// C/C++
|
|
892
|
-
gcc: "error_diagnostic",
|
|
893
|
-
"g++": "error_diagnostic",
|
|
894
|
-
clang: "error_diagnostic",
|
|
895
|
-
"clang++": "error_diagnostic",
|
|
896
|
-
cppcheck: "error_diagnostic",
|
|
897
|
-
"clang-tidy": "error_diagnostic",
|
|
898
|
-
"clang-format --dry-run": "error_diagnostic",
|
|
899
|
-
// Swift
|
|
900
|
-
swiftc: "error_diagnostic",
|
|
901
|
-
"swift build": "error_diagnostic",
|
|
902
|
-
swiftlint: "error_diagnostic",
|
|
903
|
-
"swiftformat --lint": "error_diagnostic",
|
|
904
|
-
// .NET
|
|
905
|
-
"dotnet build": "error_diagnostic",
|
|
906
|
-
// Ruby
|
|
907
|
-
rubocop: "error_diagnostic",
|
|
908
|
-
brakeman: "error_diagnostic",
|
|
909
|
-
// PHP
|
|
910
|
-
phpstan: "error_diagnostic",
|
|
911
|
-
"php -l": "error_diagnostic",
|
|
912
|
-
// Shell / config
|
|
913
|
-
shellcheck: "error_diagnostic",
|
|
914
|
-
hadolint: "error_diagnostic",
|
|
915
|
-
"ansible-lint": "error_diagnostic",
|
|
916
|
-
"terraform validate": "error_diagnostic",
|
|
917
|
-
"helm lint": "error_diagnostic",
|
|
918
|
-
yamllint: "error_diagnostic",
|
|
919
|
-
jsonlint: "error_diagnostic",
|
|
920
|
-
markdownlint: "error_diagnostic",
|
|
921
|
-
stylelint: "error_diagnostic",
|
|
922
|
-
vale: "error_diagnostic",
|
|
923
|
-
actionlint: "error_diagnostic",
|
|
924
|
-
commitlint: "error_diagnostic",
|
|
925
|
-
tflint: "error_diagnostic",
|
|
926
|
-
"kube-linter": "error_diagnostic",
|
|
927
|
-
"polaris audit": "error_diagnostic",
|
|
928
|
-
"buf lint": "error_diagnostic",
|
|
929
|
-
"opa eval": "error_diagnostic",
|
|
930
|
-
"conftest test": "error_diagnostic",
|
|
931
|
-
checkov: "error_diagnostic",
|
|
932
|
-
// Other languages
|
|
933
|
-
"dart analyze": "error_diagnostic",
|
|
934
|
-
"flutter analyze": "error_diagnostic",
|
|
935
|
-
"elm-review": "error_diagnostic",
|
|
936
|
-
dialyzer: "error_diagnostic",
|
|
937
|
-
credo: "error_diagnostic",
|
|
938
|
-
"mix credo": "error_diagnostic",
|
|
939
|
-
ameba: "error_diagnostic",
|
|
940
|
-
"nim check": "error_diagnostic",
|
|
941
|
-
selene: "error_diagnostic",
|
|
942
|
-
luacheck: "error_diagnostic",
|
|
943
|
-
// Formatters (check mode)
|
|
944
|
-
"prettier --check": "error_diagnostic",
|
|
945
|
-
"black --check": "error_diagnostic",
|
|
946
|
-
"isort --check": "error_diagnostic",
|
|
947
|
-
"dprint check": "error_diagnostic",
|
|
948
|
-
"taplo check": "error_diagnostic",
|
|
949
|
-
"sql-formatter --check": "error_diagnostic",
|
|
950
|
-
// Security scanners
|
|
951
|
-
"npm audit": "error_diagnostic",
|
|
952
|
-
"pnpm audit": "error_diagnostic",
|
|
953
|
-
"yarn audit": "error_diagnostic",
|
|
954
|
-
"cargo audit": "error_diagnostic",
|
|
955
|
-
"pip-audit": "error_diagnostic",
|
|
956
|
-
"safety check": "error_diagnostic",
|
|
957
|
-
"snyk test": "error_diagnostic",
|
|
958
|
-
"snyk code test": "error_diagnostic",
|
|
959
|
-
"trivy image": "error_diagnostic",
|
|
960
|
-
"trivy fs": "error_diagnostic",
|
|
961
|
-
grype: "error_diagnostic",
|
|
962
|
-
semgrep: "error_diagnostic",
|
|
963
|
-
"semgrep scan": "error_diagnostic",
|
|
964
|
-
"bearer scan": "error_diagnostic",
|
|
965
|
-
"gitleaks detect": "error_diagnostic",
|
|
966
|
-
trufflehog: "error_diagnostic",
|
|
967
|
-
"detect-secrets scan": "error_diagnostic",
|
|
968
|
-
"dependency-check": "error_diagnostic",
|
|
969
|
-
retire: "error_diagnostic",
|
|
970
|
-
"sonar-scanner": "error_diagnostic",
|
|
971
|
-
};
|
|
972
|
-
const CONFIDENCE_HINT = 0.82;
|
|
973
|
-
const CONFIDENCE_HEURISTIC = 0.74;
|
|
974
|
-
const CONFIDENCE_BOTH = 0.93;
|
|
975
|
-
export function normalizeShellCommand(cmd) {
|
|
976
|
-
return cmd.trim().replace(/\s+/g, " ");
|
|
977
|
-
}
|
|
978
|
-
/**
|
|
979
|
-
* Commands that don't produce meaningful stdout. When a chain has these as
|
|
980
|
-
* the trailing segment, the actual stdout came from an earlier segment, so
|
|
981
|
-
* we skip them when picking which segment's hint to use.
|
|
982
|
-
*
|
|
983
|
-
* Keys can be one-token (`chmod`) or two-token (`git add`). We check the
|
|
984
|
-
* first one or two tokens of a segment against this set.
|
|
985
|
-
*/
|
|
986
|
-
const SILENT_COMMANDS = new Set([
|
|
987
|
-
// POSIX filesystem mutations
|
|
988
|
-
"chmod",
|
|
989
|
-
"chown",
|
|
990
|
-
"chgrp",
|
|
991
|
-
"mkdir",
|
|
992
|
-
"rmdir",
|
|
993
|
-
"rm",
|
|
994
|
-
"mv",
|
|
995
|
-
"cp",
|
|
996
|
-
"ln",
|
|
997
|
-
"touch",
|
|
998
|
-
// shell builtins / control
|
|
999
|
-
"cd",
|
|
1000
|
-
"export",
|
|
1001
|
-
"set",
|
|
1002
|
-
"unset",
|
|
1003
|
-
"alias",
|
|
1004
|
-
"unalias",
|
|
1005
|
-
"umask",
|
|
1006
|
-
"true",
|
|
1007
|
-
"false",
|
|
1008
|
-
":",
|
|
1009
|
-
// git mutators (most are silent on success)
|
|
1010
|
-
"git add",
|
|
1011
|
-
"git commit",
|
|
1012
|
-
"git push",
|
|
1013
|
-
"git pull",
|
|
1014
|
-
"git fetch",
|
|
1015
|
-
"git checkout",
|
|
1016
|
-
"git switch",
|
|
1017
|
-
"git stash",
|
|
1018
|
-
"git tag",
|
|
1019
|
-
"git rm",
|
|
1020
|
-
"git mv",
|
|
1021
|
-
"git reset",
|
|
1022
|
-
// pnpm/npm/yarn helpers
|
|
1023
|
-
"pnpm add",
|
|
1024
|
-
"pnpm remove",
|
|
1025
|
-
"npm install",
|
|
1026
|
-
"npm uninstall",
|
|
1027
|
-
"yarn add",
|
|
1028
|
-
"yarn remove",
|
|
1029
|
-
]);
|
|
1030
|
-
/** True if `seg` starts with a known silent (no-meaningful-stdout) command. */
|
|
1031
|
-
function isSilentSegment(seg) {
|
|
1032
|
-
const tokens = seg.trim().split(/\s+/);
|
|
1033
|
-
if (tokens.length === 0)
|
|
1034
|
-
return true;
|
|
1035
|
-
const one = tokens[0] ?? "";
|
|
1036
|
-
if (SILENT_COMMANDS.has(one))
|
|
1037
|
-
return true;
|
|
1038
|
-
if (tokens.length >= 2) {
|
|
1039
|
-
const two = `${one} ${tokens[1]}`;
|
|
1040
|
-
if (SILENT_COMMANDS.has(two))
|
|
1041
|
-
return true;
|
|
1042
|
-
}
|
|
1043
|
-
return false;
|
|
1044
|
-
}
|
|
1045
|
-
/** Strip `> file`, `>> file`, `2>&1`, `&` trailing background marker. */
|
|
1046
|
-
function stripRedirects(seg) {
|
|
1047
|
-
return seg
|
|
1048
|
-
.replace(/\s*\d?>>?\s*\S+/g, "")
|
|
1049
|
-
.replace(/\s*2>&1\s*/g, " ")
|
|
1050
|
-
.replace(/\s*&\s*$/g, "")
|
|
1051
|
-
.trim();
|
|
1052
|
-
}
|
|
1053
|
-
/** Pick the longest matching prefix in COMMAND_HINTS for a single segment. */
|
|
1054
|
-
function matchPrefixHint(seg) {
|
|
1055
|
-
const s = stripRedirects(seg);
|
|
1056
|
-
let best = null;
|
|
1057
|
-
for (const key of Object.keys(COMMAND_HINTS)) {
|
|
1058
|
-
if (s === key || s.startsWith(`${key} `)) {
|
|
1059
|
-
if (!best || key.length > best.len) {
|
|
1060
|
-
const cat = COMMAND_HINTS[key];
|
|
1061
|
-
if (!cat)
|
|
1062
|
-
continue;
|
|
1063
|
-
best = { category: cat, key, len: key.length };
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1066
|
-
}
|
|
1067
|
-
return best ? { category: best.category, key: best.key } : null;
|
|
1068
|
-
}
|
|
1069
|
-
/**
|
|
1070
|
-
* Find the hint for the command whose stdout reaches the consumer. Splits the
|
|
1071
|
-
* normalized command on shell operators (`&&`, `||`, `;`, `|`) and walks the
|
|
1072
|
-
* resulting segments from last to first, preferring segments that aren't in
|
|
1073
|
-
* SILENT_COMMANDS (chmod, mkdir, git add, …). If every segment is silent we
|
|
1074
|
-
* fall back to a permissive last-to-first scan so single-segment commands
|
|
1075
|
-
* keep working unchanged.
|
|
1076
|
-
*/
|
|
1077
|
-
export function matchCommandHint(cmd) {
|
|
1078
|
-
const n = normalizeShellCommand(cmd);
|
|
1079
|
-
const segments = n
|
|
1080
|
-
.split(/\s*(?:&&|\|\||;|\|)\s*/)
|
|
1081
|
-
.map((s) => s.trim())
|
|
1082
|
-
.filter((s) => s.length > 0);
|
|
1083
|
-
if (segments.length === 0)
|
|
1084
|
-
return null;
|
|
1085
|
-
// Pass 1 — prefer non-silent segments, scan last → first (the last meaningful
|
|
1086
|
-
// producer's stdout is what actually reaches the consumer of this chain).
|
|
1087
|
-
for (let i = segments.length - 1; i >= 0; i--) {
|
|
1088
|
-
const seg = segments[i];
|
|
1089
|
-
if (isSilentSegment(seg))
|
|
1090
|
-
continue;
|
|
1091
|
-
const hit = matchPrefixHint(seg);
|
|
1092
|
-
if (hit)
|
|
1093
|
-
return hit;
|
|
1094
|
-
}
|
|
1095
|
-
// Pass 2 — every segment is silent (or none had a hint). Scan again without
|
|
1096
|
-
// the silent filter so a single-segment `chmod +x foo` still gets the chance
|
|
1097
|
-
// to match a future `chmod` hint, and behaviour for non-chained commands is
|
|
1098
|
-
// exactly the same as before this refactor.
|
|
1099
|
-
for (let i = segments.length - 1; i >= 0; i--) {
|
|
1100
|
-
const hit = matchPrefixHint(segments[i]);
|
|
1101
|
-
if (hit)
|
|
1102
|
-
return hit;
|
|
1103
|
-
}
|
|
1104
|
-
return null;
|
|
1105
|
-
}
|
|
1106
|
-
function scoreContent(lines) {
|
|
1107
|
-
const sample = lines.slice(0, 20).join("\n");
|
|
1108
|
-
let best = null;
|
|
1109
|
-
const bump = (cat, w) => {
|
|
1110
|
-
if (!best || w > best.score)
|
|
1111
|
-
best = { category: cat, score: w };
|
|
1112
|
-
};
|
|
1113
|
-
if (/^diff --git/m.test(sample) || /^@@ |^--- |\+\+\+ /m.test(sample)) {
|
|
1114
|
-
bump("diff", 0.9);
|
|
1115
|
-
}
|
|
1116
|
-
if (/^\s*[\[{]/.test(lines[0] ?? "") && /[}\]]\s*$/.test(sample.slice(-80))) {
|
|
1117
|
-
bump("structured", 0.72);
|
|
1118
|
-
}
|
|
1119
|
-
// YAML detection: lines starting with key: value, or --- document separator, with no JSON braces
|
|
1120
|
-
{
|
|
1121
|
-
const yamlDocSep = /^---\s*$/m.test(sample);
|
|
1122
|
-
const yamlKeyLines = lines.filter((l) => /^\s*[\w][\w.-]*:\s/.test(l) && !/^\s*[\[{]/.test(l)).length;
|
|
1123
|
-
const hasArrayItems = /^\s*-\s+\S/m.test(sample);
|
|
1124
|
-
const noJsonBraces = !/^\s*[\[{]/.test(lines[0] ?? "");
|
|
1125
|
-
if (yamlDocSep && yamlKeyLines >= 2) {
|
|
1126
|
-
bump("yaml", 0.82);
|
|
1127
|
-
}
|
|
1128
|
-
else if (noJsonBraces &&
|
|
1129
|
-
yamlKeyLines >= 4 &&
|
|
1130
|
-
(hasArrayItems || yamlDocSep)) {
|
|
1131
|
-
bump("yaml", 0.78);
|
|
1132
|
-
}
|
|
1133
|
-
}
|
|
1134
|
-
if (/\d{4}-\d{2}-\d{2}T\d|\[\d{2}\/\w{3}\/\d{4}/.test(sample) ||
|
|
1135
|
-
/\d{2}:\d{2}:\d{2}\.\d{3}/.test(sample)) {
|
|
1136
|
-
bump("log_text", 0.78);
|
|
1137
|
-
}
|
|
1138
|
-
// Build-like output: repeated similar lines, or mixed WARNING + build keywords
|
|
1139
|
-
{
|
|
1140
|
-
const hasWarn = /\bWARN(ING)?\b/i.test(sample);
|
|
1141
|
-
const hasBuildKeywords = /\b(compil|build|bundl|generat|transform|emit|output)/i.test(sample);
|
|
1142
|
-
if (hasWarn && hasBuildKeywords) {
|
|
1143
|
-
bump("log_text", 0.79);
|
|
1144
|
-
}
|
|
1145
|
-
// Detect repeated lines pattern (log/build output signature)
|
|
1146
|
-
const seen = new Map();
|
|
1147
|
-
for (const line of lines.slice(0, 15)) {
|
|
1148
|
-
const norm = line.replace(/\d+/g, "N").trim();
|
|
1149
|
-
if (norm.length > 5)
|
|
1150
|
-
seen.set(norm, (seen.get(norm) ?? 0) + 1);
|
|
1151
|
-
}
|
|
1152
|
-
const repeats = [...seen.values()].filter((c) => c >= 3).length;
|
|
1153
|
-
if (repeats >= 1)
|
|
1154
|
-
bump("log_text", 0.75);
|
|
1155
|
-
}
|
|
1156
|
-
let aligned = 0;
|
|
1157
|
-
let inspectable = 0;
|
|
1158
|
-
for (const line of lines.slice(0, 15)) {
|
|
1159
|
-
if (line.length < 8)
|
|
1160
|
-
continue;
|
|
1161
|
-
inspectable++;
|
|
1162
|
-
if (/\s{2,}|\t/.test(line) && !line.startsWith(" "))
|
|
1163
|
-
aligned++;
|
|
1164
|
-
}
|
|
1165
|
-
if (aligned >= 4) {
|
|
1166
|
-
bump("tabular", 0.8);
|
|
1167
|
-
}
|
|
1168
|
-
else if (aligned >= 3 &&
|
|
1169
|
-
inspectable <= 6 &&
|
|
1170
|
-
aligned / inspectable >= 0.75) {
|
|
1171
|
-
// Short tabular outputs (eg `ls -la` of a handful of files, `docker ps`
|
|
1172
|
-
// with a single container): when most inspectable lines are aligned we
|
|
1173
|
-
// accept ≥3 rows. Lower confidence (0.72) so a disagreeing command hint
|
|
1174
|
-
// can still win, but still above the omni gate (0.7) so the strategy
|
|
1175
|
-
// fires rather than falling through to omni's flat dedup.
|
|
1176
|
-
bump("tabular", 0.72);
|
|
1177
|
-
}
|
|
1178
|
-
if (/\b(PASS|FAIL|✓|✗|✕|tests?\s+\d+\s+failed|AssertionError)/i.test(sample)) {
|
|
1179
|
-
bump("test_results", 0.85);
|
|
1180
|
-
}
|
|
1181
|
-
if (/\b(Downloading|Installing|Building|packages?\s+\)|ETA|⠋|⠙|\[\s*\d+%\s*\])/.test(sample)) {
|
|
1182
|
-
bump("progress_streaming", 0.82);
|
|
1183
|
-
}
|
|
1184
|
-
// tsc errors — very distinctive pattern
|
|
1185
|
-
if (/^.+\(\d+,\d+\): error TS\d{4}:/m.test(sample)) {
|
|
1186
|
-
bump("error_diagnostic", 0.95);
|
|
1187
|
-
}
|
|
1188
|
-
// ESLint — distinctive line:col severity message rule format
|
|
1189
|
-
if (/^\s+\d+:\d+\s+(error|warning)\s+.+\s{2,}\S+/m.test(sample)) {
|
|
1190
|
-
bump("error_diagnostic", 0.92);
|
|
1191
|
-
}
|
|
1192
|
-
// gcc/clang: file.c:10:5: error: message
|
|
1193
|
-
if (/^.+:\d+:\d+:\s+(error|warning|note):/m.test(sample) &&
|
|
1194
|
-
!/error TS/.test(sample)) {
|
|
1195
|
-
bump("error_diagnostic", 0.9);
|
|
1196
|
-
}
|
|
1197
|
-
// rustc: error[E0308]: ...
|
|
1198
|
-
if (/^error\[E\d{4}\]:/m.test(sample)) {
|
|
1199
|
-
bump("error_diagnostic", 0.94);
|
|
1200
|
-
}
|
|
1201
|
-
// Go diagnostics: file.go:10:5: message
|
|
1202
|
-
if (/^.+\.go:\d+:\d+:/m.test(sample)) {
|
|
1203
|
-
bump("error_diagnostic", 0.82);
|
|
1204
|
-
}
|
|
1205
|
-
// Python: mypy/pyright file.py:10: error: ...
|
|
1206
|
-
if (/^.+\.py:\d+:\s+(error|warning|note):/m.test(sample)) {
|
|
1207
|
-
bump("error_diagnostic", 0.9);
|
|
1208
|
-
}
|
|
1209
|
-
// Python: ruff/flake8 file.py:10:5: E501
|
|
1210
|
-
if (/^.+\.py:\d+:\d+:\s+[A-Z]\d+/m.test(sample)) {
|
|
1211
|
-
bump("error_diagnostic", 0.9);
|
|
1212
|
-
}
|
|
1213
|
-
// javac: File.java:10: error: ...
|
|
1214
|
-
if (/^.+\.java:\d+:\s+error:/m.test(sample)) {
|
|
1215
|
-
bump("error_diagnostic", 0.9);
|
|
1216
|
-
}
|
|
1217
|
-
// Python traceback
|
|
1218
|
-
if (/^Traceback \(most recent call last\):/m.test(sample)) {
|
|
1219
|
-
bump("error_diagnostic", 0.88);
|
|
1220
|
-
}
|
|
1221
|
-
// Only promote to error_diagnostic for strong error signals — not bare WARN/WARNING
|
|
1222
|
-
// which commonly appears in build output (deprecation warnings, etc.)
|
|
1223
|
-
if (/\bException\b|^\w+Error:/m.test(sample)) {
|
|
1224
|
-
bump("error_diagnostic", 0.76);
|
|
1225
|
-
}
|
|
1226
|
-
// ERROR/FATAL alone (without structured file:line format) is weaker signal
|
|
1227
|
-
if (/\b(ERROR|FATAL)\b/.test(sample) && !/\b(WARN(ING)?)\b/.test(sample)) {
|
|
1228
|
-
bump("error_diagnostic", 0.72);
|
|
1229
|
-
}
|
|
1230
|
-
// Multi-language test result patterns
|
|
1231
|
-
if (/^test result: (ok|FAILED)/m.test(sample)) {
|
|
1232
|
-
bump("test_results", 0.9); // cargo test
|
|
1233
|
-
}
|
|
1234
|
-
if (/^--- (PASS|FAIL): /m.test(sample)) {
|
|
1235
|
-
bump("test_results", 0.9); // go test
|
|
1236
|
-
}
|
|
1237
|
-
if (/^={3,}\s*(test session starts|FAILURES)/m.test(sample)) {
|
|
1238
|
-
bump("test_results", 0.9); // pytest
|
|
1239
|
-
}
|
|
1240
|
-
if (/^\d+ examples?, \d+ failures?/m.test(sample)) {
|
|
1241
|
-
bump("test_results", 0.88); // rspec
|
|
1242
|
-
}
|
|
1243
|
-
if (/^[│├└┌]|\|\s*[\w.]+\s*\|/.test(sample)) {
|
|
1244
|
-
bump("tree_paths", 0.7);
|
|
1245
|
-
}
|
|
1246
|
-
if (/^\w+=[^\s]+$/m.test(sample) && sample.split("\n").length > 3) {
|
|
1247
|
-
bump("key_value", 0.72);
|
|
1248
|
-
}
|
|
1249
|
-
// Ansible recap / task headers
|
|
1250
|
-
if (/^PLAY RECAP/m.test(sample))
|
|
1251
|
-
bump("log_text", 0.85);
|
|
1252
|
-
if (/^(TASK|PLAY) \[/m.test(sample))
|
|
1253
|
-
bump("log_text", 0.83);
|
|
1254
|
-
// Terraform plan
|
|
1255
|
-
if (/^(Plan:|Terraform will perform|# .+ will be)/m.test(sample))
|
|
1256
|
-
bump("log_text", 0.8);
|
|
1257
|
-
if (/^[~+\-] resource|^\s+\+ .+ = /m.test(sample))
|
|
1258
|
-
bump("log_text", 0.78);
|
|
1259
|
-
// Playwright tests
|
|
1260
|
-
if (/\[(chromium|firefox|webkit)\]\s+›/.test(sample))
|
|
1261
|
-
bump("test_results", 0.88);
|
|
1262
|
-
// Generic: ✓/✗ with durations
|
|
1263
|
-
if (/^\s*[✓✔✗✘×]\s+.+\(\d+m?s\)/m.test(sample))
|
|
1264
|
-
bump("test_results", 0.82);
|
|
1265
|
-
// kubectl describe (multi-field key: value)
|
|
1266
|
-
{
|
|
1267
|
-
const k8sFields = /^(Name|Namespace|Labels|Annotations|Status|Type|Containers|Volumes|Conditions|Events|Node|IP|Port):\s/m;
|
|
1268
|
-
const k8sMatches = lines
|
|
1269
|
-
.slice(0, 20)
|
|
1270
|
-
.filter((l) => k8sFields.test(l)).length;
|
|
1271
|
-
if (k8sMatches >= 4)
|
|
1272
|
-
bump("key_value", 0.82);
|
|
1273
|
-
}
|
|
1274
|
-
// Docker compose progress
|
|
1275
|
-
if (/^\[?\+?\]?\s*(Creating|Starting|Stopping|Removing|Running)\s+\S+\s*\.{3}/m.test(sample))
|
|
1276
|
-
bump("log_text", 0.78);
|
|
1277
|
-
// Shellcheck
|
|
1278
|
-
if (/^In .+ line \d+:/m.test(sample))
|
|
1279
|
-
bump("error_diagnostic", 0.88);
|
|
1280
|
-
// Security scanner output (npm audit, snyk, trivy)
|
|
1281
|
-
if (/\b(vulnerabilit|CVE-\d{4}|GHSA-|critical|moderate|high|low)\b/i.test(sample) &&
|
|
1282
|
-
/\d+ (vulnerabilit|issue|finding)/i.test(sample))
|
|
1283
|
-
bump("error_diagnostic", 0.8);
|
|
1284
|
-
// systemd/systemctl status
|
|
1285
|
-
if (/^\s*(Loaded|Active|Main PID|CGroup|Memory|CPU):/m.test(sample))
|
|
1286
|
-
bump("key_value", 0.82);
|
|
1287
|
-
// Cloud deploy progress
|
|
1288
|
-
if (/\b(Deploying|Uploading|Provisioning|Creating stack|Updating stack)\b/i.test(sample))
|
|
1289
|
-
bump("progress_streaming", 0.76);
|
|
1290
|
-
return best;
|
|
1291
|
-
}
|
|
1292
|
-
/**
|
|
1293
|
-
* Passthrough commands — these just display content from files/pipes,
|
|
1294
|
-
* so the content itself is the real signal for classification.
|
|
1295
|
-
* When content heuristic is strong (>= 0.85), it overrides these hints.
|
|
1296
|
-
*/
|
|
1297
|
-
const PASSTHROUGH_COMMANDS = new Set([
|
|
1298
|
-
"cat",
|
|
1299
|
-
"tail",
|
|
1300
|
-
"less",
|
|
1301
|
-
"head",
|
|
1302
|
-
"grep",
|
|
1303
|
-
"rg",
|
|
1304
|
-
"ag",
|
|
1305
|
-
]);
|
|
1306
|
-
/**
|
|
1307
|
-
* Classify shell stdout for compression strategy selection.
|
|
1308
|
-
* Uses stripped (no ANSI) text for content phase.
|
|
1309
|
-
*/
|
|
1310
|
-
export function classifyShellOutput(command, strippedStdout) {
|
|
1311
|
-
const head = strippedStdout.split("\n").slice(0, 20);
|
|
1312
|
-
const hint = matchCommandHint(command);
|
|
1313
|
-
const content = scoreContent(head);
|
|
1314
|
-
if (hint) {
|
|
1315
|
-
const agree = content && content.category === hint.category;
|
|
1316
|
-
// Passthrough commands (cat, tail, less, etc.) just display content —
|
|
1317
|
-
// let strong content signals override when they disagree.
|
|
1318
|
-
if (!agree &&
|
|
1319
|
-
content &&
|
|
1320
|
-
content.score >= 0.85 &&
|
|
1321
|
-
PASSTHROUGH_COMMANDS.has(hint.key.split(" ")[0] ?? "")) {
|
|
1322
|
-
return {
|
|
1323
|
-
category: content.category,
|
|
1324
|
-
confidence: content.score,
|
|
1325
|
-
hint_source: "content_heuristic",
|
|
1326
|
-
};
|
|
1327
|
-
}
|
|
1328
|
-
return {
|
|
1329
|
-
category: hint.category,
|
|
1330
|
-
confidence: agree ? CONFIDENCE_BOTH : CONFIDENCE_HINT,
|
|
1331
|
-
hint_source: agree ? "both" : "command_name",
|
|
1332
|
-
};
|
|
1333
|
-
}
|
|
1334
|
-
if (content) {
|
|
1335
|
-
return {
|
|
1336
|
-
category: content.category,
|
|
1337
|
-
confidence: Math.min(0.88, content.score),
|
|
1338
|
-
hint_source: "content_heuristic",
|
|
1339
|
-
};
|
|
1340
|
-
}
|
|
1341
|
-
return {
|
|
1342
|
-
category: "structured",
|
|
1343
|
-
confidence: 0.42,
|
|
1344
|
-
hint_source: "content_heuristic",
|
|
1345
|
-
};
|
|
1346
|
-
}
|