Communitygithub.com

24601/surreal-skills

Especialista em SurrealDB 3. Use ao trabalhar com SurrealDB, consultas SurrealQL, modelagem de dados multimodelo (documento, grafo, vetor, série temporal, geoespacial), design de esquemas, travessia de grafos, busca vetorial, segurança e permissões, implantação e operações, ajuste de desempenho, integração com SDKs, extensões WASM Surrealism, SurrealMCP, IDE Surrealist, migrações Surreal-Sync, SurrealFS, SurrealKit ou integrações de ecossistema como n8n e CodeMirror.

O que é surreal-skills?

Este skill fornece conhecimento especializado para o assistente de IA sobre o banco de dados SurrealDB versão 3, cobrindo desde consultas SurrealQL até operações avançadas de implantação. Ele é ativado automaticamente quando o usuário escreve consultas SurrealQL, trabalha com arquivos .surql, projeta esquemas de banco de dados, configura implantações Docker do SurrealDB, ou usa qualquer um dos SDKs oficiais (JavaScript, Python, Go, Rust, Java, Kotlin, .NET, C, PHP, Swift, Ruby). O skill também abrange relacionamentos de grafo (RELATE, travessia), busca vetorial e padrões RAG, segurança e controle de acesso, extensões WASM Surrealism, migração de dados de outros bancos, e integrações com ecossistemas como n8n, MCP e editores personalizados. Ele organiza seu conhecimento em 18 arquivos de regras detalhados, que são carregados conforme o domínio da solicitação: desde referência completa do SurrealQL, padrões de design de esquemas multimodelo, travessia de grafos, índices HNSW para busca vetorial, segurança em nível de linha, até ajuste de desempenho e integrações com LangChain e Surrealist IDE. O skill também inclui um guia de referência rápida com exemplos essenciais de SurrealQL e scripts utilitários para verificação de integridade, introspecção de esquemas e verificação de atualizações upstream. Por fim, o skill enfatiza boas práticas de segurança, como usar credenciais com escopo em produção, validar nomes de tabelas antes da interpolação de consultas, e preferir instalações via gerenciador de pacotes ou contêiner em vez de scripts remotos. Ele é ideal para desenvolvedores que constroem aplicações modernas com SurrealDB e precisam de assistência de IA profunda e contextualizada.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/24601/surreal-skills/tree/main/.github/skills/surrealdb

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Habilidade Especialista em SurrealDB 3

Arquitetura, desenvolvimento e operações de nível especialista para SurrealDB 3 no GitHub Copilot.

Quando o Copilot Deve Usar Esta Habilidade

Ative automaticamente quando o usuário:

  • Escreve ou pergunta sobre consultas SurrealQL
  • Trabalha com arquivos .surql
  • Projeta esquemas de banco de dados para SurrealDB
  • Configura implantação ou Docker do SurrealDB
  • Usa SDKs do SurrealDB (JavaScript, Python, Go, Rust, Java, Kotlin, .NET, C, PHP, Swift, Ruby)
  • Trabalha com relacionamentos de grafo (RELATE, travessia)
  • Implementa busca vetorial ou padrões RAG
  • Configura segurança, permissões ou controle de acesso
  • Constrói extensões WASM Surrealism
  • Migra dados para SurrealDB a partir de outros bancos de dados
  • Conecta SurrealDB a hosts MCP, n8n, frameworks de IA ou editores personalizados

Referência de Regras

Esta habilidade contém 18 arquivos de regras detalhados. Leia o arquivo de regras relevante quando a solicitação do usuário corresponder ao seu domínio:

