Files
context-hub/AGENTS.md
T

104 lines
4.1 KiB
Markdown

# AGENTS.md — Antigravity / Gemini
# Regles operationnelles pour context-hub
# Source de verite : https://context.bolbol.tn
## 0. PREMIER REFLEXE — charger les regles avant toute action
Avant tout acte technique, interroger le Context Hub :
GET https://context.bolbol.tn/api/rules/infra
GET https://context.bolbol.tn/api/rules/llm
GET https://context.bolbol.tn/api/rules/nyora
Header: X-API-Key: ctx-gemini-2bbc151e225e3c527f9df775
Les regles retournees font foi. Elles priment sur toute supposition.
## 1. PERIMETRE AUTORISE
Scopes accessibles : infra, llm, nyora, coding
Scopes INTERDITS : tt (Tunisie Telecom), perso (famille)
Refus serveur HTTP 403 sur toute tentative d acces interdit.
## 2. REGLES INFRA (synthese — detail via API)
- SSH NAS : port 22222, user Best0f (pas 22, pas root)
- Docker : UID=1026, GID=100 sur tous les containers
- Depuis container : utiliser 172.17.0.1 (jamais 192.168.100.33)
- Depuis Mac/LAN : utiliser 192.168.100.33
- Jamais d IPs dynamiques 172.27.x.x
- Identites : bolbol=Gitea | Best0f=SSH | bestof=Portainer
## 3. PORTS
TOUJOURS consulter /api/ports avant tout deploiement.
Port 3093 = context-hub (ce service).
Port 8787 = nyora-notes (JAMAIS reutiliser).
Mettre a jour ports-registry.md apres chaque deploiement.
## 4. GIT (etape finale obligatoire apres tout deploiement)
cd /volume1/docker/<dossier-modifie>
git add .
git commit -m "deploy: <description courte>"
git push http://bolbol:2L2u519wgitea@172.17.0.1:3232/bolbol/<repo>.git
## 5. LLM — BIFROST
- Endpoint interne : http://bifrost:8080/v1
- Auth : header x-bf-vk (JAMAIS Authorization Bearer)
- Modele par defaut : deepseek/deepseek-chat-v3-0324
- Budget : 10 USD/mois max absolu
- Vision/OCR : openrouter/google/gemini-2.5-flash uniquement
## 6. DOCKER
- Ne jamais substituer une image sans accord explicite
- Ne jamais rebuild linux-mcp-nas depuis mcp-nas lui-meme
- Compose racine : /volume1/docker/hermes-platform/docker-compose.yml
- Credentials : /volume1/docker/hermes-platform/.env
## 7. OUTPUTS
- Ne jamais mentionner Tunisie Telecom / Zone Sud dans les apps Nyora
- Ne jamais mentionner Baserow / Python / IA dans les documents officiels
- Login forms : placeholder = Identifiant uniquement
- Footer Nyora : #d4a01a | NYORA | Crafted with precision | 2026
## 8. STYLE CODE
- Python : FastAPI + SQLite sauf si autrement specifie
- JS/CSS inlines dans le HTML sauf projet multi-fichiers explicite
- Pas de dependances npm inutiles
- Variables sensibles : toujours depuis .env, jamais en dur
## 9. EN CAS DE DOUTE
GET https://context.bolbol.tn/api/search?q=<mot-cle>
Header: X-API-Key: ctx-gemini-2bbc151e225e3c527f9df775
## 10. MEMOIRE CODING — decisions, contraintes, erreurs communes, best practices
Le scope `coding` n'est PAS dans `rules` (pas de GET /api/rules/coding) : c'est une
table d'entrees typees (memory_entries), exposee uniquement via MCP. Connecter
Antigravity a ce serveur MCP (Settings -> Customizations -> Add MCP+) :
URL : https://context.bolbol.tn/mcp
Header : X-API-Key: ctx-gemini-2bbc151e225e3c527f9df775
Deux tools disponibles une fois connecte :
- `get_context_pack(scope="coding", project="<nom-repo>")` — appeler EN DEBUT de
tache de code substantielle. Retourne uniquement les entrees actives pertinentes
(pas tout charger d'un coup). Omettre `project` pour les entrees transverses
(patterns generiques, pas specifiques a un repo).
- `record_lesson(scope="coding", project="<nom-repo>", type="...", title="...", body="...")`
— appeler APRES une decision d'architecture significative, une correction repetee,
ou une approche explicitement rejetee. `type` in {decision, constraint,
best-practice, common-error, do-not-use}. Regenere automatiquement
`docs/context-memory/coding.md` et commit sur Gitea (bolbol/context-hub) --
aucune action Git manuelle requise pour cette memoire specifiquement (differe
de la regle Git section 4, qui reste valable pour le code des repos eux-memes).
Type `do-not-use` = piste deja essayee et ecartee : verifier avant de re-proposer
une approche deja rejetee pour le meme projet.