|
| 1 | +# CLI–MCP Parity |
| 2 | + |
| 3 | +Mirror the full SuperDB MCP tool surface as CLI commands, so coding agents |
| 4 | +(and humans) can use SuperKit without an MCP client. |
| 5 | + |
| 6 | +## Current state |
| 7 | + |
| 8 | +Content/docs CLIs already exist and work: |
| 9 | + |
| 10 | +| MCP tool | CLI | Status | |
| 11 | +|----------------------|-----------|--------| |
| 12 | +| `super_help` | `skdoc` | done | |
| 13 | +| `super_grok_patterns`| `skgrok` | done | |
| 14 | +| `super_recipes` | `skops` | done | |
| 15 | + |
| 16 | +## Remaining: query & execution CLIs |
| 17 | + |
| 18 | +These MCP tools have no CLI equivalent yet: |
| 19 | + |
| 20 | +| MCP tool | Proposed CLI | Notes | |
| 21 | +|----------------------|---------------------------|-------| |
| 22 | +| `super_query` | `sk query` | Core — run a SuperSQL query on files/inline data | |
| 23 | +| `super_schema` | `sk schema` | Inspect data file shapes/types | |
| 24 | +| `super_info` | `sk info` | Version, env, LSP availability | |
| 25 | +| `super_db_list` | `sk db list` | List pools in a lake | |
| 26 | +| `super_db_create_pool`| `sk db create` | Create a new pool | |
| 27 | +| `super_db_load` | `sk db load` | Load data into a pool | |
| 28 | +| `super_db_query` | `sk db query` | Query a pool | |
| 29 | +| `super_test_compat` | `sk test-compat` | Test query across SuperDB versions | |
| 30 | + |
| 31 | +### Questionable for CLI |
| 32 | + |
| 33 | +These MCP tools are LSP-powered and position-based — they make sense for |
| 34 | +editor/agent integrations but may not translate well to a CLI: |
| 35 | + |
| 36 | +| MCP tool | Notes | |
| 37 | +|----------------------|-------| |
| 38 | +| `super_complete` | Completions at cursor position — useful for agents, awkward as CLI | |
| 39 | +| `super_docs` | Symbol docs at cursor position — same concern | |
| 40 | +| `super_lsp_status` | Could fold into `sk info` | |
| 41 | + |
| 42 | +## Dispatcher: `sk` command |
| 43 | + |
| 44 | +Add a `superkit` bin entry (aliased as `sk`) that acts as a subcommand |
| 45 | +dispatcher. This also fixes `npx @chrismo/superkit` (currently broken — |
| 46 | +no bin matches the package name). |
| 47 | + |
| 48 | +``` |
| 49 | +sk help → skdoc |
| 50 | +sk grok → skgrok |
| 51 | +sk recipes → skops |
| 52 | +sk query → new |
| 53 | +sk schema → new |
| 54 | +sk info → new |
| 55 | +sk db <sub> → new |
| 56 | +sk test-compat → new |
| 57 | +``` |
| 58 | + |
| 59 | +## Open questions |
| 60 | + |
| 61 | +- Should `skdoc`/`skgrok`/`skops` remain as standalone bins, or only |
| 62 | + accessible as `sk help`/`sk grok`/`sk recipes`? |
| 63 | +- Where does the `super` binary invocation live? The MCP server has its |
| 64 | + own logic for finding/versioning the binary — does superkit share that |
| 65 | + code, depend on superdb-mcp, or just shell out to `super` on PATH? |
| 66 | +- Inline data via stdin (`echo '...' | sk query '...'`) — support it? |
| 67 | +- Output format flag (`--format json|sup|csv|table`) across all query commands? |
0 commit comments