Odel
vectora

vectora

Local
@brunosrz1PythonUpdated 2w ago

AI assistant with RAG, web search, filesystem and memory. MCP sub-agent for Claude Code.

Vectora — Monorepo

Monorepo da Vectora. Cada produto vive em sua própria pasta, com toolchain e lockfile independentes. O que conecta tudo é o GitHub Actions (um workflow por projeto, gated por path) e o pre-commit compartilhado na raiz.

Estrutura

PastaProjetoStackDeploy
vectora/App Vectora (assistente de IA self-hosted)Python (uv) + Vite + ElectronDocker (GHCR) + instaladores nativos
company/Site institucionalTanStack Start + Vite (pnpm)Vercel → vectora.company
docs/DocumentaçãoDocusaurus (pnpm)Vercel → docs.vectora.company
services/Gateway (OAuth/webhooks pro desktop, ex-relay) + updates (distribuição de releases) — era relay/ + update-server/, unificadosHono + Cloudflare Workers (pnpm)Cloudflare (wrangler)
documents/Notas de design/planejamento (markdown interno)não publicado

O app em si (backend Python, frontend Vite, casca Electron) fica todo dentro de vectora/ — veja vectora/README.md para detalhes de arquitetura, build e CLI.

CI/CD (.github/workflows/)

Um workflow por projeto, gated por path (on.push/pull_request.paths): uma mudança só no vectora/ não dispara o build/deploy de company, docs etc.

WorkflowDispara emFaz
vectora.ymlvectora/**, tags v*lint • security • build • testes (unit/stress/integration/e2e) • Docker push (GHCR) • release nativo (Nuitka + Electron)
company.ymlcompany/**lint/typecheck/test/build • deploy Vercel (master)
docs.ymldocs/**typecheck/build • deploy Vercel (master)
services.ymlservices/**install/typecheck/test • deploy Cloudflare (master)
codeql.ymlmaster + agendaanálise CodeQL (Python + Actions)
triage.ymlissueslabel needs-triage + boas-vindas

Secrets esperados

SecretUsado por
GOOGLE_API_KEY, COHERE_API_KEY, TAVILY_API_KEYtestes do vectora
GHCR_TOKENpush da imagem Docker (fallback: GITHUB_TOKEN)
WIN_CERTIFICATE_BASE64, WIN_CERTIFICATE_PASSWORD, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID, VECTORA_RELEASES_TOKENassinatura/publicação dos instaladores nativos
VERCEL_TOKEN, VERCEL_ORG_IDdeploy Vercel (company + docs)
VERCEL_PROJECT_ID_COMPANY, VERCEL_PROJECT_ID_DOCSprojeto Vercel de cada site
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_IDdeploy do services

Desenvolvimento

Cada projeto é independente — entre na pasta e use o gerenciador dele:

# App Vectora (Python + Vite + Electron)
cd vectora && uv sync && uv run vectora start

# Site institucional
cd company && pnpm install && pnpm dev

# Docs
cd docs && pnpm install && pnpm dev

# Services (gateway + updates)
cd services && pnpm install && pnpm dev

Pre-commit (raiz)

O .pre-commit-config.yaml na raiz cobre todos os projetos (ruff/ty/bandit no vectora/, prettier/oxlint/tsc no frontend, actionlint nos workflows):

pre-commit install
pre-commit run --all-files

Licença

Proprietária. Consulte LICENSE.