surrealdb/agent-skills/surrealdb-cli
Claude Code and agent skill by surrealdb/agent-skills
- community
Checking that the SKILL.md file is still in the repository.
Use the `surreal` command-line binary to run a SurrealDB server (in-memory, RocksDB, SurrealKV, or TiKV), open an interactive or piped SQL REPL, import and export databases, check server readiness, upgrade the binary, repair storage, and manage SurrealML models. Use this skill whenever users run, connect to, back up, restore, or operate SurrealDB from the terminal. Triggers: surreal start, surreal sql, surreal import, surreal export, surreal isready, surreal upgrade, surreal fix, surreal ml, SurrealDB CLI, surreal server.
Install
npx vskill@latest install surrealdb/agent-skills/surrealdb-cliSKILL.md
SurrealDB CLI
A skill for driving the `surreal` command-line binary — SurrealDB's all-in-one tool for running a server, querying it, and moving data in and out.
This skill covers operating the surreal binary itself. To write the SurrealQL that you run with it, use the surrealql skill; for declarative schema migrations and type generation, use the surrealkit skill.
When to use this skill
Reference these guidelines when:
- Starting a SurrealDB server, locally or in a container (
surreal start) - Opening the SQL shell or piping queries from a file (
surreal sql) - Importing or exporting a database for backups, seeding, or migration (
surreal import/surreal export) - Gating scripts or CI on server availability (
surreal is-ready) - Upgrading the binary or repairing on-disk storage after an upgrade (
surreal upgrade/surreal fix) - Importing or exporting SurrealML models (
surreal ml)
Installation
| Method | Command | ||
|---|---|---|---|
| curl (macOS / Linux) | `curl -sSf https://install.surrealdb.com \ | sh` | |
| Windows (PowerShell) | `iwr https://windows.surrealdb.com -useb \ | iex` | |
| Homebrew | brew install surrealdb/tap/surreal | ||
| Docker | docker run --rm --pull always -p 8000:8000 surrealdb/surrealdb:latest start |
Verify with surreal version. Pin a specific image tag (not latest) for production. See the install docs for the current set of methods.
Command map
| Command | Purpose | Reference | |
|---|---|---|---|
surreal start [PATH] | Run the database server with a chosen storage backend | start.md | |
surreal sql | Interactive REPL or piped, non-interactive querying | sql.md | |
surreal import <FILE> | Load a SurrealQL script into a database | import-export.md | |
surreal export [FILE] | Dump a database to SurrealQL (file or stdout) | import-export.md | |
surreal is-ready | Exit 0 when the server is accepting connections (alias isready) | maintenance.md | |
surreal version | Print local tool and remote server versions | maintenance.md | |
surreal upgrade | Replace the binary with a newer release | maintenance.md | |
surreal fix [PATH] | Migrate on-disk storage to the current format | maintenance.md | |
surreal ml <sub> | Import / export SurrealML models | maintenance.md |
surreal validate (SurrealQL file checking) and formatting are covered by the surrealql skill. Newer subcommands (mcp, module) also exist — run surreal help and surreal <command> --help to confirm the surface of an installed version.
Connection flags & env vars
sql, import, export, and ml share the same connection flags. Each flag has a SURREAL_* environment variable fallback; an explicit flag wins.
| Flag (aliases) | Env var | Notes | |
|---|---|---|---|
-e, --endpoint | — | ws://localhost:8000 for sql; http://localhost:8000 for import/export | |
--namespace (--ns) | SURREAL_NAMESPACE | Required for import/export/ml | |
--database (--db) | SURREAL_DATABASE | Required for import/export/ml | |
-u, --username (--user) | SURREAL_USER | ||
-p, --password (--pass) | SURREAL_PASS | ||
-t, --token | SURREAL_TOKEN | JWT; use instead of username/password | |
--auth-level | SURREAL_AUTH_LEVEL | root (default), namespace/ns, or database/db |
Pass secrets via env vars rather than flags so they do not leak into shell history or process listings.
Quick start
Rules & conventions
- Authentication is on by default.
surreal startneeds--user/--pass; only use--unauthenticatedfor throwaway local instances. - Choose a storage backend deliberately.
memory(the default) is ephemeral — data vanishes on exit. Userocksdb:/surrealkv://for persistence andtikv://for distributed clusters. See start.md. - Export defaults to stdout.
surreal exportwrites to-(stdout) unless you give a file path; redirect or pipe accordingly. - Gate CI with `is-ready`. It returns a non-zero exit code until the server accepts connections — ideal in healthchecks and scripts.
- Run `fix` after a major upgrade if the server reports an incompatible storage version, pointing it at the same
PATHused bystart. - The CLI evolves. Confirm flags and subcommands against
surreal <command> --helpfor the installed version; this skill reflects v3.x.
References
- Running a server and storage backends — references/start.md
- Interactive and piped querying — references/sql.md
- Importing and exporting data — references/import-export.md
- Versioning, upgrades, readiness, repair, and ML models — references/maintenance.md
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/surrealdb-cli/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/surrealdb/agent-skills/surrealdb-cli)