@genrtl/grtl 0.4.1 → 1.0.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.
Files changed (3) hide show
  1. package/README.md +8 -7
  2. package/dist/index.js +30 -10
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -57,13 +57,14 @@ https://genrtl.com/api/mcp
57
57
 
58
58
  ```bash
59
59
  grtl knowledge-search "AXI stream backpressure design"
60
- grtl spec2rtl-search "Design an APB register block"
61
- grtl spec2plan-search "Plan an APB register block implementation"
62
- grtl verification-search "Verify an async FIFO"
63
- grtl debug-search "Explain this Vivado CDC warning"
64
- ```
65
-
66
- Use `--json` for structured output. `--type` accepts `spec2rtl`, `spec2plan`, `verification`, or `debug`; other filters include
60
+ grtl spec2rtl-search "Design an APB register block"
61
+ grtl spec2plan-search "Plan an APB register block implementation"
62
+ grtl verification-search "Verify an async FIFO"
63
+ grtl compile-search "Explain this Vivado CDC warning"
64
+ grtl debug-search "Fix this RTL bug from bad code and error message"
65
+ ```
66
+
67
+ Use `--json` for structured output. `--type` accepts `spec2rtl`, `spec2plan`, `verification`, `compile`, `debug`, or `coding_style`; other filters include
67
68
  `--domain`, `--tool`, `--tool-version`, `--error-type`, `--severity`,
68
69
  `--interface`, `--target`, `--tag`, `--top-k`, `--min-score`, and
69
70
  `--workspace-id`.
package/dist/index.js CHANGED
@@ -378,7 +378,8 @@ Choose one tool:
378
378
  - \`genrtl_spec2rtl_search\` for requirements and RTL design
379
379
  - \`genrtl_spec2plan_search\` for implementation planning from a specification
380
380
  - \`genrtl_verification_search\` for testbenches and verification
381
- - \`genrtl_debug_search\` for lint, CDC, compile, synthesis, and RTL bugs
381
+ - \`genrtl_compile_search\` for lint, CDC, compile, synthesis, implementation, and simulator diagnostics
382
+ - \`genrtl_debug_search\` for issue descriptions, erroneous code, solutions, and corrected RTL
382
383
 
383
384
  Pass the complete engineering question in \`query\`. Add filters only when useful.`;
384
385
  var FALLBACK_CLI = `Use the \`grtl\` CLI for grounded RTL engineering knowledge and reusable CBB installation.
@@ -388,6 +389,7 @@ For knowledge retrieval, choose one command:
388
389
  - \`npx @genrtl/grtl@latest spec2rtl-search "<query>"\`
389
390
  - \`npx @genrtl/grtl@latest spec2plan-search "<query>"\`
390
391
  - \`npx @genrtl/grtl@latest verification-search "<query>"\`
392
+ - \`npx @genrtl/grtl@latest compile-search "<query>"\`
391
393
  - \`npx @genrtl/grtl@latest debug-search "<query>"\`
392
394
 
393
395
  To install a reusable RTL block into the current project:
@@ -406,7 +408,7 @@ alwaysApply: true
406
408
  var CODEX_CLI_SANDBOX_GUIDANCE = `Run GenRTL CLI requests outside Codex's default sandbox. If a GenRTL CLI command fails with DNS or network errors such as ENOTFOUND, host resolution failures, or fetch failed, rerun it outside the sandbox instead of retrying inside the sandbox.`;
