sneakoscope 10.6.1 → 10.7.0
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 +2 -2
- package/config/perf-budgets.v1.json +1 -2
- package/config/skills-hash-ledger.v1.json +7 -2
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/dist/bin/sks-dispatch.js +6 -3
- package/dist/cli/args.js +3 -1
- package/dist/cli/command-manifest-lite.js +48 -114
- package/dist/cli/command-registry.js +1 -18
- package/dist/cli/commands-fast.js +11 -4
- package/dist/cli/help-fast.js +11 -22
- package/dist/cli/help.js +3 -3
- package/dist/cli/install-helpers.js +1 -1
- package/dist/cli/router.js +12 -26
- package/dist/commands/codex-app.js +2 -2
- package/dist/commands/doctor-helpers.js +1 -1
- package/dist/commands/mad-sks.js +2 -2
- package/dist/config/skills-manifest.json +13 -8
- package/dist/core/agent-bridge/async-command.js +2 -2
- package/dist/core/agents/agent-recursion-guard.js +0 -2
- package/dist/core/auto-review.js +15 -172
- package/dist/core/code-structure.js +0 -1
- package/dist/core/codex-control/codex-reliability-shield.js +64 -15
- package/dist/core/codex-control/codex-sdk-adapter.js +38 -5
- package/dist/core/codex-lb/desktop-bridge/capacity-retry-advice.js +89 -0
- package/dist/core/codex-lb/desktop-bridge/compaction-adapter.js +4 -1
- package/dist/core/codex-lb/desktop-bridge/http-forward.js +14 -2
- package/dist/core/codex-lb/desktop-bridge/responses-websocket.js +9 -1
- package/dist/core/commands/agent-bridge-command.js +1 -1
- package/dist/core/commands/basic-cli.js +60 -233
- package/dist/core/commands/command-utils.js +1 -1
- package/dist/core/commands/gc-command.js +30 -29
- package/dist/core/commands/image-ux-review-command.js +1 -1
- package/dist/core/commands/install-package-command.js +1 -1
- package/dist/core/commands/intent-normalization/normalizer.js +2 -2
- package/dist/core/commands/pipeline-command.js +13 -5
- package/dist/core/commands/plan-command.js +2 -3
- package/dist/core/commands/research-command.js +0 -3
- package/dist/core/commands/review-command.js +1 -1
- package/dist/core/commands/seo-command.js +27 -20
- package/dist/core/commands/status-command.js +8 -2
- package/dist/core/doctor/command-alias-cleanup.js +6 -6
- package/dist/core/evaluation.js +1 -1
- package/dist/core/feature-fixtures.js +9 -43
- package/dist/core/feature-registry.js +9 -27
- package/dist/core/git-hygiene/shared-memory-publish.js +1 -1
- package/dist/core/hooks-runtime/stop-repeat-guard.js +0 -13
- package/dist/core/init/skills.js +5 -13
- package/dist/core/init.js +0 -9
- package/dist/core/install/installed-package-smoke.js +3 -1
- package/dist/core/perf/import-graph-budget.js +0 -1
- package/dist/core/perf/release-latency-slo.js +2 -30
- package/dist/core/pipeline-internals/pipeline-stage-builder.js +2 -4
- package/dist/core/pipeline-internals/runtime-core.js +2 -38
- package/dist/core/proof/route-proof-policy.js +2 -4
- package/dist/core/proof/runtime-truth-matrix.js +2 -2
- package/dist/core/proof-field.js +104 -39
- package/dist/core/questions.js +11 -7
- package/dist/core/release/gate-affected-globs.js +0 -2
- package/dist/core/research/research-reviewer-contract.js +34 -0
- package/dist/core/research/research-work-graph.js +1 -1
- package/dist/core/research.js +1 -1
- package/dist/core/routes/constants.js +0 -1
- package/dist/core/routes/diagnostic-allowlist.js +1 -3
- package/dist/core/routes/light-routes.js +1 -2
- package/dist/core/routes.js +1 -1
- package/dist/core/safety/command-contract/contracts.js +5 -1
- package/dist/core/search-visibility/marketing-truthfulness.js +10 -7
- package/dist/core/search-visibility/marketing.js +194 -149
- package/dist/core/skill-forge.js +1 -361
- package/dist/core/strategy/adhd-orchestrating-gate.js +3 -3
- package/dist/core/triwiki/context-graph/extractors/topology/commands.js +2 -6
- package/dist/core/triwiki-wrongness/wrongness-cli.js +9 -27
- package/dist/core/version.js +1 -1
- package/package.json +1 -2
- package/release-gates.v2.json +1 -32
- package/dist/cli/recallpulse-command.js +0 -144
- package/dist/commands/auto-review.js +0 -5
- package/dist/commands/codex-native.js +0 -77
- package/dist/commands/recallpulse.js +0 -5
- package/dist/core/codex-native/codex-native-interop-policy.js +0 -127
- package/dist/core/commands/autoresearch-command.js +0 -4
- package/dist/core/commands/code-structure-command.js +0 -52
- package/dist/core/commands/goal-command.js +0 -43
- package/dist/core/commands/recallpulse-command.js +0 -4
- package/dist/core/commands/remote-command.js +0 -119
- package/dist/core/commands/skill-dream-command.js +0 -43
- package/dist/core/commands/wrongness-command.js +0 -2
- package/dist/core/goal-workflow.js +0 -80
- package/dist/core/mcp/mcp-tool-name-normalizer.js +0 -28
- package/dist/core/recallpulse/policy.js +0 -207
- package/dist/core/recallpulse.js +0 -947
- package/dist/core/remote/audit-idempotency.js +0 -241
- package/dist/core/remote/index.js +0 -10
- package/dist/core/remote/machine-registry.js +0 -167
- package/dist/core/remote/owner-proof.js +0 -216
- package/dist/core/remote/protocol.js +0 -249
- package/dist/core/remote/readiness.js +0 -156
- package/dist/core/remote/session-index.js +0 -61
- package/dist/core/remote/session-snapshot.js +0 -197
- package/dist/core/remote/ssh-worker-client.js +0 -377
- package/dist/core/remote/types.js +0 -10
- package/dist/core/remote/worker.js +0 -360
- package/dist/core/search/context-graph-seeds.js +0 -15
- package/dist/core/verification/context-graph-affected.js +0 -312
- package/dist/core/verification/verification-artifact-lock.js +0 -21
- package/dist/core/verification/verification-dag.js +0 -89
- package/dist/core/verification/verification-result.js +0 -19
- package/dist/core/verification/verification-worker-pool.js +0 -204
package/README.md
CHANGED
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
Sneakoscope Codex (`sks`) is an open-source local tool for the Codex CLI and Codex desktop app. It adds a macOS control center, bounded agent workflows, repository context, and evidence checks for SKS releases.
|
|
18
18
|
<!-- END SKS SEARCH VISIBILITY MARKETING -->
|
|
19
19
|
|
|
20
|
-
Current package: **SKS 10.
|
|
21
|
-
[
|
|
20
|
+
Current package: **SKS 10.7.0**, prepared for npm publication.
|
|
21
|
+
[Latest release notes](https://github.com/mandarange/Sneakoscope-Codex/releases/latest)
|
|
22
22
|
· [Changelog](CHANGELOG.md). Install the latest stable release from npm.
|
|
23
23
|
|
|
24
24
|
Ordinary work stays with the main agent. Optional Jev decisions use OpenRouter
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
{ "id": "menubar_first_state_render", "budget_p95_ms": 250, "measured_runs": 5 },
|
|
18
18
|
{ "id": "control_center_open", "budget_p95_ms": 400, "measured_runs": 5 },
|
|
19
19
|
{ "id": "mcp_static_list", "budget_p95_ms": 250, "measured_runs": 9 },
|
|
20
|
-
{ "id": "update_cache_read", "budget_p95_ms": 50, "measured_runs": 15 }
|
|
21
|
-
{ "id": "ssh_worker_hello", "budget_p95_ms": 3000, "measured_runs": 5 }
|
|
20
|
+
{ "id": "update_cache_read", "budget_p95_ms": 50, "measured_runs": 15 }
|
|
22
21
|
]
|
|
23
22
|
}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
{
|
|
5
5
|
"canonical_name": "sks",
|
|
6
6
|
"trusted_sha256": [
|
|
7
|
+
"eb09af342c2f2bc3d269e6d1c2f92d718ed069582d1165bfe46600b5c2225a8b",
|
|
8
|
+
"32d97c9b68a0a97794f48bd2f200bb3c0cd68816c00fef3397e86df671342ac5",
|
|
7
9
|
"d5adbf63047d4882258d70bb46017e4aa7b6d5804154c68ef4204d0e0e5916d6",
|
|
8
10
|
"8aa34586ba331f0447668c2ce863fe6c9ec4f881828ebed26ca5ecc754d66840",
|
|
9
11
|
"d0288d27c8bc1c89decb258c6805ed4286cd0d65371ef0eec453be233b39a2a1",
|
|
@@ -252,6 +254,7 @@
|
|
|
252
254
|
{
|
|
253
255
|
"canonical_name": "sks-help",
|
|
254
256
|
"trusted_sha256": [
|
|
257
|
+
"3a20901121eb9a11a31ea797a44c8136a09f26f9862f52a923634aba0767dc0c",
|
|
255
258
|
"17c2a63b163b266dc0d0a503a275d41a5388e1f44be9250b84017f1a549159d4",
|
|
256
259
|
"8b6d7f0cffbd3b141f53a6937fb3d58ba363d495d6da561d8f463ee3b265d975",
|
|
257
260
|
"0b67a2ed2eb1f3f80cf1645bee0c189ecc442d2ec84b1e0b218d800298487920"
|
|
@@ -373,6 +376,7 @@
|
|
|
373
376
|
{
|
|
374
377
|
"canonical_name": "sks-ppt",
|
|
375
378
|
"trusted_sha256": [
|
|
379
|
+
"93887312718febbb795cab3d09b1d47a30485eee7c6416fb02c78c65ab5c4686",
|
|
376
380
|
"a25e537ff49b5bffdc093a5f772a8d218003ca1bb81e0aa304561684a9551b31",
|
|
377
381
|
"fba3f438b9f22dae0813cd12bf310539a7d2b71c8cd9322eb840514e24884eaf",
|
|
378
382
|
"c9a0d90e12560dd3f04959869051370e6baf46eda6eb63f708ea1661c5c9d041",
|
|
@@ -404,6 +408,7 @@
|
|
|
404
408
|
{
|
|
405
409
|
"canonical_name": "sks-reasoning-router",
|
|
406
410
|
"trusted_sha256": [
|
|
411
|
+
"00403fa829bc673966c2e125d5a2d42111ed6fd8c821b1f0e50176127658b888",
|
|
407
412
|
"2ec66071b1c021e8c2ddd8f1ecefd16502c8325adab2c3c804a9e8d4123b1a8d",
|
|
408
413
|
"b0f458caa1c3bd7bb7241a09b80fce5700aeb99b340e84c08a9b2b66bc875ba7",
|
|
409
414
|
"41e14e8d5b93d743096664869ee68c41c86e911b0bbc165bdcd10e4a45faa4b6",
|
|
@@ -411,8 +416,7 @@
|
|
|
411
416
|
"647f730520a1c7dc89c2642f5b8502624c65a861ae41aecf1fb137db40fd0611",
|
|
412
417
|
"da0ddb58adc68ddeebdb9c45bf111c26eaa64d3e9dffe1dd39d7f30b943b8b88",
|
|
413
418
|
"1595beabf2d31397217311fa1323bd62c801cf6c87db9029ff544c457efec8bb",
|
|
414
|
-
"a7d879d157c6d5b6b81a67dba7b5b731ac18ea986841fe1ab2cafbd6623481c3"
|
|
415
|
-
"dc0b8c6a4093269c2c36b58432b25409704d06fea8ca558f43b598625ca0d9de"
|
|
419
|
+
"a7d879d157c6d5b6b81a67dba7b5b731ac18ea986841fe1ab2cafbd6623481c3"
|
|
416
420
|
]
|
|
417
421
|
},
|
|
418
422
|
{
|
|
@@ -428,6 +432,7 @@
|
|
|
428
432
|
{
|
|
429
433
|
"canonical_name": "sks-release-review",
|
|
430
434
|
"trusted_sha256": [
|
|
435
|
+
"dfc2af7dd2c41ab2529ed54b2dca0dfd85e2de0d3304afbfe4a420e6627ce01a",
|
|
431
436
|
"36846d6180051c85e3093e7e405ad9d4d447f7295769f71f8450c18afee50e98",
|
|
432
437
|
"bb6ef28431fd6c390041c9a2855b906fd01a1f6da02111f094258914cf826bb9",
|
|
433
438
|
"7cf879a2efd61822d3dccd4eb69fb704bfbab4b114b820b6dfa0d13b5f20e9fa"
|
package/dist/bin/sks-dispatch.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
async function runSks(args) {
|
|
2
|
-
if (args[0] === 'commands' && args.includes('--
|
|
3
|
-
const { commandsJsonFast } = await import('../cli/commands-fast.js');
|
|
4
|
-
|
|
2
|
+
if (args[0] === 'commands' && !args.includes('--help') && !args.includes('-h')) {
|
|
3
|
+
const { commandsJsonFast, commandsTextFast } = await import('../cli/commands-fast.js');
|
|
4
|
+
if (args.includes('--json'))
|
|
5
|
+
commandsJsonFast();
|
|
6
|
+
else
|
|
7
|
+
commandsTextFast();
|
|
5
8
|
}
|
|
6
9
|
else if (args[0] === 'dollar-commands' && args.includes('--json')) {
|
|
7
10
|
const { dollarCommandsJsonFast } = await import('../core/routes/dollar-manifest-lite.js');
|
package/dist/cli/args.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { USAGE_TOPICS } from '../core/routes/constants.js';
|
|
2
1
|
import { narutoCommandInputSchema } from '../core/subagents/naruto-command-input-contract.js';
|
|
3
2
|
const COMMAND_MANIFEST_LITE_BASE = [
|
|
4
|
-
{ name: 'help', summary: 'Show SKS help', maturity: 'stable', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
3
|
+
{ name: 'help', summary: 'Show SKS help, or the usage of one command or $ route', maturity: 'stable', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
5
4
|
{ name: 'version', summary: 'Show SKS version', maturity: 'stable', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
6
5
|
{ name: 'commands', summary: 'List SKS commands', maturity: 'stable', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
7
6
|
{ name: 'triwiki', summary: 'Inspect TriWiki index, affected graph, and proof bank', maturity: 'stable', skipMigrationGate: true },
|
|
@@ -15,26 +14,19 @@ const COMMAND_MANIFEST_LITE_BASE = [
|
|
|
15
14
|
{ name: 'update-check', summary: 'Show the shared SKS, Codex CLI, and Menu Bar update status', maturity: 'stable', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
16
15
|
{ name: 'config', summary: 'Adopt project Codex config into SKS management', maturity: 'stable', skipMigrationGate: true },
|
|
17
16
|
{ name: 'mcp', summary: 'Manage scoped Codex MCP configuration', maturity: 'beta', skipMigrationGate: true },
|
|
18
|
-
{ name: 'usage', summary: 'Show focused usage topic', maturity: 'stable', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
19
17
|
{ name: 'quickstart', summary: 'Show quickstart flow', maturity: 'stable' },
|
|
20
|
-
{ name: 'setup', summary: '
|
|
18
|
+
{ name: 'setup', summary: 'Install SKS hooks, skills, and project files (--force rewrites them)', maturity: 'stable', skipMigrationGate: true },
|
|
21
19
|
{ name: 'bootstrap', summary: 'Initialize SKS project files', maturity: 'stable', skipMigrationGate: true },
|
|
22
|
-
{ name: 'init', summary: 'Initialize local control surface', maturity: 'stable' },
|
|
23
|
-
{ name: 'deps', summary: 'Check local dependencies', maturity: 'stable' },
|
|
24
|
-
{ name: 'fix-path', summary: 'Repair hook command paths', maturity: 'stable' },
|
|
25
20
|
{ name: 'doctor', summary: 'Check and repair SKS install', maturity: 'stable', skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
26
21
|
{ name: 'git', summary: 'Inspect and enforce SKS git collaboration hygiene', maturity: 'beta' },
|
|
27
22
|
{ name: 'paths', summary: 'Inspect SKS managed paths', maturity: 'beta', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
28
|
-
{ name: 'postinstall', summary: 'Restore package state; bootstrap only with explicit opt-in', maturity: 'stable', skipMigrationGate: true },
|
|
23
|
+
{ name: 'postinstall', summary: 'Restore package state; bootstrap only with explicit opt-in', maturity: 'stable', skipMigrationGate: true, hidden: true },
|
|
29
24
|
{ name: 'codex', summary: 'Check Codex CLI compatibility and vendored hook schemas', maturity: 'beta', skipMigrationGate: true },
|
|
30
25
|
{ name: 'codex-app', summary: 'Check Codex App readiness', maturity: 'beta', skipMigrationGate: true },
|
|
31
|
-
{ name: 'codex-native', summary: 'Inspect Codex Native broker and routing readiness', maturity: 'beta' },
|
|
32
26
|
{ name: 'bridge', summary: 'Manage the single Desktop Bridge runtime, provider profiles, catalog, and routes', maturity: 'beta', skipMigrationGate: true },
|
|
33
27
|
{ name: 'menubar', summary: 'Inspect/install/restart/uninstall SKS menu bar', maturity: 'beta', skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
34
|
-
{ name: 'remote', summary: 'Inspect official Remote readiness and run the proof-aware SSH stdio worker', maturity: 'beta' },
|
|
35
28
|
{ name: 'hooks', summary: 'Explain and inspect Codex hooks', maturity: 'beta', skipMigrationGate: true },
|
|
36
29
|
{ name: 'mad-sks', summary: 'MAD-SKS scoped permission modifier + SQL-plane execution', maturity: 'beta', mutatesRouteState: true, ownedGateFiles: ['mad-sks-gate.json'] },
|
|
37
|
-
{ name: 'auto-review', summary: 'Manage auto-review profile', maturity: 'beta' },
|
|
38
30
|
{ name: 'dollar-commands', summary: 'List Codex App dollar commands', maturity: 'stable', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
39
31
|
{ name: 'fast-mode', summary: 'Toggle SKS Fast mode default for dollar-command routes', maturity: 'stable', skipMigrationGate: true },
|
|
40
32
|
{ name: 'commit', summary: 'Create a simple git commit', maturity: 'stable' },
|
|
@@ -43,36 +35,27 @@ const COMMAND_MANIFEST_LITE_BASE = [
|
|
|
43
35
|
{ name: 'naruto', summary: 'Run the $sks-naruto Codex official subagent workflow', maturity: 'labs', mutatesRouteState: true, ownedGateFiles: ['naruto-gate.json', 'stop-gate.json'] },
|
|
44
36
|
{ name: 'route', summary: 'Inspect or close active route state', maturity: 'beta', skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
45
37
|
{ name: 'qa-loop', summary: 'Run QA loop missions', maturity: 'beta', mutatesRouteState: true, ownedGateFiles: ['qa-gate.json'] },
|
|
46
|
-
{ name: 'research', summary: 'Run research missions', maturity: 'labs', mutatesRouteState: true, ownedGateFiles: ['research-gate.json'] },
|
|
47
|
-
{ name: 'autoresearch', summary: 'Alias for research/autoresearch route', maturity: 'labs', mutatesRouteState: true, ownedGateFiles: ['research-gate.json'] },
|
|
38
|
+
{ name: 'research', summary: 'Run research missions (--autoresearch for the iterative experiment loop)', maturity: 'labs', mutatesRouteState: true, ownedGateFiles: ['research-gate.json'] },
|
|
48
39
|
{ name: 'ppt', summary: 'Inspect/build PPT artifacts', maturity: 'labs', mutatesRouteState: true, ownedGateFiles: ['ppt-gate.json'] },
|
|
49
40
|
{ name: 'image-ux-review', summary: 'Inspect image UX artifacts', maturity: 'labs', mutatesRouteState: true, ownedGateFiles: ['image-ux-review-gate.json'] },
|
|
50
41
|
{ name: 'computer-use', summary: 'Record native Mac/non-web Computer Use visual evidence', maturity: 'beta', mutatesRouteState: true, ownedGateFiles: ['computer-use-gate.json'] },
|
|
51
42
|
{ name: 'context7', summary: 'Context7 checks and docs', maturity: 'beta' },
|
|
52
43
|
{ name: 'super-search', summary: 'Run Super-Search provider-independent source intelligence', maturity: 'beta' },
|
|
53
44
|
{ name: 'search', summary: 'Local files/text/structure/symbol/context search engines', maturity: 'beta', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
54
|
-
{ name: 'recallpulse', summary: 'RecallPulse evidence route', maturity: 'labs' },
|
|
55
45
|
{ name: 'pipeline', summary: 'Inspect pipeline missions and seal a paused route\'s answers', maturity: 'beta', skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
56
46
|
{ name: 'guard', summary: 'Check harness guard', maturity: 'beta' },
|
|
57
47
|
{ name: 'conflicts', summary: 'Check harness conflicts', maturity: 'beta' },
|
|
58
|
-
{ name: 'reasoning', summary: 'Show reasoning route', maturity: 'labs' },
|
|
59
|
-
{ name: 'aliases', summary: 'Show command aliases', maturity: 'stable' },
|
|
60
48
|
{ name: 'cleanup', summary: 'Permanently blank active TriWiki without retaining a previous generation', maturity: 'beta' },
|
|
61
49
|
{ name: 'align', summary: 'Create or replace TriWiki as a code-only repository navigation graph', maturity: 'beta', mutatesRouteState: true, ownedGateFiles: ['align-gate.json'] },
|
|
62
50
|
{ name: 'selftest', summary: 'Run local mock selftest', maturity: 'stable' },
|
|
63
|
-
{ name: 'goal', summary: 'Print stateless Codex native Goal controls', maturity: 'beta' },
|
|
64
51
|
{ name: 'seo-geo-optimizer', summary: 'Run unified SEO/GEO optimizer audit/plan/apply/verify plus research/strategy (--include-marketing) on the search-visibility kernel', maturity: 'beta' },
|
|
65
|
-
{ name: 'hook', summary: 'Codex hook entrypoint', maturity: 'beta', skipMigrationGate: true },
|
|
52
|
+
{ name: 'hook', summary: 'Codex hook entrypoint', maturity: 'beta', skipMigrationGate: true, hidden: true },
|
|
66
53
|
{ name: 'proof', summary: 'Show and validate completion proof and the evidence behind it: route trust, stop gate, mission artifacts, H-Proof, proof field', maturity: 'beta', skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
67
|
-
{ name: 'wrongness', summary: 'Record and inspect TriWiki wrongness negative evidence', maturity: 'beta' },
|
|
68
|
-
{ name: 'skill-dream', summary: 'Track skill dream counters', maturity: 'labs' },
|
|
69
|
-
{ name: 'code-structure', summary: 'Scan source structure', maturity: 'labs' },
|
|
70
54
|
{ name: 'gx', summary: 'Render/validate GX cartridges', maturity: 'labs' },
|
|
71
55
|
{ name: 'eval', summary: 'Run eval reports', maturity: 'labs' },
|
|
72
|
-
{ name: 'wiki', summary: 'Manage TriWiki
|
|
56
|
+
{ name: 'wiki', summary: 'Manage TriWiki shards, image voxel ledgers, and wrongness memory', maturity: 'beta', skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
73
57
|
{ name: 'memory', summary: 'Project TriWiki memory, explicit Jev promotion, digest-bound forgetting, or bounded recall', maturity: 'beta' },
|
|
74
|
-
{ name: 'gc', summary: '
|
|
75
|
-
{ name: 'stats', summary: 'Show storage stats', maturity: 'labs', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
58
|
+
{ name: 'gc', summary: 'Plan, apply, or report runtime-state retention and storage size', maturity: 'labs', skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
76
59
|
{ name: 'mcp-server', summary: 'Run a stdio MCP server exposing SKS commands as tools for MCP-capable agent hosts', maturity: 'beta', skipMigrationGate: true, allowedDuringActiveRoute: true },
|
|
77
60
|
{ name: 'agent-bridge', summary: 'Register SKS tools or run read-only tools with native Astra async calling', maturity: 'beta', readonly: true, skipMigrationGate: true, allowedDuringActiveRoute: true, diagnostic: true },
|
|
78
61
|
{ name: 'decision', summary: 'Manage optional Jev decisions through OpenRouter: status, enable, disable, probe, evaluate', maturity: 'labs', skipMigrationGate: true, allowedDuringActiveRoute: true },
|
|
@@ -91,7 +74,6 @@ const COMMAND_CONTRACT_OVERRIDES_LITE = {
|
|
|
91
74
|
decision: { risk: 'R2', latency: 'long', supportsJson: true, remoteAllowed: false, inputProfile: 'json-only' },
|
|
92
75
|
imagegen: { risk: 'R2', latency: 'long', supportsJson: true, remoteAllowed: false, inputProfile: 'json-only' },
|
|
93
76
|
cleanup: { risk: 'R3', latency: 'long', supportsJson: true, remoteAllowed: false, inputProfile: 'json-only' },
|
|
94
|
-
autoresearch: { latency: 'long' },
|
|
95
77
|
bridge: { risk: 'R3', latency: 'long', supportsJson: true, remoteAllowed: false, inputProfile: 'json-only' },
|
|
96
78
|
'commit-and-push': { risk: 'R3' },
|
|
97
79
|
'computer-use': { latency: 'long' },
|
|
@@ -119,13 +101,10 @@ const COMMAND_CONTRACT_OVERRIDES_LITE = {
|
|
|
119
101
|
risk: 'R0', latency: 'fast', supportsJson: true, remoteAllowed: true, inputProfile: 'proof', requiredCapabilities: ['proof.read', 'proof.trust', 'proof.stop-gate']
|
|
120
102
|
},
|
|
121
103
|
'qa-loop': { latency: 'long' },
|
|
122
|
-
recallpulse: { latency: 'long' },
|
|
123
|
-
remote: { risk: 'R2', latency: 'long', supportsJson: true, remoteAllowed: false, inputProfile: 'json-only' },
|
|
124
104
|
research: { latency: 'long' },
|
|
125
105
|
review: { risk: 'R1' },
|
|
126
|
-
search: {
|
|
127
|
-
|
|
128
|
-
supportsJson: true, remoteAllowed: true, inputProfile: 'stats',
|
|
106
|
+
search: {
|
|
107
|
+
risk: 'R0', latency: 'normal', supportsJson: true, remoteAllowed: true, inputProfile: 'search',
|
|
129
108
|
requiredCapabilities: ['project.fs.read']
|
|
130
109
|
},
|
|
131
110
|
status: {
|
|
@@ -141,8 +120,8 @@ const COMMAND_CONTRACT_OVERRIDES_LITE = {
|
|
|
141
120
|
};
|
|
142
121
|
const COMMAND_HELP_LITE = {
|
|
143
122
|
help: {
|
|
144
|
-
usage: 'sks help [
|
|
145
|
-
description: 'Show
|
|
123
|
+
usage: 'sks help [command | \'$sks-<route>\']',
|
|
124
|
+
description: 'Show the command list, or the usage of one command (the same text as `sks <command> --help`) or one $ route.'
|
|
146
125
|
},
|
|
147
126
|
version: {
|
|
148
127
|
usage: 'sks version | sks --version',
|
|
@@ -176,10 +155,6 @@ const COMMAND_HELP_LITE = {
|
|
|
176
155
|
usage: 'sks review [--staged|--diff <ref>] [--fix] [--json]',
|
|
177
156
|
description: 'Review a diff with machine-evidence findings sorted above LLM review notes.'
|
|
178
157
|
},
|
|
179
|
-
usage: {
|
|
180
|
-
usage: `sks usage [${USAGE_TOPICS}]`,
|
|
181
|
-
description: 'Print copy-ready workflows for common tasks.'
|
|
182
|
-
},
|
|
183
158
|
quickstart: {
|
|
184
159
|
usage: 'sks quickstart',
|
|
185
160
|
description: 'Show the shortest safe setup and verification flow.'
|
|
@@ -200,38 +175,22 @@ const COMMAND_HELP_LITE = {
|
|
|
200
175
|
usage: 'sks uninstall [--dry-run] [--yes] [--keep-config] [--keep-data] [--purge-projects] [--json]',
|
|
201
176
|
description: 'Remove SKS global skills, hooks, menu bar, state, temp files, and optional project residue while preserving user-owned content by default.'
|
|
202
177
|
},
|
|
203
|
-
deps: {
|
|
204
|
-
usage: 'sks deps check [--json] [--yes]',
|
|
205
|
-
description: 'Check Node/npm and Codex CLI readiness; pass --yes to repair missing Codex CLI tooling when supported.'
|
|
206
|
-
},
|
|
207
178
|
codex: {
|
|
208
179
|
usage: 'sks codex compatibility|version|update-status [--refresh]|update|doctor|schema|current [--json]',
|
|
209
180
|
description: 'Check Codex CLI compatibility/version/update status, run the official `codex update`, and inspect current manifest, capability, and hook-schema evidence.'
|
|
210
181
|
},
|
|
211
182
|
'codex-app': {
|
|
212
|
-
usage: 'sks codex-app [check|status|restart|context-management [status|on|off]|context-1m [status|on|off]|product-design|chrome-extension|pat status|remote-control]',
|
|
213
|
-
description: 'Check Codex App integration, Desktop Bridge readiness, Product Design plugin readiness, Codex Chrome Extension web verification readiness, PAT-safe status, first-party MCP/plugin readiness, Codex CLI remote-control availability, and the opt-in Codex 1M context window toggle (each model gets its largest supported window) with automatic Codex restart. Provider routing is managed only by sks bridge.'
|
|
214
|
-
},
|
|
215
|
-
'codex-native': {
|
|
216
|
-
usage: 'sks codex-native status|feature-broker|invocation-plan|init-deep [--json]',
|
|
217
|
-
description: 'Inspect Codex Native feature broker readiness, invocation routing, and managed memory setup.'
|
|
183
|
+
usage: 'sks codex-app [check|status|restart|context-management [status|on|off]|context-1m [status|on|off]|product-design|chrome-extension|pat status|remote-control|harness-matrix|skill-sync|agent-role-sync|init-deep [--directory-local]|hook-lifecycle|execution-profile]',
|
|
184
|
+
description: 'Check Codex App integration, Desktop Bridge readiness, Product Design plugin readiness, Codex Chrome Extension web verification readiness, PAT-safe status, first-party MCP/plugin readiness, Codex CLI remote-control availability, managed skill and agent-role sync, project memory (init-deep), and the opt-in Codex 1M context window toggle (each model gets its largest supported window) with automatic Codex restart. Provider routing is managed only by sks bridge.'
|
|
218
185
|
},
|
|
219
186
|
hooks: {
|
|
220
187
|
usage: 'sks hooks explain|status|trust-report|replay|codex-validate|warning-check ... [--json]',
|
|
221
188
|
description: 'Explain Codex hook events, validate current vendored event output schemas, replay fixtures, and enforce warning-zero SKS hook policies.'
|
|
222
189
|
},
|
|
223
|
-
remote: {
|
|
224
|
-
usage: 'sks remote readiness|machines|worker ... [--json]',
|
|
225
|
-
description: 'Inspect official Codex Remote readiness and the allowlisted proof-aware SSH stdio worker surface.'
|
|
226
|
-
},
|
|
227
190
|
'mad-sks': {
|
|
228
191
|
usage: 'sks mad-sks plan|run|apply|sql|apply-migration|status|close|rollback-apply ... | sks --mad [--high]',
|
|
229
192
|
description: 'Open or inspect MAD-SKS scoped permission workflows, merged SQL-plane execution, and the native Codex permission launcher.'
|
|
230
193
|
},
|
|
231
|
-
'auto-review': {
|
|
232
|
-
usage: 'sks auto-review status|enable|start [--high] | sks --Auto-review --high',
|
|
233
|
-
description: 'Enable Codex automatic approval review and launch the native Codex session with the auto-review profile.'
|
|
234
|
-
},
|
|
235
194
|
'dollar-commands': {
|
|
236
195
|
usage: 'sks dollar-commands [--json]',
|
|
237
196
|
description: 'List Codex App $ commands such as $sks-dfix and $sks-naruto.'
|
|
@@ -249,8 +208,8 @@ const COMMAND_HELP_LITE = {
|
|
|
249
208
|
description: 'Stage current changes, create a simple git commit, and push without the full SKS pipeline.'
|
|
250
209
|
},
|
|
251
210
|
dfix: {
|
|
252
|
-
usage: 'sks dfix',
|
|
253
|
-
description: '
|
|
211
|
+
usage: 'sks dfix diagnose|plan|patch|verify|rollback-plan|proof|trust|fixture|status [--json]',
|
|
212
|
+
description: 'Run the DFix diagnose/plan/patch/verify loop for a small direct fix. The $sks-dfix skill itself needs no mission; this CLI records one.'
|
|
254
213
|
},
|
|
255
214
|
'qa-loop': {
|
|
256
215
|
usage: 'sks qa-loop prepare|answer|run|status ...',
|
|
@@ -280,13 +239,17 @@ const COMMAND_HELP_LITE = {
|
|
|
280
239
|
usage: 'sks search status|files|text|structure|symbol|context|benchmark|doctor [--json]',
|
|
281
240
|
description: 'Local SearchProvider engines for files/text/structure/symbol/context (no required rg/ast-grep/fd).'
|
|
282
241
|
},
|
|
283
|
-
recallpulse: {
|
|
284
|
-
usage: 'sks recallpulse run|status|eval|governance|checklist <mission-id|latest>',
|
|
285
|
-
description: 'Run report-only RecallPulse active recall, durable status, proof capsule, evidence envelope, and governance checks.'
|
|
286
|
-
},
|
|
287
242
|
pipeline: {
|
|
288
|
-
usage: 'sks pipeline status|
|
|
289
|
-
description: 'Inspect the active
|
|
243
|
+
usage: 'sks pipeline status|plan [--json] | sks pipeline plan [mission-id|latest] [--route \'$sks-<route>\'] [--agents N|--force-agents|--no-agents] [--proof-field [--changed a,b]] [--json] | sks pipeline answer <mission-id|latest> (--stdin | <answers.json>) [--json]',
|
|
244
|
+
description: 'Inspect the active route and its plan, re-plan a mission (agent count, or --proof-field to size verification from the changed files and the project\'s own scripts), or seal the answers a paused route\'s ambiguity gate is waiting for.'
|
|
245
|
+
},
|
|
246
|
+
menubar: {
|
|
247
|
+
usage: 'sks menubar status|install [--no-launch]|restart|rollback [--no-launch]|uninstall [--json]',
|
|
248
|
+
description: 'Inspect, install, restart, roll back, or uninstall the SKS menu bar app (macOS).'
|
|
249
|
+
},
|
|
250
|
+
install: {
|
|
251
|
+
usage: 'sks install [--yes|--no-tui] (first install: npm exec --yes --package=sneakoscope@latest -- sneakoscope install)',
|
|
252
|
+
description: 'Install the exact packaged SKS version globally, then repair and verify the resolved CLI with its own sks doctor --fix.'
|
|
290
253
|
},
|
|
291
254
|
guard: {
|
|
292
255
|
usage: 'sks guard check [--json]',
|
|
@@ -296,10 +259,6 @@ const COMMAND_HELP_LITE = {
|
|
|
296
259
|
usage: 'sks conflicts check|prompt|cleanup --yes [--json]',
|
|
297
260
|
description: 'Detect other Codex harnesses such as OMX/DCodex, print a cleanup prompt, or quarantine them automatically.'
|
|
298
261
|
},
|
|
299
|
-
aliases: {
|
|
300
|
-
usage: 'sks aliases',
|
|
301
|
-
description: 'Show command aliases and npm binary names.'
|
|
302
|
-
},
|
|
303
262
|
cleanup: {
|
|
304
263
|
usage: 'sks cleanup plan|run|status|proof [--apply] [--json]',
|
|
305
264
|
description: 'Permanently blank active TriWiki without retaining a previous generation; preserve source and audit history.'
|
|
@@ -312,10 +271,6 @@ const COMMAND_HELP_LITE = {
|
|
|
312
271
|
usage: 'sks setup [--bootstrap] [--install-scope global|project] [--local-only] [--force] [--json]',
|
|
313
272
|
description: 'Initialize SKS state, Codex App files, hooks, skills, and rules.'
|
|
314
273
|
},
|
|
315
|
-
'fix-path': {
|
|
316
|
-
usage: 'sks fix-path [--install-scope global|project] [--json]',
|
|
317
|
-
description: 'Refresh hook commands with the resolved SKS binary path.'
|
|
318
|
-
},
|
|
319
274
|
doctor: {
|
|
320
275
|
usage: 'sks doctor [--fix] [--local-only] [--json] [--install-scope global|project]',
|
|
321
276
|
description: 'Check and repair SKS generated files, while blocking setup if another Codex harness is detected.'
|
|
@@ -328,25 +283,17 @@ const COMMAND_HELP_LITE = {
|
|
|
328
283
|
usage: 'sks paths managed [--json]',
|
|
329
284
|
description: 'List SKS-owned managed paths and rollback eligibility.'
|
|
330
285
|
},
|
|
331
|
-
init: {
|
|
332
|
-
usage: 'sks init [--force] [--local-only] [--install-scope global|project]',
|
|
333
|
-
description: 'Initialize the local SKS control surface.'
|
|
334
|
-
},
|
|
335
286
|
selftest: {
|
|
336
287
|
usage: 'sks selftest [--mock]',
|
|
337
288
|
description: 'Run local smoke tests without calling a model.'
|
|
338
289
|
},
|
|
339
|
-
goal: {
|
|
340
|
-
usage: 'sks goal create|edit|pause|resume|clear|status ...',
|
|
341
|
-
description: 'Print a detailed Codex native /goal command without creating SKS Goal state.'
|
|
342
|
-
},
|
|
343
290
|
'seo-geo-optimizer': {
|
|
344
291
|
usage: 'sks seo-geo-optimizer [seo|geo] doctor|audit|research|strategy|plan|apply|verify|status|rollback|fixture [mission|latest] [--mode seo|geo] [--target auto|website|docs|package] [--include-marketing] [--json]',
|
|
345
292
|
description: 'Run the unified SEO/GEO optimizer on the shared search-visibility kernel with mode-specific gates, marketing research/strategy, safe apply, and proof.'
|
|
346
293
|
},
|
|
347
294
|
research: {
|
|
348
|
-
usage: 'sks research prepare|run|status ...',
|
|
349
|
-
description: 'Run evidence-bound research missions with layered sources, independent review, paper, novelty, and falsification checks.'
|
|
295
|
+
usage: 'sks research prepare|run|status ... [--autoresearch]',
|
|
296
|
+
description: 'Run evidence-bound research missions with layered sources, independent review, paper, novelty, and falsification checks; --autoresearch runs the iterative experiment loop.'
|
|
350
297
|
},
|
|
351
298
|
proof: {
|
|
352
299
|
usage: 'sks proof show|latest|validate|export|smoke|trust report|validate|status|explain [latest|mission-id]|artifacts [mission-id|latest] [--required a,b]|stop-gate [check] [--route r] [--mission id]|hproof check [mission-id|latest]|field scan [--intent "task"] [--json|--md]',
|
|
@@ -356,52 +303,32 @@ const COMMAND_HELP_LITE = {
|
|
|
356
303
|
usage: 'sks eval run|compare|thresholds ...',
|
|
357
304
|
description: 'Run deterministic context-quality and performance evidence checks.'
|
|
358
305
|
},
|
|
359
|
-
wrongness: {
|
|
360
|
-
usage: 'sks wrongness list|show|add|resolve|summarize|validate|context|rules ...',
|
|
361
|
-
description: 'Record, retrieve, and validate TriWiki wrongness memory: negative evidence, failed assumptions, stale proof, visual/DB/hook mismatches, and avoidance rules.'
|
|
362
|
-
},
|
|
363
|
-
'skill-dream': {
|
|
364
|
-
usage: 'sks skill-dream status|run|record [--json]',
|
|
365
|
-
description: 'Track generated-skill usage in lightweight JSON and periodically report keep, merge, prune, and improvement candidates without deleting skills automatically.'
|
|
366
|
-
},
|
|
367
|
-
'code-structure': {
|
|
368
|
-
usage: 'sks code-structure scan [--json]',
|
|
369
|
-
description: 'Scan handwritten source files for 1000/2000/3000-line structure gates and split-review exceptions.'
|
|
370
|
-
},
|
|
371
306
|
wiki: {
|
|
372
|
-
usage: 'sks wiki coords|pack|refresh|publish|
|
|
373
|
-
description: '
|
|
307
|
+
usage: 'sks wiki validate|validate-shared|publish|rebuild-index|rebuild-summary|prune|coords|pack|refresh ... | sks wiki wrongness list|show|add|resolve|summarize|validate|context|rules|publish ... | sks wiki image-ingest|anchor-add|relation-add|image-validate|image-summary ...',
|
|
308
|
+
description: 'Validate, publish, and inspect TriWiki shards and image voxel ledgers, and record or query wrongness memory: negative evidence, failed assumptions, stale proof, and avoidance rules. `refresh` and `pack` run `sks align run`, the one TriWiki writer.'
|
|
374
309
|
},
|
|
375
310
|
memory: {
|
|
376
|
-
usage: 'sks memory
|
|
377
|
-
description: '
|
|
311
|
+
usage: 'sks memory recall [--query <text>] [--high-risk] [--json] | sks memory promote --mission <id> --yes [--json] | sks memory forget --memory-id <id> --previous-digest <digest> [--json] | sks memory build [--json] | sks memory gc [--dry-run] [--json]',
|
|
312
|
+
description: 'Read bounded canonical memory, explicitly promote a Jev mission intake, write a digest-bound tombstone, project TriWiki memory into AGENTS.md (build), or run memory retention (gc).'
|
|
378
313
|
},
|
|
379
314
|
naruto: {
|
|
380
315
|
usage: 'sks naruto run "task" [--agents N] [--max-threads N] [--trusted-project] [--json] | sks naruto status|subagents|proof [latest|M-...] [--json] | sks naruto execution status [--json] | sks naruto execution set --mode auto|current-session|standalone [--restart] [--json] | sks naruto parent-summary --mission M-... --stdin [--json]',
|
|
381
316
|
description: 'Run or inspect the Codex official subagent workflow: an orchestrating parent (latest deep-tier standalone default), children on the newest model of their tier (Jev picks the tier on spawn when Jev mode is on), max_depth=1, and structured parent-thread completion evidence.'
|
|
382
317
|
},
|
|
383
|
-
reasoning: {
|
|
384
|
-
usage: 'sks reasoning ["prompt"] [--json]',
|
|
385
|
-
description: 'Show SKS temporary reasoning-effort routing: medium for simple tasks, high for logic, xhigh for research.'
|
|
386
|
-
},
|
|
387
318
|
gx: {
|
|
388
319
|
usage: 'sks gx init|render|validate|drift|snapshot [name]',
|
|
389
320
|
description: 'Create and verify deterministic SVG/HTML visual context cartridges.'
|
|
390
321
|
},
|
|
391
322
|
gc: {
|
|
392
|
-
usage: 'sks gc [--dry-run] [--json]',
|
|
393
|
-
description: '
|
|
394
|
-
},
|
|
395
|
-
stats: {
|
|
396
|
-
usage: 'sks stats [--full] [--json]',
|
|
397
|
-
description: 'Show package and .sneakoscope storage size.'
|
|
323
|
+
usage: 'sks gc [plan|apply --yes|status [--full]] [--dry-run] [--json]',
|
|
324
|
+
description: 'Retention compacts or removes old missions and transient runtime files; `plan` previews it, `apply --yes` runs a reviewed plan. `status --full` also sizes the installed package.'
|
|
398
325
|
},
|
|
399
326
|
'mcp-server': {
|
|
400
327
|
usage: 'sks mcp-server [--expose-exec] [--probe]',
|
|
401
328
|
description: 'Run a modern stateless stdio MCP server exposing SKS read-only commands as tools for any MCP-capable agent host; --expose-exec also exposes non-read-only commands; --probe round-trips server/discover and tools/list, then exits.'
|
|
402
329
|
},
|
|
403
330
|
'agent-bridge': {
|
|
404
|
-
usage: 'sks agent-bridge setup [--trusted-project] [--json] | async --prompt "task" [--tools status,
|
|
331
|
+
usage: 'sks agent-bridge setup [--trusted-project] [--json] | async --prompt "task" [--tools status,search] [--json]',
|
|
405
332
|
description: 'Publish the agent-bridge manifest or run selected read-only SKS tools with native Astra Async tool calling through the registered Codex-LB bridge.'
|
|
406
333
|
},
|
|
407
334
|
decision: {
|
|
@@ -450,8 +377,13 @@ export function commandInputSchema(profile) {
|
|
|
450
377
|
json: { type: 'boolean' }
|
|
451
378
|
});
|
|
452
379
|
}
|
|
453
|
-
if (profile === '
|
|
454
|
-
return objectSchema({
|
|
380
|
+
if (profile === 'search') {
|
|
381
|
+
return objectSchema({
|
|
382
|
+
action: { type: 'string', enum: ['status', 'files', 'text', 'structure', 'symbol', 'context'] },
|
|
383
|
+
query: boundedString(1, 500),
|
|
384
|
+
json: { type: 'boolean' }
|
|
385
|
+
});
|
|
386
|
+
}
|
|
455
387
|
if (profile === 'proof') {
|
|
456
388
|
return objectSchema({
|
|
457
389
|
action: { type: 'string', enum: ['show', 'latest', 'validate', 'route', 'trust', 'stop-gate'] },
|
|
@@ -471,9 +403,7 @@ function objectSchema(properties) {
|
|
|
471
403
|
function boundedString(minLength, maxLength) {
|
|
472
404
|
return { type: 'string', minLength, maxLength };
|
|
473
405
|
}
|
|
474
|
-
export const LEGACY_COMMAND_ALIASES_LITE = {};
|
|
475
406
|
export const COMMAND_ALIASES_LITE = {
|
|
476
|
-
...LEGACY_COMMAND_ALIASES_LITE,
|
|
477
407
|
'--help': 'help',
|
|
478
408
|
'-h': 'help',
|
|
479
409
|
'--version': 'version',
|
|
@@ -481,12 +411,16 @@ export const COMMAND_ALIASES_LITE = {
|
|
|
481
411
|
'--mad': 'mad-sks',
|
|
482
412
|
'--MAD': 'mad-sks',
|
|
483
413
|
'--mad-sks': 'mad-sks',
|
|
484
|
-
'ux-review': 'image-ux-review'
|
|
485
|
-
'visual-review': 'image-ux-review',
|
|
486
|
-
'ui-ux-review': 'image-ux-review'
|
|
414
|
+
'ux-review': 'image-ux-review'
|
|
487
415
|
};
|
|
488
416
|
export const COMMAND_MANIFEST_BY_NAME = Object.fromEntries(COMMAND_MANIFEST_LITE.map((entry) => [entry.name, entry]));
|
|
489
417
|
export const COMMAND_NAME_SET = new Set(COMMAND_MANIFEST_LITE.map((entry) => entry.name));
|
|
490
418
|
export function commandManifestNames() {
|
|
491
419
|
return COMMAND_MANIFEST_LITE.map((entry) => entry.name).sort();
|
|
492
420
|
}
|
|
421
|
+
export function visibleCommandManifest() {
|
|
422
|
+
return COMMAND_MANIFEST_LITE
|
|
423
|
+
.filter((entry) => entry.hidden !== true)
|
|
424
|
+
.slice()
|
|
425
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
426
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMMAND_ALIASES_LITE, COMMAND_MANIFEST_BY_NAME,
|
|
1
|
+
import { COMMAND_ALIASES_LITE, COMMAND_MANIFEST_BY_NAME, commandManifestNames } from './command-manifest-lite.js';
|
|
2
2
|
import { argsCommand, command, commandArgsCommand, directCommand, noArgsCommand, subcommand } from './command-loaders.js';
|
|
3
3
|
const basicModule = '../core/commands/basic-cli.js';
|
|
4
4
|
const basicArgs = (exportName) => argsCommand(() => import(basicModule), exportName);
|
|
@@ -19,26 +19,19 @@ const COMMAND_LOADERS = {
|
|
|
19
19
|
'update-check': command('dist/core/commands/basic-cli.js', basicArgs('updateCheckCommand')),
|
|
20
20
|
config: command('dist/core/config-adopt/index.js', subcommand(() => import('../core/config-adopt/index.js'), 'configCommand', 'adopt')),
|
|
21
21
|
mcp: command('dist/core/commands/mcp-config-command.js', argsCommand(() => import('../core/commands/mcp-config-command.js'), 'mcpConfigCommand')),
|
|
22
|
-
usage: command('dist/core/commands/basic-cli.js', basicArgs('usageCommand')),
|
|
23
22
|
quickstart: command('dist/core/commands/basic-cli.js', basicNoArgs('quickstartCommand')),
|
|
24
23
|
setup: command('dist/core/commands/basic-cli.js', basicArgs('setupCommand')),
|
|
25
24
|
bootstrap: command('dist/core/commands/basic-cli.js', basicArgs('bootstrapCommand')),
|
|
26
|
-
init: command('dist/core/commands/basic-cli.js', basicArgs('initCommand')),
|
|
27
|
-
deps: command('dist/core/commands/basic-cli.js', subcommand(() => import(basicModule), 'depsCommand', 'check')),
|
|
28
|
-
'fix-path': command('dist/core/commands/basic-cli.js', basicArgs('fixPathCommand')),
|
|
29
25
|
doctor: command('dist/commands/doctor.js', directCommand(() => import('../commands/doctor.js'))),
|
|
30
26
|
git: command('dist/commands/git.js', directCommand(() => import('../commands/git.js'))),
|
|
31
27
|
paths: command('dist/core/commands/paths-command.js', argsCommand(() => import('../core/commands/paths-command.js'), 'pathsCommand')),
|
|
32
28
|
postinstall: command('dist/core/commands/basic-cli.js', basicArgs('postinstallCommand')),
|
|
33
29
|
codex: command('dist/commands/codex.js', directCommand(() => import('../commands/codex.js'))),
|
|
34
30
|
'codex-app': command('dist/commands/codex-app.js', directCommand(() => import('../commands/codex-app.js'))),
|
|
35
|
-
'codex-native': command('dist/commands/codex-native.js', directCommand(() => import('../commands/codex-native.js'))),
|
|
36
31
|
bridge: command('dist/commands/bridge.js', directCommand(() => import('../commands/bridge.js'))),
|
|
37
32
|
menubar: command('dist/core/commands/menubar-command.js', subcommand(() => import('../core/commands/menubar-command.js'), 'menubarCommand', 'status')),
|
|
38
|
-
remote: command('dist/core/commands/remote-command.js', argsCommand(() => import('../core/commands/remote-command.js'), 'remoteCommand')),
|
|
39
33
|
hooks: command('dist/commands/hooks.js', directCommand(() => import('../commands/hooks.js'))),
|
|
40
34
|
'mad-sks': command('dist/commands/mad-sks.js', directCommand(() => import('../commands/mad-sks.js'))),
|
|
41
|
-
'auto-review': command('dist/commands/auto-review.js', directCommand(() => import('../commands/auto-review.js'))),
|
|
42
35
|
'dollar-commands': command('dist/core/commands/basic-cli.js', basicArgs('dollarCommandsCommand')),
|
|
43
36
|
'fast-mode': command('dist/core/commands/fast-mode-command.js', argsCommand(() => import('../core/commands/fast-mode-command.js'), 'fastModeCommand')),
|
|
44
37
|
commit: command('dist/commands/commit.js', directCommand(() => import('../commands/commit.js'))),
|
|
@@ -48,35 +41,26 @@ const COMMAND_LOADERS = {
|
|
|
48
41
|
route: command('dist/core/commands/route-command.js', subcommand(() => import('../core/commands/route-command.js'), 'routeCommand', 'status')),
|
|
49
42
|
'qa-loop': command('dist/core/commands/qa-loop-command.js', subcommand(() => import('../core/commands/qa-loop-command.js'), 'qaLoopCommand')),
|
|
50
43
|
research: command('dist/core/commands/research-command.js', subcommand(() => import('../core/commands/research-command.js'), 'researchCommand')),
|
|
51
|
-
autoresearch: command('dist/core/commands/autoresearch-command.js', subcommand(() => import('../core/commands/autoresearch-command.js'), 'autoresearchCommand', 'status')),
|
|
52
44
|
ppt: command('dist/core/commands/ppt-command.js', commandArgsCommand(() => import('../core/commands/ppt-command.js'), 'pptCommand')),
|
|
53
45
|
'image-ux-review': command('dist/core/commands/image-ux-review-command.js', commandArgsCommand(() => import('../core/commands/image-ux-review-command.js'), 'imageUxReviewCommand')),
|
|
54
46
|
'computer-use': command('dist/core/commands/computer-use-command.js', commandArgsCommand(() => import('../core/commands/computer-use-command.js'), 'computerUseCommand')),
|
|
55
47
|
context7: command('dist/cli/context7-command.js', subcommand(() => import('./context7-command.js'), 'context7Command', 'check')),
|
|
56
48
|
'super-search': command('dist/cli/super-search-command.js', subcommand(() => import('./super-search-command.js'), 'superSearchCommand', 'doctor')),
|
|
57
49
|
search: command('dist/commands/search.js', subcommand(() => import('../commands/search.js'), 'run', 'status')),
|
|
58
|
-
recallpulse: command('dist/commands/recallpulse.js', directCommand(() => import('../commands/recallpulse.js'))),
|
|
59
50
|
pipeline: command('dist/commands/pipeline.js', directCommand(() => import('../commands/pipeline.js'))),
|
|
60
51
|
guard: command('dist/commands/guard.js', directCommand(() => import('../commands/guard.js'))),
|
|
61
52
|
conflicts: command('dist/commands/conflicts.js', directCommand(() => import('../commands/conflicts.js'))),
|
|
62
|
-
reasoning: command('dist/core/commands/basic-cli.js', basicArgs('reasoningCommand')),
|
|
63
|
-
aliases: command('dist/core/commands/basic-cli.js', basicNoArgs('aliasesCommand')),
|
|
64
53
|
cleanup: command('dist/core/commands/cleanup-command.js', subcommand(() => import('../core/commands/cleanup-command.js'), 'cleanupCommand', 'plan')),
|
|
65
54
|
align: command('dist/core/commands/align-command.js', subcommand(() => import('../core/commands/align-command.js'), 'alignCommand', 'prepare')),
|
|
66
55
|
selftest: command('dist/core/commands/basic-cli.js', basicArgs('selftestCommand')),
|
|
67
|
-
goal: command('dist/core/commands/goal-command.js', subcommand(() => import('../core/commands/goal-command.js'), 'goalCommand')),
|
|
68
56
|
'seo-geo-optimizer': command('dist/core/commands/seo-command.js', argsCommand(() => import('../core/commands/seo-command.js'), 'seoGeoOptimizerCommand')),
|
|
69
57
|
hook: command('dist/commands/hook.js', directCommand(() => import('../commands/hook.js'))),
|
|
70
58
|
proof: command('dist/commands/proof.js', directCommand(() => import('../commands/proof.js'))),
|
|
71
|
-
wrongness: command('dist/core/commands/wrongness-command.js', argsCommand(() => import('../core/commands/wrongness-command.js'), 'wrongnessCommand')),
|
|
72
|
-
'skill-dream': command('dist/core/commands/skill-dream-command.js', subcommand(() => import('../core/commands/skill-dream-command.js'), 'skillDreamCommand', 'status')),
|
|
73
|
-
'code-structure': command('dist/core/commands/code-structure-command.js', subcommand(() => import('../core/commands/code-structure-command.js'), 'codeStructureCommand', 'scan')),
|
|
74
59
|
eval: command('dist/core/commands/eval-command.js', subcommand(() => import('../core/commands/eval-command.js'), 'evalCommand', 'run')),
|
|
75
60
|
gx: command('dist/core/commands/gx-command.js', subcommand(() => import('../core/commands/gx-command.js'), 'gxCommand', 'validate')),
|
|
76
61
|
wiki: command('dist/commands/wiki.js', directCommand(() => import('../commands/wiki.js'))),
|
|
77
62
|
memory: command('dist/commands/memory.js', directCommand(() => import('../commands/memory.js'))),
|
|
78
63
|
gc: command('dist/core/commands/gc-command.js', gcArgs('gcCommand')),
|
|
79
|
-
stats: command('dist/core/commands/gc-command.js', gcArgs('statsCommand')),
|
|
80
64
|
'mcp-server': command('dist/core/commands/mcp-server-command.js', argsCommand(() => import('../core/commands/mcp-server-command.js'), 'mcpServerCommand')),
|
|
81
65
|
'agent-bridge': command('dist/core/commands/agent-bridge-command.js', subcommand(() => import('../core/commands/agent-bridge-command.js'), 'agentBridgeCommand', 'setup')),
|
|
82
66
|
decision: command('dist/commands/decision.js', directCommand(() => import('../commands/decision.js'))),
|
|
@@ -86,7 +70,6 @@ export const COMMANDS = Object.fromEntries(commandManifestNames().map((name) =>
|
|
|
86
70
|
const { name: _name, ...metadata } = COMMAND_MANIFEST_BY_NAME[name];
|
|
87
71
|
return [name, { ...metadata, ...COMMAND_LOADERS[name] }];
|
|
88
72
|
}));
|
|
89
|
-
export const LEGACY_COMMAND_ALIASES = LEGACY_COMMAND_ALIASES_LITE;
|
|
90
73
|
export const COMMAND_ALIASES = COMMAND_ALIASES_LITE;
|
|
91
74
|
export function commandNames() {
|
|
92
75
|
return commandManifestNames();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { COMMAND_MANIFEST_LITE } from './command-manifest-lite.js';
|
|
1
|
+
import { COMMAND_MANIFEST_LITE, visibleCommandManifest } from './command-manifest-lite.js';
|
|
2
|
+
import { sksTextLogo } from './output.js';
|
|
2
3
|
export function commandsJsonFast() {
|
|
3
4
|
const commands = COMMAND_MANIFEST_LITE
|
|
4
5
|
.map((entry) => fastCommandRow(entry))
|
|
@@ -9,10 +10,18 @@ export function commandsJsonFast() {
|
|
|
9
10
|
commands
|
|
10
11
|
}, null, 2));
|
|
11
12
|
}
|
|
13
|
+
export function commandsTextFast() {
|
|
14
|
+
const commands = visibleCommandManifest();
|
|
15
|
+
console.log(`${sksTextLogo()}\n\nCommands\n`);
|
|
16
|
+
const width = Math.max(...commands.map((entry) => entry.name.length)) + 2;
|
|
17
|
+
for (const entry of commands)
|
|
18
|
+
console.log(`sks ${entry.name.padEnd(width)}${entry.summary}`);
|
|
19
|
+
console.log('\nRun `sks help <command>` for its usage.');
|
|
20
|
+
}
|
|
12
21
|
function fastCommandRow(entry) {
|
|
13
22
|
const row = {
|
|
14
23
|
name: entry.name,
|
|
15
|
-
usage: `sks ${entry.name}`,
|
|
24
|
+
usage: entry.usage || `sks ${entry.name}`,
|
|
16
25
|
description: entry.summary,
|
|
17
26
|
maturity: entry.maturity
|
|
18
27
|
};
|
|
@@ -20,8 +29,6 @@ function fastCommandRow(entry) {
|
|
|
20
29
|
row.readonly = true;
|
|
21
30
|
if (entry.mutatesRouteState === true)
|
|
22
31
|
row.mutating = true;
|
|
23
|
-
if (entry.deprecated === true)
|
|
24
|
-
row.deprecated = true;
|
|
25
32
|
if (entry.hidden === true)
|
|
26
33
|
row.hidden = true;
|
|
27
34
|
return row;
|