Stricto IDE Connector
Reflete o seu trabalho de VSCode e Cursor no seu Stricto Command Center. Cada commit num projeto vinculado vira um evento no workspace Stricto correspondente, isolado por tenant.
É a Fase 2 do board cross-IDE: o produtor de eventos. A Fase 1 (o caminho de ingestão ide_events + as RPCs no Supabase + o ingest_event na MCP) é o que recebe; a Fase 3 (Command Center consumir) é o que mostra.
Como funciona
commit no VSCode/Cursor
-> a extensao detecta o HEAD novo (API da extensao git embutida)
-> chama a RPC ingest_ide_event (PostgREST, com o SEU JWT Stricto)
-> ingest_ide_event valida is_workspace_member no banco (anti-spoof)
-> grava em public.ide_events no workspace vinculado
Sem service_role no cliente. Sem nova rota REST. A barreira de tenant é a RPC SECURITY DEFINER que checa a sua participação no workspace (mesmo padrão do log_audit_event). O Cursor é detectado por env.appName e os eventos saem com source = "cursor"; no VSCode, source = "vscode".
Instalar (dev)
cd packages/stricto-ide
bun install # ou npm install
bun run compile # gera out/extension.js
Depois, em Run and Debug do VSCode, rode a config "Extension" (F5) — abre uma janela com a extensão carregada. Para empacotar um .vsix: bun run package (precisa do vsce).
Usar
- Stricto: Conectar (Command Palette) — entra com seu email + senha Stricto. A senha é usada só para autenticar e nunca é armazenada; o que fica guardado (no SecretStorage do VSCode) é o token de sessão.
- Stricto: Vincular pasta a um workspace — escolhe a qual workspace Stricto a pasta aberta pertence (lista vinda de
list_my_workspaces). O vínculo fica salvo por máquina.
- Pronto. A partir daí, todo commit nessa pasta aparece no workspace vinculado. Use Stricto: Refletir o último commit agora para testar na hora.
A barra de status mostra o estado (conectar / vincular / último refletido). Clique nela para o menu.
Configuração
| Setting |
Default |
O que é |
stricto.supabaseUrl |
URL pública da Stricto |
endpoint do Supabase |
stricto.supabaseAnonKey |
chave anon pública |
chave de cliente protegida por RLS (a mesma que o app já serve no navegador; não é segredo) |
stricto.email |
vazio |
pré-preenche o login |
Limites desta v0
- Reflete commits (o sinal universal entre IDEs). Sessão de edição / run de teste local entram numa próxima iteração (a tabela
ide_events já aceita event_type livre).
- O vínculo pasta↔workspace é manual (picker). A resolução automática por git remote (
resolve_folder) é a próxima peça.
- A atividade aparece no Command Center quando a Fase 3 (recompute lê
ide_events → Attention Score + feed) estiver ligada. Até lá, os eventos ficam gravados e isolados, prontos para consumo.