407
409
  var MCP_SKILL = `---
408
410
  name: genrtl-mcp
409
- description: Use GenRTL MCP tools for grounded RTL design, verification, lint, CDC, synthesis, compile, and debugging knowledge.
411
+ description: Use GenRTL MCP tools for grounded RTL design, verification, compile/synthesis diagnostics, debugging, and coding style knowledge.
410
412
  ---
411
413
 
412
414
  # GenRTL MCP
@@ -419,14 +421,15 @@ Choose exactly one MCP tool:
419
421
  - \`genrtl_spec2rtl_search\` for requirements, protocols, control logic, or algorithm-to-RTL work.
420
422
  - \`genrtl_spec2plan_search\` for turning a specification into an actionable implementation plan.
421
423
  - \`genrtl_verification_search\` for testbenches and verification.
422
- - \`genrtl_debug_search\` for lint, CDC, compile, synthesis, or RTL bugs.
424
+ - \`genrtl_compile_search\` for lint, CDC, compile, synthesis, implementation, or simulator diagnostics.
425
+ - \`genrtl_debug_search\` for issue descriptions, erroneous code, solutions, and corrected RTL.
423
426
 
424
427
  Pass the complete engineering question in \`query\`. Add \`filters\`, \`top_k\`,
425
428
  \`min_score\`, or \`workspace_id\` only when useful.
426
429
  `;
