01-ago: [lab] repositorio laboratorio con estructura y config de produccion (vacio)

This commit is contained in:
minguezsanzjuanjose
2026-08-02 10:51:39 +02:00
commit 3a38e889db
7 changed files with 1079 additions and 0 deletions

50
config/CLAUDE.md Normal file
View File

@@ -0,0 +1,50 @@
## Engram — Persistent Memory
You have Engram memory tools via MCP. **Use them proactively** — do not wait to be asked.
### Session Start
- ALWAYS call `engram_briefing` at the start of every session to load context from past sessions.
### What to Remember (call `engram_remember` immediately)
Store ANY of these the moment you encounter them — do not batch, do not wait:
**From the user:**
- Preferences, opinions, personal facts, decisions, corrections
- "I prefer X", "we decided Y", "actually it's Z"
**From your own work:**
- When you read a file and synthesize useful knowledge (style guides, architecture patterns, workflow rules) — store the synthesis
- When you figure out HOW the user works (communication style, review habits, tool preferences) — store the observation
- When you discover project conventions, naming patterns, or implicit rules — store them
- When you build something and learn what works vs what doesn't — store the lesson
**The rule:** If this knowledge would be useful in a future session, store it NOW. Don't assume you'll remember — you won't.
### Team Vault
- When connected to a hosted vault, memories are shared with your team by default
- Use `engram_private_session` if the user wants a confidential session (nothing leaves the local machine)
- Use `engram_invite` to add a teammate when asked ("add Brian to engram", "invite tyler@company.com")
- Recall always searches both local + shared vaults, so you see everything
### Asking Questions
- When you need to ANSWER a question from memory: call `engram_ask` — it returns a synthesized answer with confidence, not raw memories
- When you need raw memory objects for processing: call `engram_recall`
- Prefer `engram_ask` for user-facing answers, `engram_recall` for your own analysis
### Alerts
- Periodically call `engram_alerts` to check for pending commitments, stale follow-ups, and contradictions
- Alerts are included in `engram_briefing` automatically, but call separately if you need a quick check
### Auditing External Memory
- If you maintain a CLAUDE.md, MEMORY.md, or similar file: periodically call `engram_audit` with its contents
- It will flag any claims that are outdated or contradicted by newer vault data
### Before Compacting / Session End
- Before context compaction or ending a session, call `engram_checkpoint` with a summary of:
- Decisions made and their reasoning
- Facts learned or corrected (especially things that changed from what you previously knew)
- Commitments and next steps
- Current project state
- This extracts durable memories from your context window before it is lost
- Your context window is the most accurate source of truth you have — and the most volatile. Save it.

111
config/opencode.jsonc Normal file
View File

@@ -0,0 +1,111 @@
{
"$schema": "https://opencode.ai/config.json",
"disabled_providers": [
],
"mcp": {
"engram": {
"command": [
"C:\\Users\\juanm\\bin\\engram.exe",
"mcp",
"--tools=agent"
],
"enabled": true,
"type": "local"
},
"image-vision": {
"type": "local",
"command": [
"node",
"C:\\Users\\juanm\\Documents\\GitHub\\image-vision-mcp\\dist\\index.js"
],
"enabled": true,
"environment": {
"IMAGE_VISION_AUTH_TOKEN": "{env:IMAGE_VISION_AUTH_TOKEN}",
"IMAGE_VISION_BASE_URL": "https://openrouter.ai/api/v1",
"IMAGE_VISION_MODEL": "google/gemini-2.5-flash",
"VISION_API_PROVIDER": "openai"
}
},
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"enabled": true,
"headers": {
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
}
},
"fetch": {
"type": "local",
"command": [
"npx",
"-y",
"@h16rkim/mcp-fetch-server"
],
"enabled": true
},
"sequential-thinking": {
"type": "local",
"command": [
"npx",
"-y",
"@modelcontextprotocol/server-sequential-thinking"
],
"enabled": true
},
"duckduckgo-search": {
"type": "local",
"command": [
"C:\\Users\\juanm\\.bun\\bin\\bunx.exe",
"duckduckgo-mcp"
],
"enabled": true
},
"obsidian": {
"type": "local",
"command": [
"C:\\Users\\juanm\\.local\\bin\\uvx.exe",
"mcp-obsidian"
],
"enabled": true,
"environment": {
"OBSIDIAN_API_KEY": "{env:OBSIDIAN_API_KEY}",
"OBSIDIAN_HOST": "127.0.0.1",
"OBSIDIAN_PORT": "27124"
}
},
"telegram": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-telegram"
],
"enabled": true,
"cwd": "C:\\Users\\juanm",
"environment": {
"TELEGRAM_API_ID": "{env:TELEGRAM_API_ID}",
"TELEGRAM_API_HASH": "{env:TELEGRAM_API_HASH}",
"TELEGRAM_AGENT_HOME": ".telegram-agent",
"MCP_TELEGRAM_TOOLS": "login,list_accounts,list_dialogs,search_dialogs,list_messages,search_messages,search_global,get_message,send_message,edit_message,delete_messages,forward_messages,send_reaction,get_message_reactions,send_file,download_media,list_contacts,search_contacts,get_me,transcribe_message,get_inline_bot_results,mark_as_read,send_poll,vote_poll,get_poll_results"
}
}
},
"provider": {
"ollama": {
"name": "Ollama",
"npm": "@ai-sdk/openai-compatible",
"models": {
"gemma4": {
"name": "Gemma 4 Local"
},
"deepseek-coder-v2:16b": {
"name": "DeepSeek Coder Local"
}
},
"options": {
"baseURL": "http://localhost:11434/v1"
}
}
}
}