feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
This commit is contained in:
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
# Hook PostToolUse: reindexa no RAG só o arquivo que acabou de ser editado.
|
||||
#
|
||||
# Sem isso o índice envelhece em silêncio e passa a apontar para código que
|
||||
# já mudou — o que anula o ganho da busca. Reindexar um arquivo custa alguns
|
||||
# embeddings (~1s), então dá para fazer a cada edição.
|
||||
#
|
||||
# Lê o JSON do hook em stdin e roteia por extensão/diretório para o banco
|
||||
# certo (Swift novo -> rag_tigre, Python legado -> rag_doza). Nunca falha o
|
||||
# hook: erro de RAG não pode travar edição.
|
||||
RAG_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_ROOT="$(dirname "$RAG_DIR")"
|
||||
|
||||
FILE=$(python3 -c '
|
||||
import json, sys
|
||||
try:
|
||||
d = json.load(sys.stdin)
|
||||
except Exception:
|
||||
sys.exit(0)
|
||||
print(d.get("tool_input", {}).get("file_path", ""))
|
||||
' 2>/dev/null) || exit 0
|
||||
|
||||
REL="${FILE#$PROJECT_ROOT/}"
|
||||
case "$REL" in
|
||||
code/node_modules/*|code/dist/*) exit 0 ;;
|
||||
code/*.ts|code/*.tsx|code/*.js|code/*.jsx|code/*.json|code/*.py|code/*.md|code/*.sql|code/*.sh) ENV_FILE="jhonny.env" ;;
|
||||
*) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Só reindexa se o túnel já estiver de pé: não vale abrir conexão SSH no
|
||||
# meio de uma edição.
|
||||
nc -z 127.0.0.1 55435 2>/dev/null || exit 0
|
||||
|
||||
PY="${RAG_DIR}/.venv/bin/python3"
|
||||
[ -x "$PY" ] || PY="$(command -v python3)"
|
||||
|
||||
RAG_ENV_FILE="$RAG_DIR/$ENV_FILE" "$PY" "$RAG_DIR/index_code.py" \
|
||||
--file "$REL" >/dev/null 2>&1 &
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user