skillops-cli 1.2.1 → 1.3.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 +92 -65
- package/dist/cli.js +2424 -301
- package/dist/index.d.ts +349 -93
- package/dist/index.js +2709 -803
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { z } from 'zod';
|
|
|
8
8
|
* telemetry and Multi-Runtime Transpilation lockfiles.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
declare const SKILLOPS_VERSION = "1.
|
|
11
|
+
declare const SKILLOPS_VERSION = "1.3.0";
|
|
12
12
|
/**
|
|
13
13
|
* Count whitespace-delimited words in text.
|
|
14
14
|
*/
|
|
@@ -1417,97 +1417,6 @@ declare function formatHarnessInspectionReport(report: HarnessInspectionReport,
|
|
|
1417
1417
|
*/
|
|
1418
1418
|
declare function formatDoctorReport(report: DoctorReport, format?: "table" | "json" | "markdown" | "github"): string;
|
|
1419
1419
|
|
|
1420
|
-
/**
|
|
1421
|
-
* Deterministic, zero-execution Repository Stack Fingerprinter (`src/router/fingerprinter.ts`).
|
|
1422
|
-
*
|
|
1423
|
-
* Inspects manifest files (`pyproject.toml`, `requirements*.txt`, `uv.lock`, `package.json`,
|
|
1424
|
-
* `tsconfig.json`, `Cargo.toml`, `go.mod`, `Dockerfile`, `docker-compose*.yml`, `.github/workflows`),
|
|
1425
|
-
* SQL files, and source files without executing untrusted repository code.
|
|
1426
|
-
*/
|
|
1427
|
-
|
|
1428
|
-
declare function normalizePackageName(rawSpec: string): string;
|
|
1429
|
-
declare class RepoFingerprinter {
|
|
1430
|
-
readonly repoPath: string;
|
|
1431
|
-
constructor(repoPath: string);
|
|
1432
|
-
fingerprint(): RepoProfile;
|
|
1433
|
-
}
|
|
1434
|
-
declare function fingerprintRepository(repoPath: string): RepoProfile;
|
|
1435
|
-
|
|
1436
|
-
/**
|
|
1437
|
-
* Dynamic Skill & Subagent Router (`src/router/bundle_compiler.ts`).
|
|
1438
|
-
*
|
|
1439
|
-
* Enforces INV-SKILL-03:
|
|
1440
|
-
* - Compiles a deterministic, collision-free bundle of <= 12 skills (<= 1,500 L1 tokens,
|
|
1441
|
-
* < 0.78 pairwise cosine similarity) tailored to the repository fingerprint and task prompt.
|
|
1442
|
-
* - Selects matching Context-Isolated Subagents (`recommended_subagents`).
|
|
1443
|
-
*/
|
|
1444
|
-
|
|
1445
|
-
interface RouteOptions {
|
|
1446
|
-
readonly maxSkills?: number;
|
|
1447
|
-
readonly maxL1Tokens?: number;
|
|
1448
|
-
readonly maxSimilarity?: number;
|
|
1449
|
-
readonly taskPrompt?: string;
|
|
1450
|
-
}
|
|
1451
|
-
declare function scoreSkillAgainstProfile(parsedSkill: ParsedSkillDirectory, profile: RepoProfile, taskPrompt?: string): {
|
|
1452
|
-
score: number;
|
|
1453
|
-
matchedSignals: string[];
|
|
1454
|
-
negativeMatch: string | null;
|
|
1455
|
-
};
|
|
1456
|
-
declare function compileSkillBundle(profile: RepoProfile, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
1457
|
-
declare function routeRepository(repoPath: string, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
1458
|
-
declare function formatRoutedBundle(bundle: RoutedBundle, format?: "table" | "json" | "markdown"): string;
|
|
1459
|
-
|
|
1460
|
-
/**
|
|
1461
|
-
* Multi-Runtime Transpiler for Skills & Context-Isolated Subagents (`src/sync/adapters.ts`).
|
|
1462
|
-
*
|
|
1463
|
-
* Implements Issue #61:
|
|
1464
|
-
* - Transpiles Hybrid Executable Skills (SKILL.md + Level 3 scripts/references) and
|
|
1465
|
-
* Context-Isolated Subagents (SUBAGENT.md) across:
|
|
1466
|
-
* 1. Claude Code (`.claude/skills/<name>/`, `.claude/agents/<name>.md`)
|
|
1467
|
-
* 2. Antigravity / Gemini CLI (`.agent/skills/<name>/`, `.agent/agents/<name>.md`)
|
|
1468
|
-
* 3. Cursor (`.cursor/rules/skillops-<name>.mdc`, `.cursor/rules/skillops-agent-<name>.mdc`)
|
|
1469
|
-
* 4. OpenAI Codex CLI (`.codex/skills/<name>/`, `.codex/agents/<name>.md`, `AGENTS.md`)
|
|
1470
|
-
* 5. GitHub Copilot (`.github/instructions/`, `.github/prompts/`, `.github/agents/<name>.agent.md`)
|
|
1471
|
-
* - Enforces `.skillops-lock.json` SHA-256 integrity, local drift detection, and surgical `add`.
|
|
1472
|
-
*/
|
|
1473
|
-
|
|
1474
|
-
interface SyncOptions extends RouteOptions {
|
|
1475
|
-
readonly targets?: readonly RuntimeTarget[];
|
|
1476
|
-
readonly dryRun?: boolean;
|
|
1477
|
-
readonly force?: boolean;
|
|
1478
|
-
}
|
|
1479
|
-
interface AddOptions {
|
|
1480
|
-
readonly targets?: readonly RuntimeTarget[];
|
|
1481
|
-
readonly dryRun?: boolean;
|
|
1482
|
-
readonly force?: boolean;
|
|
1483
|
-
}
|
|
1484
|
-
interface RemoveOptions {
|
|
1485
|
-
readonly targets?: readonly RuntimeTarget[];
|
|
1486
|
-
readonly dryRun?: boolean;
|
|
1487
|
-
readonly force?: boolean;
|
|
1488
|
-
}
|
|
1489
|
-
interface CleanOptions {
|
|
1490
|
-
readonly dryRun?: boolean;
|
|
1491
|
-
readonly force?: boolean;
|
|
1492
|
-
}
|
|
1493
|
-
declare function computeSha256(content: string): string;
|
|
1494
|
-
declare function renderCodexAgentsIndex(existingContent: string | null, skills: readonly ParsedSkillDirectory[], subagents: readonly ParsedSubagentFile[]): string;
|
|
1495
|
-
declare function syncRepository(repoPath: string, catalogDir: string, options?: SyncOptions): SyncReport;
|
|
1496
|
-
/**
|
|
1497
|
-
* Surgically install a single Skill or Subagent by name across active runtime targets.
|
|
1498
|
-
*/
|
|
1499
|
-
declare function addSkillOrSubagent(repoPath: string, catalogDir: string, itemName: string, options?: AddOptions): SyncReport;
|
|
1500
|
-
declare function stripCodexAgentsBlock(existingContent: string): string;
|
|
1501
|
-
/**
|
|
1502
|
-
* Surgically remove a single synced Skill or Subagent by name across target runtimes.
|
|
1503
|
-
*/
|
|
1504
|
-
declare function removeSkillOrSubagent(repoPath: string, catalogDir: string, itemName: string, options?: RemoveOptions): SyncReport;
|
|
1505
|
-
/**
|
|
1506
|
-
* Clean all SkillOps-managed runtime artifacts tracked in `.skillops-lock.json`.
|
|
1507
|
-
*/
|
|
1508
|
-
declare function cleanSyncedArtifacts(repoPath: string, catalogDir: string, options?: CleanOptions): SyncReport;
|
|
1509
|
-
declare function formatSyncReport(report: SyncReport, format?: "table" | "json" | "markdown"): string;
|
|
1510
|
-
|
|
1511
1420
|
/**
|
|
1512
1421
|
* Zero-API Deterministic TDD Benchmark Runner & Static HTML/Markdown Exporter (`src/eval/index.ts`).
|
|
1513
1422
|
*
|
|
@@ -1975,6 +1884,110 @@ declare function evaluateCatalog(catalogDir: string, options?: {
|
|
|
1975
1884
|
}): CatalogEvalSummary;
|
|
1976
1885
|
declare function formatEvalSummary(summary: CatalogEvalSummary, format?: "table" | "json" | "markdown" | "html" | "github"): string;
|
|
1977
1886
|
|
|
1887
|
+
/**
|
|
1888
|
+
* SkillOps Framework & Library Operations Engine (Issue #126).
|
|
1889
|
+
*
|
|
1890
|
+
* Implements:
|
|
1891
|
+
* 1. Library Explorer: `inspectCatalogItem` (`skillops info <name>`) & `searchCatalog` (`skillops search <query>`)
|
|
1892
|
+
* 2. Framework Scaffolder: `scaffoldFrameworkItem` (`skillops create skill|subagent <name>`)
|
|
1893
|
+
* 3. 1-Command Onboarding Pipeline: `runQuickstart` (`skillops quickstart` / `skillops setup`)
|
|
1894
|
+
*/
|
|
1895
|
+
|
|
1896
|
+
interface CatalogItemInfo {
|
|
1897
|
+
readonly kind: "skill" | "subagent";
|
|
1898
|
+
readonly name: string;
|
|
1899
|
+
readonly description: string;
|
|
1900
|
+
readonly path: string;
|
|
1901
|
+
readonly l1Tokens: number;
|
|
1902
|
+
readonly l2Lines: number;
|
|
1903
|
+
readonly l2Tokens: number;
|
|
1904
|
+
readonly savingsPct: number;
|
|
1905
|
+
readonly scripts: readonly string[];
|
|
1906
|
+
readonly evalCasesCount: number;
|
|
1907
|
+
readonly tools: readonly string[];
|
|
1908
|
+
readonly maxOutputTokens: number | null;
|
|
1909
|
+
readonly isolation: string | null;
|
|
1910
|
+
readonly headings: readonly string[];
|
|
1911
|
+
}
|
|
1912
|
+
/**
|
|
1913
|
+
* Inspect a single Skill or Subagent from the Library by name (`skillops info <name>`).
|
|
1914
|
+
*/
|
|
1915
|
+
declare function inspectCatalogItem(catalogDir: string, itemName: string): CatalogItemInfo;
|
|
1916
|
+
/**
|
|
1917
|
+
* Format detailed inspection card for a Skill or Subagent.
|
|
1918
|
+
*/
|
|
1919
|
+
declare function formatCatalogItemInfo(info: CatalogItemInfo, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1920
|
+
interface CatalogSearchMatch {
|
|
1921
|
+
readonly kind: "skill" | "subagent";
|
|
1922
|
+
readonly name: string;
|
|
1923
|
+
readonly score: number;
|
|
1924
|
+
readonly tokens: number;
|
|
1925
|
+
readonly summary: string;
|
|
1926
|
+
}
|
|
1927
|
+
interface CatalogSearchReport {
|
|
1928
|
+
readonly query: string;
|
|
1929
|
+
readonly total_matches: number;
|
|
1930
|
+
readonly matches: readonly CatalogSearchMatch[];
|
|
1931
|
+
}
|
|
1932
|
+
/**
|
|
1933
|
+
* Search the SkillOps Library of Skills & Subagents by keyword (`skillops search <query>`).
|
|
1934
|
+
*/
|
|
1935
|
+
declare function searchCatalog(catalogDir: string, query: string): CatalogSearchReport;
|
|
1936
|
+
/**
|
|
1937
|
+
* Format search results from the SkillOps Library.
|
|
1938
|
+
*/
|
|
1939
|
+
declare function formatCatalogSearchReport(report: CatalogSearchReport, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1940
|
+
interface ScaffoldResult {
|
|
1941
|
+
readonly kind: "skill" | "subagent";
|
|
1942
|
+
readonly name: string;
|
|
1943
|
+
readonly target_dir: string;
|
|
1944
|
+
readonly created_files: readonly string[];
|
|
1945
|
+
}
|
|
1946
|
+
interface ScaffoldOptions {
|
|
1947
|
+
readonly description?: string;
|
|
1948
|
+
readonly force?: boolean;
|
|
1949
|
+
}
|
|
1950
|
+
/**
|
|
1951
|
+
* Scaffold a new custom Hybrid Executable Skill (`INV-SKILL-01..03`) or Context-Isolated Subagent (`INV-SKILL-04`)
|
|
1952
|
+
* using the SkillOps Framework Contract (`skillops create skill|subagent <name>`).
|
|
1953
|
+
*/
|
|
1954
|
+
declare function scaffoldFrameworkItem(catalogDir: string, kind: "skill" | "subagent", rawName: string, options?: ScaffoldOptions): ScaffoldResult;
|
|
1955
|
+
/**
|
|
1956
|
+
* Format the output of `skillops create skill|subagent <name>`.
|
|
1957
|
+
*/
|
|
1958
|
+
declare function formatScaffoldReport(result: ScaffoldResult, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1959
|
+
interface QuickstartOptions {
|
|
1960
|
+
readonly targetsArg?: string;
|
|
1961
|
+
readonly maxSkills?: number;
|
|
1962
|
+
readonly dryRun?: boolean;
|
|
1963
|
+
readonly force?: boolean;
|
|
1964
|
+
readonly skipMcp?: boolean;
|
|
1965
|
+
}
|
|
1966
|
+
interface QuickstartReport {
|
|
1967
|
+
readonly repo_path: string;
|
|
1968
|
+
readonly config_path: string;
|
|
1969
|
+
readonly dry_run: boolean;
|
|
1970
|
+
readonly detected_languages: readonly string[];
|
|
1971
|
+
readonly detected_frameworks: readonly string[];
|
|
1972
|
+
readonly detected_harnesses: readonly RuntimeTarget[];
|
|
1973
|
+
readonly active_targets: readonly RuntimeTarget[];
|
|
1974
|
+
readonly selected_skills: readonly string[];
|
|
1975
|
+
readonly selected_subagents: readonly string[];
|
|
1976
|
+
readonly total_l1_tokens: number;
|
|
1977
|
+
readonly max_l1_budget: number;
|
|
1978
|
+
readonly synced_files_count: number;
|
|
1979
|
+
readonly mcp_configured_count: number;
|
|
1980
|
+
readonly passed: boolean;
|
|
1981
|
+
}
|
|
1982
|
+
/**
|
|
1983
|
+
* Execute the 1-Command Onboarding Pipeline (`skillops quickstart` / `skillops setup`).
|
|
1984
|
+
*/
|
|
1985
|
+
declare function runQuickstart(repoPath: string, catalogDir: string, options?: QuickstartOptions): QuickstartReport;
|
|
1986
|
+
/**
|
|
1987
|
+
* Render the visual 4-step Quickstart summary dashboard.
|
|
1988
|
+
*/
|
|
1989
|
+
declare function formatQuickstartReport(report: QuickstartReport, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
1990
|
+
|
|
1978
1991
|
/**
|
|
1979
1992
|
* Native JSON-RPC 2.0 Stdio Model Context Protocol Server (`src/mcp/index.ts`).
|
|
1980
1993
|
*
|
|
@@ -2036,4 +2049,247 @@ declare function setupMcpForHarnesses(repoPath: string, options?: McpSetupOption
|
|
|
2036
2049
|
*/
|
|
2037
2050
|
declare function formatMcpSetupReport(report: McpSetupReport, format?: "table" | "json" | "markdown"): string;
|
|
2038
2051
|
|
|
2039
|
-
|
|
2052
|
+
/**
|
|
2053
|
+
* Deterministic, zero-execution Repository Stack Fingerprinter (`src/router/fingerprinter.ts`).
|
|
2054
|
+
*
|
|
2055
|
+
* Inspects manifest files (`pyproject.toml`, `requirements*.txt`, `uv.lock`, `package.json`,
|
|
2056
|
+
* `tsconfig.json`, `Cargo.toml`, `go.mod`, `Dockerfile`, `docker-compose*.yml`, `.github/workflows`),
|
|
2057
|
+
* SQL files, and source files without executing untrusted repository code.
|
|
2058
|
+
*/
|
|
2059
|
+
|
|
2060
|
+
declare function normalizePackageName(rawSpec: string): string;
|
|
2061
|
+
declare class RepoFingerprinter {
|
|
2062
|
+
readonly repoPath: string;
|
|
2063
|
+
constructor(repoPath: string);
|
|
2064
|
+
fingerprint(): RepoProfile;
|
|
2065
|
+
}
|
|
2066
|
+
declare function fingerprintRepository(repoPath: string): RepoProfile;
|
|
2067
|
+
|
|
2068
|
+
/**
|
|
2069
|
+
* Dynamic Skill & Subagent Router (`src/router/bundle_compiler.ts`).
|
|
2070
|
+
*
|
|
2071
|
+
* Enforces INV-SKILL-03:
|
|
2072
|
+
* - Compiles a deterministic, collision-free bundle of <= 12 skills (<= 1,500 L1 tokens,
|
|
2073
|
+
* < 0.78 pairwise cosine similarity) tailored to the repository fingerprint and task prompt.
|
|
2074
|
+
* - Selects matching Context-Isolated Subagents (`recommended_subagents`).
|
|
2075
|
+
*/
|
|
2076
|
+
|
|
2077
|
+
interface RouteOptions {
|
|
2078
|
+
readonly maxSkills?: number;
|
|
2079
|
+
readonly maxL1Tokens?: number;
|
|
2080
|
+
readonly maxSimilarity?: number;
|
|
2081
|
+
readonly taskPrompt?: string;
|
|
2082
|
+
}
|
|
2083
|
+
declare function scoreSkillAgainstProfile(parsedSkill: ParsedSkillDirectory, profile: RepoProfile, taskPrompt?: string): {
|
|
2084
|
+
score: number;
|
|
2085
|
+
matchedSignals: string[];
|
|
2086
|
+
negativeMatch: string | null;
|
|
2087
|
+
};
|
|
2088
|
+
declare function compileSkillBundle(profile: RepoProfile, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
2089
|
+
declare function routeRepository(repoPath: string, catalogDir: string, options?: RouteOptions): RoutedBundle;
|
|
2090
|
+
declare function formatRoutedBundle(bundle: RoutedBundle, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
2091
|
+
|
|
2092
|
+
/**
|
|
2093
|
+
* Multi-Runtime Transpiler for Skills & Context-Isolated Subagents (`src/sync/adapters.ts`).
|
|
2094
|
+
*
|
|
2095
|
+
* Implements Issue #61:
|
|
2096
|
+
* - Transpiles Hybrid Executable Skills (SKILL.md + Level 3 scripts/references) and
|
|
2097
|
+
* Context-Isolated Subagents (SUBAGENT.md) across:
|
|
2098
|
+
* 1. Claude Code (`.claude/skills/<name>/`, `.claude/agents/<name>.md`)
|
|
2099
|
+
* 2. Antigravity / Gemini CLI (`.agent/skills/<name>/`, `.agent/agents/<name>.md`)
|
|
2100
|
+
* 3. Cursor (`.cursor/rules/skillops-<name>.mdc`, `.cursor/rules/skillops-agent-<name>.mdc`)
|
|
2101
|
+
* 4. OpenAI Codex CLI (`.codex/skills/<name>/`, `.codex/agents/<name>.md`, `AGENTS.md`)
|
|
2102
|
+
* 5. GitHub Copilot (`.github/instructions/`, `.github/prompts/`, `.github/agents/<name>.agent.md`)
|
|
2103
|
+
* - Enforces `.skillops-lock.json` SHA-256 integrity, local drift detection, and surgical `add`.
|
|
2104
|
+
*/
|
|
2105
|
+
|
|
2106
|
+
interface SyncOptions extends RouteOptions {
|
|
2107
|
+
readonly targets?: readonly RuntimeTarget[];
|
|
2108
|
+
readonly dryRun?: boolean;
|
|
2109
|
+
readonly force?: boolean;
|
|
2110
|
+
}
|
|
2111
|
+
interface AddOptions {
|
|
2112
|
+
readonly targets?: readonly RuntimeTarget[];
|
|
2113
|
+
readonly dryRun?: boolean;
|
|
2114
|
+
readonly force?: boolean;
|
|
2115
|
+
}
|
|
2116
|
+
interface RemoveOptions {
|
|
2117
|
+
readonly targets?: readonly RuntimeTarget[];
|
|
2118
|
+
readonly dryRun?: boolean;
|
|
2119
|
+
readonly force?: boolean;
|
|
2120
|
+
}
|
|
2121
|
+
interface CleanOptions {
|
|
2122
|
+
readonly dryRun?: boolean;
|
|
2123
|
+
readonly force?: boolean;
|
|
2124
|
+
}
|
|
2125
|
+
declare function computeSha256(content: string): string;
|
|
2126
|
+
declare function renderCodexAgentsIndex(existingContent: string | null, skills: readonly ParsedSkillDirectory[], subagents: readonly ParsedSubagentFile[]): string;
|
|
2127
|
+
declare function syncRepository(repoPath: string, catalogDir: string, options?: SyncOptions): SyncReport;
|
|
2128
|
+
/**
|
|
2129
|
+
* Surgically install a single Skill or Subagent by name across active runtime targets.
|
|
2130
|
+
*/
|
|
2131
|
+
declare function addSkillOrSubagent(repoPath: string, catalogDir: string, itemName: string, options?: AddOptions): SyncReport;
|
|
2132
|
+
declare function stripCodexAgentsBlock(existingContent: string): string;
|
|
2133
|
+
/**
|
|
2134
|
+
* Surgically remove a single synced Skill or Subagent by name across target runtimes.
|
|
2135
|
+
*/
|
|
2136
|
+
declare function removeSkillOrSubagent(repoPath: string, catalogDir: string, itemName: string, options?: RemoveOptions): SyncReport;
|
|
2137
|
+
/**
|
|
2138
|
+
* Clean all SkillOps-managed runtime artifacts tracked in `.skillops-lock.json`.
|
|
2139
|
+
*/
|
|
2140
|
+
declare function cleanSyncedArtifacts(repoPath: string, catalogDir: string, options?: CleanOptions): SyncReport;
|
|
2141
|
+
declare function formatSyncReport(report: SyncReport, format?: "table" | "json" | "markdown", colorEnabled?: boolean): string;
|
|
2142
|
+
|
|
2143
|
+
/**
|
|
2144
|
+
* SkillOps CLI Help System, 3-Pillar Framework/Library Dashboard & Fuzzy Typo Matcher (`src/ui/help.ts`).
|
|
2145
|
+
*/
|
|
2146
|
+
interface CommandOptionSpec {
|
|
2147
|
+
readonly flags: string;
|
|
2148
|
+
readonly description: string;
|
|
2149
|
+
}
|
|
2150
|
+
interface CommandHelpSpec {
|
|
2151
|
+
readonly name: string;
|
|
2152
|
+
readonly aliases: readonly string[];
|
|
2153
|
+
readonly pillar: "library" | "framework" | "runtime";
|
|
2154
|
+
readonly summary: string;
|
|
2155
|
+
readonly usage: string;
|
|
2156
|
+
readonly options: readonly CommandOptionSpec[];
|
|
2157
|
+
readonly examples: readonly {
|
|
2158
|
+
readonly command: string;
|
|
2159
|
+
readonly description: string;
|
|
2160
|
+
}[];
|
|
2161
|
+
}
|
|
2162
|
+
declare const COMMAND_HELP_SPECS: readonly CommandHelpSpec[];
|
|
2163
|
+
/**
|
|
2164
|
+
* Find a command help specification by primary name or alias.
|
|
2165
|
+
*/
|
|
2166
|
+
declare function findCommandHelpSpec(commandOrAlias: string): CommandHelpSpec | undefined;
|
|
2167
|
+
/**
|
|
2168
|
+
* Render the 3-Pillar Framework & Library global help screen (`npx skillops-cli --help`).
|
|
2169
|
+
*/
|
|
2170
|
+
declare function renderGlobalHelp(version: string, colorEnabled?: boolean): string;
|
|
2171
|
+
/**
|
|
2172
|
+
* Render detailed per-command help (`npx skillops-cli <cmd> --help` or `npx skillops-cli help <cmd>`).
|
|
2173
|
+
*/
|
|
2174
|
+
declare function renderCommandHelp(spec: CommandHelpSpec, version: string, colorEnabled?: boolean): string;
|
|
2175
|
+
|
|
2176
|
+
/**
|
|
2177
|
+
* SkillOps Zero-Dependency Terminal UI (TUI) Aesthetic Engine.
|
|
2178
|
+
*
|
|
2179
|
+
* Provides ANSI styling with automatic TTY / NO_COLOR / FORCE_COLOR awareness,
|
|
2180
|
+
* Unicode rounded panels, ANSI-aware aligned multi-column tables, visual token
|
|
2181
|
+
* budget progress bars, step indicators, AI invocation guides, and fuzzy
|
|
2182
|
+
* Levenshtein command suggestions.
|
|
2183
|
+
*/
|
|
2184
|
+
interface ColorOverrideOptions {
|
|
2185
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
2186
|
+
readonly isTTY?: boolean;
|
|
2187
|
+
}
|
|
2188
|
+
/**
|
|
2189
|
+
* Determine whether ANSI terminal colors should be emitted.
|
|
2190
|
+
* Respects https://no-color.org (`NO_COLOR`), `FORCE_COLOR`, `TERM=dumb`, and `stdout.isTTY`.
|
|
2191
|
+
*/
|
|
2192
|
+
declare function isColorEnabled(options?: ColorOverrideOptions): boolean;
|
|
2193
|
+
declare const style: {
|
|
2194
|
+
bold: (text: string, enabled?: boolean) => string;
|
|
2195
|
+
dim: (text: string, enabled?: boolean) => string;
|
|
2196
|
+
italic: (text: string, enabled?: boolean) => string;
|
|
2197
|
+
underline: (text: string, enabled?: boolean) => string;
|
|
2198
|
+
cyan: (text: string, enabled?: boolean) => string;
|
|
2199
|
+
green: (text: string, enabled?: boolean) => string;
|
|
2200
|
+
yellow: (text: string, enabled?: boolean) => string;
|
|
2201
|
+
red: (text: string, enabled?: boolean) => string;
|
|
2202
|
+
magenta: (text: string, enabled?: boolean) => string;
|
|
2203
|
+
blue: (text: string, enabled?: boolean) => string;
|
|
2204
|
+
gray: (text: string, enabled?: boolean) => string;
|
|
2205
|
+
white: (text: string, enabled?: boolean) => string;
|
|
2206
|
+
};
|
|
2207
|
+
/**
|
|
2208
|
+
* Strip all ANSI SGR escape sequences from a string.
|
|
2209
|
+
*/
|
|
2210
|
+
declare function stripAnsi(text: string): string;
|
|
2211
|
+
/**
|
|
2212
|
+
* Compute visible character width of a string ignoring ANSI color codes.
|
|
2213
|
+
*/
|
|
2214
|
+
declare function visibleLength(text: string): number;
|
|
2215
|
+
/**
|
|
2216
|
+
* Pad a potentially ANSI-styled string to a target visible width.
|
|
2217
|
+
*/
|
|
2218
|
+
declare function padVisible(text: string, width: number, align?: "left" | "right" | "center"): string;
|
|
2219
|
+
interface BoxOptions {
|
|
2220
|
+
readonly title?: string;
|
|
2221
|
+
readonly borderColor?: (text: string, enabled?: boolean) => string;
|
|
2222
|
+
readonly paddingX?: number;
|
|
2223
|
+
readonly minWidth?: number;
|
|
2224
|
+
readonly colorEnabled?: boolean;
|
|
2225
|
+
}
|
|
2226
|
+
/**
|
|
2227
|
+
* Render a rounded Unicode panel (`╭───╮ │ ╰───╯`).
|
|
2228
|
+
*/
|
|
2229
|
+
declare function renderBox(lines: readonly string[], options?: BoxOptions): string;
|
|
2230
|
+
/**
|
|
2231
|
+
* Render the official SkillOps Framework & Library top banner.
|
|
2232
|
+
*/
|
|
2233
|
+
declare function renderHeaderBanner(subtitle?: string, options?: {
|
|
2234
|
+
version?: string;
|
|
2235
|
+
colorEnabled?: boolean;
|
|
2236
|
+
}): string;
|
|
2237
|
+
interface TableOptions {
|
|
2238
|
+
readonly align?: readonly ("left" | "right" | "center")[];
|
|
2239
|
+
readonly indent?: number;
|
|
2240
|
+
readonly colorEnabled?: boolean;
|
|
2241
|
+
}
|
|
2242
|
+
/**
|
|
2243
|
+
* Render an ANSI-aware multi-column aligned table with Unicode header rules.
|
|
2244
|
+
*/
|
|
2245
|
+
declare function renderTable(headers: readonly string[], rows: readonly (readonly string[])[], options?: TableOptions): string;
|
|
2246
|
+
interface TokenBarOptions {
|
|
2247
|
+
readonly width?: number;
|
|
2248
|
+
readonly label?: string;
|
|
2249
|
+
readonly unit?: string;
|
|
2250
|
+
readonly colorEnabled?: boolean;
|
|
2251
|
+
}
|
|
2252
|
+
/**
|
|
2253
|
+
* Render a visual token budget progress bar (`[████████░░░░░░░░] 48.0% (720 / 1,500 tokens)`).
|
|
2254
|
+
*/
|
|
2255
|
+
declare function renderTokenBar(current: number, max: number, options?: TokenBarOptions): string;
|
|
2256
|
+
/**
|
|
2257
|
+
* Alias for renderTokenBar used across token/budget progress visualizations.
|
|
2258
|
+
*/
|
|
2259
|
+
declare const renderProgressBar: typeof renderTokenBar;
|
|
2260
|
+
/**
|
|
2261
|
+
* Render a stylized section header with a bold cyan rule.
|
|
2262
|
+
*/
|
|
2263
|
+
declare function renderSectionHeader(title: string, colorEnabled?: boolean): string;
|
|
2264
|
+
type BadgeType = "pass" | "warn" | "fail" | "info" | "skill" | "subagent";
|
|
2265
|
+
/**
|
|
2266
|
+
* Render a semantic status or artifact badge.
|
|
2267
|
+
*/
|
|
2268
|
+
declare function formatBadge(type: BadgeType, customLabel?: string, colorEnabled?: boolean): string;
|
|
2269
|
+
/**
|
|
2270
|
+
* Render a numbered onboarding step line (` ✔ [1/4] Title — Detail`).
|
|
2271
|
+
*/
|
|
2272
|
+
declare function renderStep(step: number, total: number, title: string, detail?: string, status?: "done" | "warn" | "skip", colorEnabled?: boolean): string;
|
|
2273
|
+
interface NextStepHint {
|
|
2274
|
+
readonly command: string;
|
|
2275
|
+
readonly description: string;
|
|
2276
|
+
}
|
|
2277
|
+
/**
|
|
2278
|
+
* Render an actionable "Next steps" footer guiding the developer on what to run next.
|
|
2279
|
+
*/
|
|
2280
|
+
declare function renderNextSteps(hints: readonly NextStepHint[], colorEnabled?: boolean): string;
|
|
2281
|
+
/**
|
|
2282
|
+
* Render a practical guide explaining how to invoke installed Skills & Subagents inside the user's AI coding agents.
|
|
2283
|
+
*/
|
|
2284
|
+
declare function renderAiUsageGuide(targets: readonly string[], skills: readonly string[], subagents: readonly string[], colorEnabled?: boolean): string;
|
|
2285
|
+
/**
|
|
2286
|
+
* Compute Levenshtein edit distance between two strings for typo suggestions.
|
|
2287
|
+
*/
|
|
2288
|
+
declare function levenshteinDistance(a: string, b: string): number;
|
|
2289
|
+
declare const DEFAULT_VALID_COMMANDS: readonly string[];
|
|
2290
|
+
/**
|
|
2291
|
+
* Suggest the closest valid CLI command when a user makes a typo.
|
|
2292
|
+
*/
|
|
2293
|
+
declare function suggestCommand(unknownCommand: string, validCommands?: readonly string[]): string | null;
|
|
2294
|
+
|
|
2295
|
+
export { ALL_RUNTIME_TARGETS, type AddOptions, type AnalyzeTokenEconomyOptions, type AuditCatalogOptions, type BadgeType, type BenchmarkArm, BenchmarkArmSchema, type BenchmarkDelta, BenchmarkDeltaSchema, type BoxOptions, COMMAND_HELP_SPECS, CORE_RUNTIME_TARGETS, type CatalogEvalSummary, CatalogEvalSummarySchema, type CatalogItemInfo, type CatalogSearchMatch, type CatalogSearchReport, type CatalogTokenBudgetSummary, type CatalogTrack, CatalogTrackSchema, type CleanOptions, type CollisionPair, CollisionPairSchema, type CollisionReport, CollisionReportSchema, type CollisionSeverity, CollisionSeveritySchema, type ColorOverrideOptions, type CommandHelpSpec, type CommandOptionSpec, DEFAULT_VALID_COMMANDS, type DiagnoseRepositoryOptions, type DoctorCheckItem, type DoctorReport, type EvalAssertion, EvalAssertionSchema, type EvalCase, EvalCaseSchema, ExitCode, type ExitCodeValue, type HarnessCategory, type HarnessInspectionEntry, type HarnessInspectionReport, type HarnessSkillFormat, type JsonRpcRequest, type JsonRpcResponse, type LoadedSkillOpsConfigResult, type LockfileArtifactDiagnostic, type McpConfigAction, type McpServerContext, type McpSetupOptions, type McpSetupReport, type NextStepHint, type ParseSkillOptions, type ParsedSkillDirectory, type ParsedSubagentFile, type QuickstartOptions, type QuickstartReport, RUNTIME_HARNESS_SPECS, type RemoveOptions, RepoFingerprinter, type RepoProfile, RepoProfileSchema, type RouteOptions, type RoutedBundle, RoutedBundleSchema, type RoutingSignals, RoutingSignalsSchema, type RuntimeHarnessSpec, type RuntimeTarget, RuntimeTargetSchema, SKILLOPS_VERSION, type ScaffoldOptions, type ScaffoldResult, type ScoredSkill, ScoredSkillSchema, type ScriptEntrypoint, ScriptEntrypointSchema, type SkillBenchmark, SkillBenchmarkSchema, type SkillEntrypoints, SkillEntrypointsSchema, type SkillEvalSuite, SkillEvalSuiteSchema, type SkillManifest, type SkillManifestInput, SkillManifestSchema, type SkillOpsConfig, SkillOpsConfigSchema, type SkillOpsDetectedStackConfig, SkillOpsDetectedStackConfigSchema, type SkillOpsTokenEconomyConfig, SkillOpsTokenEconomyConfigSchema, type SkillTokenBudgetAudit, type SkippedSkill, SkippedSkillSchema, type SubagentManifest, SubagentManifestSchema, type SubagentTokenBudgetAudit, type SyncLockEntry, SyncLockEntrySchema, type SyncLockfile, SyncLockfileSchema, type SyncOptions, type SyncReport, SyncReportSchema, type SyncedArtifact, SyncedArtifactSchema, type TableOptions, type TokenBarOptions, type TokenEconomyReport, TokenEconomyReportSchema, type TokenFileCategory, TokenFileCategorySchema, type TokenFileEntry, TokenFileEntrySchema, type TokenWasteHotspot, TokenWasteHotspotSchema, addSkillOrSubagent, analyzeRepoTokenEconomy, auditCatalog, auditCatalogTokenBudgets, auditSkillTokenBudget, auditSubagentTokenBudget, classifyCollisionSeverity, cleanSyncedArtifacts, compileSkillBundle, computeCollisionMatrix, computeFeatureCosine, computeIdfWeights, computeSha256, countWords, createCollisionPair, createCollisionReport, createSkillManifest, createSubagentManifest, detectInstalledHarnesses, diagnoseRepository, discoverSkillDirectories, discoverSubagentFiles, estimateTokenCount, evaluateCatalog, evaluateSkillDirectory, extractSkillFeatures, findCommandHelpSpec, fingerprintRepository, formatBadge, formatCatalogItemInfo, formatCatalogSearchReport, formatDoctorReport, formatEvalSummary, formatHarnessInspectionReport, formatMcpSetupReport, formatQuickstartReport, formatRoutedBundle, formatScaffoldReport, formatSyncReport, formatTokenEconomyReport, handleMcpJsonRpcRequest, inspectCatalogItem, inspectHarnesses, isColorEnabled, levenshteinDistance, loadSkillOpsConfig, normalizePackageName, padVisible, parseSkillDirectory, parseSkillMdFile, parseSubagentFile, parseSubagentMdFile, removeSkillOrSubagent, renderAiUsageGuide, renderBox, renderCodexAgentsIndex, renderCommandHelp, renderGlobalHelp, renderHeaderBanner, renderNextSteps, renderProgressBar, renderSectionHeader, renderStep, renderTable, renderTokenBar, resolveRuntimeTargets, routeRepository, runQuickstart, scaffoldFrameworkItem, scoreSkillAgainstProfile, searchCatalog, setupMcpForHarnesses, splitFrontmatter, startMcpStdioServer, stripAnsi, stripCodexAgentsBlock, stripNegativeTriggerClauses, style, suggestCommand, syncRepository, tokenizeRoutingText, visibleLength };
|