427
430
  var CLI_SKILL = `---
428
431
  name: genrtl-cli
429
- description: Use the grtl CLI for grounded RTL design, verification, debugging knowledge, and secure installation of reusable RTL CBBs.
432
+ description: Use the grtl CLI for grounded RTL design, verification, compile/synthesis diagnostics, debugging knowledge, and secure installation of reusable RTL CBBs.
430
433
  ---
431
434
 
432
435
  # GenRTL CLI
@@ -440,7 +443,8 @@ For knowledge retrieval, choose exactly one command:
440
443
  - \`grtl spec2rtl-search "<query>" --json\` for requirements, protocols, control logic, or algorithm-to-RTL work.
441
444
  - \`grtl spec2plan-search "<query>" --json\` for turning a specification into an actionable implementation plan.
442
445
  - \`grtl verification-search "<query>" --json\` for testbenches and verification.
443
- - \`grtl debug-search "<query>" --json\` for lint, CDC, compile, synthesis, or RTL bugs.
446
+ - \`grtl compile-search "<query>" --json\` for lint, CDC, compile, synthesis, implementation, or simulator diagnostics.
447
+ - \`grtl debug-search "<query>" --json\` for issue descriptions, erroneous code, solutions, and corrected RTL.
444
448
 
445
449
  For a CBB selected from GenRTL search results:
446
450
 
@@ -982,10 +986,15 @@ var TOOL_COMMANDS = [
982
986
  alias: "verification-search",
983
987
  description: "Search verification and testbench knowledge cards"
984
988
  },
989
+ {
990
+ name: "genrtl_compile_search",
991
+ alias: "compile-search",
992
+ description: "Search compile, lint, CDC, synthesis, implementation, and simulator diagnostic knowledge cards"
993
+ },
985
994
  {
986
995
  name: "genrtl_debug_search",
987
996
  alias: "debug-search",
988
- description: "Search lint, CDC, compile, synthesis, and RTL debug knowledge cards"
997
+ description: "Search RTL debug cards with issue description, erroneous code, solution, and corrected code"
989
998
  }
990
999
  ];
991
1000
  function parseInteger(value) {
@@ -1014,7 +1023,14 @@ function buildKnowledgeSearchInput(query, options) {
1014
1023
  }
1015
1024
  const filters = {};
1016
1025
  if (options.type?.length) {
1017
- const allowed = /* @__PURE__ */ new Set(["spec2rtl", "spec2plan", "verification", "debug"]);
1026
+ const allowed = /* @__PURE__ */ new Set([
1027
+ "spec2rtl",
1028
+ "spec2plan",
1029
+ "verification",
1030
+ "compile",
1031
+ "debug",
1032
+ "coding_style"
1033
+ ]);
1018
1034
  const invalid = options.type.find((type) => !allowed.has(type));
1019
1035
  if (invalid) {
1020
1036
  throw new InvalidArgumentError(`Invalid knowledge type: ${invalid}`);
@@ -1091,7 +1107,10 @@ function printKnowledgeResult(result) {
1091
1107
  }
1092
1108
  }
1093
1109
  function addSearchOptions(command) {
1094
- return command.argument("<query>", "Natural-language RTL engineering question or diagnostic").option("--type <type...>", "Knowledge types: spec2rtl, spec2plan, verification, debug").option("--domain <domain>", "Filter by engineering domain").option("--tool <tool>", "Filter by EDA tool").option("--tool-version <version>", "Filter by EDA tool version").option("--error-type <type>", "Filter by error type").option("--severity <severity>", "Filter by severity").option("--interface <interface>", "Filter by hardware interface").option("--target <target>", "Filter by target: fpga, asic, or both").option("--tag <tag...>", "Filter by one or more tags").option("--top-k <count>", "Maximum results (1-20)", parseInteger).option("--min-score <score>", "Minimum similarity score (0-1)", parseNumber).option("--workspace-id <id>", "GenRTL workspace ID").option("--json", "Output the structured MCP result as JSON");
1110
+ return command.argument("<query>", "Natural-language RTL engineering question or diagnostic").option(
1111
+ "--type <type...>",
1112
+ "Knowledge types: spec2rtl, spec2plan, verification, compile, debug, coding_style"
1113
+ ).option("--domain <domain>", "Filter by engineering domain").option("--tool <tool>", "Filter by EDA tool").option("--tool-version <version>", "Filter by EDA tool version").option("--error-type <type>", "Filter by error type").option("--severity <severity>", "Filter by severity").option("--interface <interface>", "Filter by hardware interface").option("--target <target>", "Filter by target: fpga, asic, or both").option("--tag <tag...>", "Filter by one or more tags").option("--top-k <count>", "Maximum results (1-20)", parseInteger).option("--min-score <score>", "Minimum similarity score (0-1)", parseNumber).option("--workspace-id <id>", "GenRTL workspace ID").option("--json", "Output the structured MCP result as JSON");
1095
1114
  }
1096
1115
  function registerKnowledgeCommands(program2) {
1097
1116
  for (const tool of TOOL_COMMANDS) {
@@ -1911,12 +1930,13 @@ Examples:
1911
1930
  ${brand.primary("npx @genrtl/grtl setup --cli --codex --project")}
1912
1931
  ${brand.primary("GRTL_API_KEY=your_key npx @genrtl/grtl setup --mcp --codex --project")}
1913
1932
 
1914
- ${brand.dim("# Search the same five tools exposed by the GenRTL MCP server")}
1933
+ ${brand.dim("# Search the same six knowledge tools exposed by the GenRTL MCP server")}
1915
1934
  ${brand.primary('npx @genrtl/grtl knowledge-search "AXI stream backpressure design"')}
1916
1935
  ${brand.primary('npx @genrtl/grtl spec2rtl-search "Generate an APB register block"')}
1917
1936
  ${brand.primary('npx @genrtl/grtl spec2plan-search "Plan an APB register block implementation"')}
1918
1937
  ${brand.primary('npx @genrtl/grtl verification-search "Verify an async FIFO"')}
1919
- ${brand.primary('npx @genrtl/grtl debug-search "Explain this Vivado CDC warning"')}
1938
+ ${brand.primary('npx @genrtl/grtl compile-search "Explain this Vivado CDC warning"')}
1939
+ ${brand.primary('npx @genrtl/grtl debug-search "Fix this RTL bug from bad code and error message"')}
1920
1940
 
1921
1941
  ${brand.dim("# Acquire and install a reusable RTL CBB")}
1922
1942
  ${brand.primary("npx @genrtl/grtl cbb install cbb_uart@1.2.0")}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genrtl/grtl",
3
- "version": "0.4.1",
3
+ "version": "1.0.0",
4
4
  "description": "CLI, MCP, and coding-agent Skills for GenRTL RTL engineering knowledge",
5
5
  "type": "module",
6
6
  "bin": {