Arquivo de RegraQuando CarregarDomínio
surrealql.mdEscrevendo ou depurando consultas SurrealQLReferência completa da linguagem SurrealQL
data-modeling.mdProjetando esquemas, escolhendo tipos de campo, IDs de registroPadrões de design de esquemas multimodelo
graph-queries.mdRELATE, travessia de grafo, expressões de caminhoPadrões de arestas e travessia de grafo
vector-search.mdÍndices HNSW, busca por similaridade, embeddingsBusca vetorial e pipelines RAG
security.mdPermissões, autenticação, JWT, controle de acessoSegurança em nível de linha e fluxos de autenticação
deployment.mdInstalando, configurando, executando SurrealDBMecanismos de armazenamento, Docker, Kubernetes
performance.mdConsultas lentas, estratégia de índices, EXPLAINAjuste de desempenho e otimização
sdks.mdUsando SurrealDB a partir de código de aplicaçãoPadrões JS, Python, Go, Rust, Java, Kotlin, .NET, C, PHP, Swift, Ruby
surrealism.mdEscrevendo extensões WASMDesenvolvimento de extensões Rust para WASM
surrealml.mdTrabalhando próximo ao SurrealMLLimite do .surml de pré-visualização e aviso de dependência nativa
surrealmcp.mdConectando hosts de IACatálogo de ferramentas MCP e implantação
editor-tooling.mdSuporte a editores / IDELSP, tree-sitter, CodeMirror, extensões de editor
langchain.mdRAG com LangChainAPI de armazenamento vetorial em Python
ecosystem-integrations.mdPonteiros para n8n / frameworksn8n, documentação de frameworks de IA, limite do Spectron, Habilidades de Agente
surrealist.mdUsando a IDE/GUI SurrealistRecursos da IDE e designer de esquemas
surreal-sync.mdMigrando de outros bancos de dadosSincronização CDC a partir de Postgres, Mongo, etc.
surrealfs.mdOperações de sistema de arquivos de agente de IASistema de arquivos virtual apoiado por SurrealDB
surrealkit.mdSincronização de esquemas, rollouts, seeds e testes declarativosGerenciamento de esquemas no estado desejado para aplicações SurrealDB

Referência Rápida

Essenciais do SurrealQL

-- Criar registros
CREATE person:alice SET name = 'Alice', age = 30;

-- Arestas de grafo
RELATE person:alice->follows->person:bob SET since = time::now();

-- Travessia de grafo
SELECT ->follows->person.name AS following FROM person:alice;

-- Busca vetorial (HNSW)
DEFINE INDEX idx_embed ON document FIELDS embedding HNSW DIMENSION 1536 DIST COSINE;
SELECT * FROM document WHERE embedding <|10,40|> $query_vector;

-- Permissões em nível de linha
DEFINE TABLE post SCHEMALESS PERMISSIONS
  FOR select WHERE published = true OR user = $auth.id
  FOR create, update WHERE user = $auth.id;

-- Consultas ao vivo
LIVE SELECT * FROM person WHERE age > 25;

Conceitos-chave

  • IDs de registro: tabela:id (ex.: person:alice) -- cidadãos de primeira classe, sem necessidade de JOINs
  • Multimodelo: Documento + Grafo + Vetor + Série temporal + Geoespacial em um único banco de dados
  • Operadores de grafo: -> (saída), <- (entrada), <-> (bidirecional)
  • Operador KNN: <|K,EF|> onde K = vizinhos, EF = parâmetro de busca (NÃO métrica de distância)
  • Mecanismos de armazenamento: memória, RocksDB, SurrealKV (viagem no tempo), TiKV (distribuído)
  • Extensões WASM: Novo no v3 -- escreva Rust, compile para WASM, registre com DEFINE MODULE

Scripts

# Verificação de integridade
uv run scripts/doctor.py

# Introspecção de esquemas
uv run scripts/schema.py introspect

# Verificar atualizações upstream
uv run scripts/check_upstream.py

Notas de Segurança

  • Exemplos usam root/root apenas para desenvolvimento local. Use credenciais com escopo em produção.
  • Scripts se conectam apenas a endpoints especificados pelo usuário. Sem chamadas de rede a terceiros.
  • Nomes de tabelas são validados contra [a-zA-Z_][a-zA-Z0-9_]* antes da interpolação de consultas.
  • Prefira instalações via gerenciador de pacotes ou contêiner em vez de instaladores remotos via shell.

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

Habilidades Relacionadas