返回 Skill 列表
extension
分类: 开发与工程无需 API Key

LAP CLI

LAP CLI —— 为 AI 智能体编译、搜索及管理 API 规范。适用于处理 OpenAPI、GraphQL、AsyncAPI、Protobuf、Postman 等 API 规格及相关操作。

person作者: mickmickshhubclawhub

LAP CLI

Compile, search, and manage API specs for AI agents.

Command Resolution

Detect the available CLI binary once per session:

# Prefer global install, fall back to npx
if command -v lapsh &>/dev/null; then
  LAP_CMD="lapsh"
else
  LAP_CMD="npx @lap-platform/lapsh"
fi

Use $LAP_CMD (or the resolved form) for all commands below.


Agent Flow -- Consuming APIs

Use this flow when a user needs to find, download, or work with an API.

1. Discover

lapsh search <query> [--tag <tag>] [--sort relevance|popularity|date] [--limit <n>]

Search the LAP registry. Results show name, endpoint count, compression ratio, and a [skill] marker for installable skills.

# Find payment APIs sorted by popularity
lapsh search payment --sort popularity

# JSON output for scripting
lapsh search payment --json | jq '.results[] | select(.has_skill) | .name'

2. Acquire

Option A -- Install a skill (if [skill] marker present):

lapsh skill-install <name>
# Installs to ~/.claude/skills/<name>/

Option B -- Download the spec:

lapsh get <name> -o <name>.lap
lapsh get <name> --lean -o <name>.lean.lap

Option C -- Compile a local spec:

lapsh compile <spec-file> -o output.lap
lapsh compile <spec-file> -o output.lean.lap --lean

Supported formats: OpenAPI (YAML/JSON), GraphQL (SDL), AsyncAPI, Protobuf, Postman, Smithy. Format is auto-detected.

3. Use

Once you have a .lap file, read it directly -- LAP is designed for AI consumption. Key markers:

| Marker | Meaning | |--------|---------| | @api | API name, version, base URL | | @endpoint | HTTP method + path | | @param | Parameter (query, path, header) | | @body | Request body schema | | @response | Response status + schema | | @required | Required fields | | @error | Error response |


Publisher Flow -- Publishing APIs

Use this flow when a user wants to compile, package, and publish an API spec.

1. Authenticate

lapsh login
lapsh whoami        # verify

2. Compile

lapsh compile spec.yaml -o spec.lap
lapsh compile spec.yaml -o spec.lean.lap --lean

3. Generate Skill

# Basic skill (Layer 1 -- mechanical)
lapsh skill spec.yaml -o skills/ --no-ai

# AI-enhanced skill (Layer 2 -- requires claude CLI)
lapsh skill spec.yaml -o skills/ --ai

# Generate and install directly
lapsh skill spec.yaml --install

4. Publish

lapsh publish spec.yaml --provider stripe.com
lapsh publish spec.yaml --provider stripe.com --name charges --source-url https://...
lapsh publish spec.yaml --provider stripe.com --skill          # include skill
lapsh publish spec.yaml --provider stripe.com --skill --skill-ai  # with AI skill

5. Verify

lapsh search <name>   # confirm it appears in registry

6. Batch Operations

# Generate skills for all specs in a directory
lapsh skill-batch specs/ -o skills/


Quick Reference

Core Commands

| Command | Description | |---------|-------------| | compile <spec> | Compile API spec to LAP format |

Registry Commands

| Command | Description | |---------|-------------| | search <query> | Search the LAP registry | | get <name> | Download a LAP spec | | publish <spec> | Compile and publish to registry | | login | Authenticate via GitHub OAuth | | logout | Revoke token | | whoami | Show authenticated user |

Skill Commands

| Command | Description | |---------|-------------| | skill <spec> | Generate Claude Code skill from spec | | skill-batch <dir> | Batch generate skills | | skill-install <name> | Install skill from registry |


Error Recovery

| Problem | Fix | |---------|-----| | command not found: lapsh | npm install -g @lap-platform/lapsh or use npx @lap-platform/lapsh | | Not authenticated | Run lapsh login first | | Format detection failed | Pass -f openapi (or graphql, asyncapi, protobuf, postman, smithy) | | 403 Forbidden on get | Spec may be private or registry may block without User-Agent -- update lapsh | | YAML parse error | Check spec is valid YAML/JSON -- use a linter first | | Layer 2 requires claude | Install Claude CLI or use --no-ai for Layer 1 skills | | Provider required | publish needs --provider <domain> (e.g., --provider stripe.com) |


Environment Variables

| Variable | Purpose | Default | |----------|---------|---------| | LAP_REGISTRY | Override registry URL | https://registry.lap.sh |


References