/** * @author pontx * @description SDK CLI SKILL 模板,用于生成符合 Claude Code Agent Skills 标准的 SKILL.md 文件 * * 从 src/sdk-cli/templates/skill-template.ts 迁移并增强,参考 pontx 模板(src/skill/template.ts) */ /** * SDK SKILL.md 模板 */ export declare const SDK_SKILL_TEMPLATE = "---\nname: {{CLI_NAME}}\ndescription: {{SKILL_DESCRIPTION}}\nversion: {{VERSION}}\n---\n\n# {{CLI_NAME}} CLI SKILL\n\n{{SPEC_TITLE}}\n\n{{SPEC_DESCRIPTION}}\n\n\u7248\u672C: {{VERSION}}\n\n**\u6838\u5FC3\u8BBE\u8BA1**: \u5728\u4EFB\u610F\u5B50\u547D\u4EE4\u5C42\u7EA7\u4F7F\u7528 `-h` \u90FD\u80FD\u83B7\u53D6\u4E0B\u4E00\u6B65\u53EF\u7528\u7684\u64CD\u4F5C\u548C\u53C2\u6570\u3002\n\n## Quick Start\n\n```bash\n# \u5B89\u88C5 SDK\uFF08\u5168\u5C40\u5B89\u88C5\u4EE5\u4F7F\u7528 CLI\uFF09\nnpm install -g {{SDK_NAME}}\n\n# \u67E5\u770B\u6240\u6709\u53EF\u7528\u547D\u4EE4\n{{CLI_NAME}} -h\n\n# \u641C\u7D22 API\n{{CLI_NAME}} search \n```\n\n## \u547D\u4EE4\u5C42\u7EA7\u7ED3\u6784\n\n```\n{{CLI_NAME}}\n\u251C\u2500\u2500 call {{API_ARGS_FORMAT}} \u8C03\u7528 API\n\u251C\u2500\u2500 show-api {{API_ARGS_FORMAT}} \u67E5\u770B API \u5143\u6570\u636E\n\u251C\u2500\u2500 gen {{API_ARGS_FORMAT}} \u751F\u6210\u8C03\u7528\u4EE3\u7801\n\u251C\u2500\u2500 show-schema \u67E5\u770B Schema\n\u251C\u2500\u2500 search \u641C\u7D22 API\n\u251C\u2500\u2500 list-cases \u5217\u4E3E\u4EE3\u7801\u6A21\u677F\n\u251C\u2500\u2500 list (tags|apis|schemas) \u5217\u4E3E\u4FE1\u606F\n\u2514\u2500\u2500 completion \u7BA1\u7406 Shell \u8865\u5168\n```\n\n**\u5728\u6BCF\u4E2A\u5C42\u7EA7\u4F7F\u7528 `-h` \u83B7\u53D6\u5E2E\u52A9**:\n\n```bash\n{{CLI_NAME}} -h # \u6240\u6709\u547D\u4EE4\n{{CLI_NAME}} call -h # \u53EF\u7528\u7684 tags \u6216 APIs\n{{CALL_TAG_HELP_EXAMPLE}}{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} -h # API \u5165\u53C2\u8BE6\u60C5\u548C\u8C03\u7528\u793A\u4F8B\n```\n\n## Core Workflows\n\n### 1. API \u53D1\u73B0\u4E0E\u6D4F\u89C8\n\n```bash\n# \u641C\u7D22 API\n{{CLI_NAME}} search \n\n# \u5217\u51FA\u6240\u6709 tags\n{{CLI_NAME}} list tags\n\n# \u5217\u51FA\u6240\u6709 API\n{{CLI_NAME}} list apis [--tag ]\n```\n\n**\u793A\u4F8B**:\n```bash\n{{CLI_NAME}} search {{SEARCH_KEYWORD_EXAMPLE}}\n{{CLI_NAME}} search {{SEARCH_KEYWORD_EXAMPLE}} -m 3\n```\n\n### 2. \u67E5\u770B API \u8BE6\u60C5\n\n```bash\n# \u67E5\u770B API \u8BE6\u60C5\uFF08\u53C2\u6570\u3001\u8BF7\u6C42\u4F53\u3001\u54CD\u5E94\u7B49\uFF09\n{{CLI_NAME}} show-api {{API_PATH_EXAMPLE}}\n\n# \u67E5\u770B Schema \u5B9A\u4E49\n{{CLI_NAME}} show-schema {{SCHEMA_NAME_EXAMPLE}}\n```\n\n{{API_PATH_FORMAT}}\n\n### 3. \u4EE3\u7801\u751F\u6210\n\n```bash\n# \u751F\u6210\u57FA\u7840\u8BF7\u6C42\u4EE3\u7801\n{{CLI_NAME}} gen {{API_PATH_EXAMPLE}}\n\n# \u751F\u6210 React Hooks \u4EE3\u7801\n{{CLI_NAME}} gen {{API_PATH_EXAMPLE}} --case reactHooks\n\n# \u5E26\u53C2\u6570\u751F\u6210\u4EE3\u7801\n{{CLI_NAME}} gen {{API_PATH_EXAMPLE}} --params '{{PARAM_JSON_EXAMPLE}}'\n\n# \u67E5\u770B\u53EF\u7528\u6A21\u677F\n{{CLI_NAME}} list-cases\n```\n\n### 4. API \u8C03\u7528\uFF08CLI Call\uFF09\n\n\u26A0\uFE0F **\u5B89\u5168\u8B66\u544A**: \u5B9E\u9645\u8C03\u7528\u4F1A\u4EA7\u751F**\u771F\u5B9E\u7684\u526F\u4F5C\u7528**\uFF08\u521B\u5EFA\u3001\u66F4\u65B0\u3001\u5220\u9664\u6570\u636E\uFF09\u3002\n\n**\u63A8\u8350\u5B89\u5168\u6D41\u7A0B**:\n\n```bash\n# Step 1: \u67E5\u770B API \u5165\u53C2\uFF08\u4F7F\u7528 -h\uFF09\n{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} -h\n\n# Step 2: \u9884\u89C8\u8BF7\u6C42\uFF08\u4E0D\u5B9E\u9645\u53D1\u9001\uFF09\n{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} {{PARAM_EXAMPLE}} --dry-run\n\n# Step 3: \u5B9E\u9645\u8C03\u7528\n{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} {{PARAM_EXAMPLE}}\n\n# \u4F7F\u7528 JMESPath \u67E5\u8BE2\u7ED3\u679C\n{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} {{PARAM_EXAMPLE}} -q \"data.name\"\n\n# \u4FDD\u5B58\u7ED3\u679C\u5230\u6587\u4EF6\n{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} {{PARAM_EXAMPLE}} -o result.json\n\n# \u5207\u6362\u73AF\u5883\n{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} {{PARAM_EXAMPLE}} -e production\n```\n\n### 5. Shell \u81EA\u52A8\u8865\u5168\n\n```bash\n# \u5B89\u88C5\u81EA\u52A8\u8865\u5168\uFF08\u81EA\u52A8\u68C0\u6D4B shell \u7C7B\u578B\uFF09\n{{CLI_NAME}} completion install\n\n# \u652F\u6301 TAB \u8865\u5168\u547D\u4EE4\u540D\u3001tag \u540D\u3001API \u540D\u548C\u53C2\u6570\u540D\n```\n\n## `-h` \u9010\u5C42\u63A2\u7D22\u6307\u5357\n\n| \u547D\u4EE4 | `-h` \u663E\u793A\u5185\u5BB9 |\n|------|---------------|\n| `{{CLI_NAME}} -h` | \u6240\u6709\u53EF\u7528\u547D\u4EE4 |\n| `{{CLI_NAME}} call -h` | \u53EF\u7528\u7684 Tags \u5217\u8868\uFF08\u6216 APIs\uFF09 |\n{{CALL_TAG_HELP_TABLE_ROW}}| `{{CLI_NAME}} call {{API_WITH_PARAMS_EXAMPLE}} -h` | \u8BE5 API \u7684\u5165\u53C2\u8BE6\u60C5 + \u8C03\u7528\u793A\u4F8B |\n| `{{CLI_NAME}} list -h` | list \u5B50\u547D\u4EE4 |\n\n**\u6700\u4F73\u5B9E\u8DF5**: \u4E0D\u786E\u5B9A\u4E0B\u4E00\u6B65\u600E\u4E48\u5199\u65F6\uFF0C\u8FFD\u52A0 `-h` \u5373\u53EF\u3002\n\n## \u547D\u4EE4\u901F\u67E5\u8868\n\n| \u547D\u4EE4 | \u8BF4\u660E |\n|------|------|\n| `search ` | \u641C\u7D22 API |\n| `show-api {{API_ARGS_FORMAT}}` | \u67E5\u770B API \u8BE6\u60C5 |\n| `show-schema ` | \u67E5\u770B Schema \u5B9A\u4E49 |\n| `gen {{API_ARGS_FORMAT}}` | \u751F\u6210 API \u8C03\u7528\u4EE3\u7801 |\n| `call {{API_ARGS_FORMAT}}` | \u8C03\u7528 API\uFF08\u26A0\uFE0F \u6709\u526F\u4F5C\u7528\uFF09 |\n| `list tags` | \u5217\u51FA\u6240\u6709 tags |\n| `list apis` | \u5217\u51FA\u6240\u6709 API |\n| `list-cases` | \u5217\u51FA\u4EE3\u7801\u6A21\u677F |\n| `completion install` | \u5B89\u88C5 Shell \u8865\u5168 |\n\n## Safety & Best Practices\n\n- **\u603B\u662F\u5148\u7528 `-h` \u67E5\u770B\u53C2\u6570**: `{{CLI_NAME}} call -h`\n- **\u603B\u662F\u5148\u7528 `--dry-run`**: \u9884\u89C8\u8BF7\u6C42\u5185\u5BB9\uFF0C\u907F\u514D\u8BEF\u64CD\u4F5C\n- **\u68C0\u67E5\u73AF\u5883**: \u4F7F\u7528 `--env` \u786E\u8BA4\u76EE\u6807\u73AF\u5883\n- **\u5C0F\u5FC3\u526F\u4F5C\u7528**: DELETE/PUT/POST \u64CD\u4F5C\u4F1A\u4FEE\u6539\u6570\u636E\n- **\u4FDD\u62A4\u51ED\u8BC1**: \u4F7F\u7528\u73AF\u5883\u53D8\u91CF\u5B58\u50A8 token\n\n## \u76F8\u5173\u8D44\u6E90\n\n- NPM: https://www.npmjs.com/package/{{SDK_NAME}}\n{{REPOSITORY_LINK}}\n{{HOMEPAGE_LINK}}\n{{EXTERNAL_DOCS_LINK}}\n\n---\n\n*Generated by `{{CLI_NAME}} skill`*\n"; /** * 获取 API 参数格式(用于命令结构展示) * @param hasTags 是否有 tags */ export declare function getApiArgsFormat(hasTags: boolean): string; /** * 获取 API 路径示例 * @param hasTags 是否有 tags * @param tagName 可选的 tag 名 * @param apiName 可选的 API 名 */ export declare function getApiPathExample(hasTags: boolean, tagName?: string, apiName?: string): string; /** * 获取 API 方法示例 * @param hasTags 是否有 tags * @param apiName 可选的实际 API 名称 */ export declare function getApiMethodExample(hasTags: boolean, apiName?: string): string; /** * 获取 API 路径格式说明 * @param hasTags 是否有 tags * @param tagName 可选的 tag 名 * @param apiName 可选的 API 名 */ export declare function getApiPathFormatHelp(hasTags: boolean, tagName?: string, apiName?: string): string; /** * 获取 call -h 的帮助示例行 */ export declare function getCallTagHelpExample(hasTags: boolean, cliName: string, tagName?: string): string; /** * 获取 -h 指南表格中 tag 行 */ export declare function getCallTagHelpTableRow(hasTags: boolean, cliName: string, tagName?: string): string; /** * 获取 API 路径格式简短说明(用于表格) * @param hasTags 是否有 tags */ export declare function getApiPathFormatShort(hasTags: boolean): string;