{"_id":"@aagb/ctxopt","name":"@aagb/ctxopt","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aagb/ctxopt","version":"0.1.0","description":"Una sola configuracion de contexto para Claude Code, Codex, Antigravity y Cursor. / One context configuration for all your AI coding agents.","type":"module","publishConfig":{"access":"public"},"bin":{"ctxopt":"dist/index.js"},"engines":{"node":">=18"},"scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/index.js"},"keywords":["ai","agents","claude-code","codex","antigravity","cursor","agents-md","context","tokens"],"license":"MIT","devDependencies":{"@types/node":"^22.0.0","typescript":"^5.6.0"},"gitHead":"bcf4405c9dc63bf53c260c7ecc7ef333a3f60057","_id":"@aagb/ctxopt@0.1.0","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-ZwCF0/WUL3SDgp/TN5q4etoaw2iTGtLGKbZjwPMj0XJhsqpyeaVzZWd2/Cn0mDQo9pqdzHFLvSOvMpDsHG8HSw==","shasum":"10b30e6006332f5817577ad4210550921ba90d68","tarball":"https://registry.npmjs.org/@aagb/ctxopt/-/ctxopt-0.1.0.tgz","fileCount":16,"unpackedSize":44324,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDy8PHNzXj/3qtKPltSfRwzJriMX5mHdEJDLIhTjR4LzAiAJCWAKH0CA/6MCdOmYmykRT/++9349m6Angp/Oqxa2zw=="}]},"_npmUser":{"name":"aagb","email":"alejandro.gutierrezb31@gmail.com"},"directories":{},"maintainers":[{"name":"aagb","email":"alejandro.gutierrezb31@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ctxopt_0.1.0_1787722271824_0.28441169620266193"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-26T05:31:11.559Z","0.1.0":"2026-08-26T05:31:11.970Z","modified":"2026-08-26T05:31:12.271Z"},"maintainers":[{"name":"aagb","email":"alejandro.gutierrezb31@gmail.com"}],"description":"Una sola configuracion de contexto para Claude Code, Codex, Antigravity y Cursor. / One context configuration for all your AI coding agents.","keywords":["ai","agents","claude-code","codex","antigravity","cursor","agents-md","context","tokens"],"license":"MIT","readme":"# ctxopt\n\n**English below / Español abajo**\n\n---\n\n## 🇪🇸 Español\n\nUna sola configuración de contexto para todos tus agentes de IA de programación\n(Claude Code, Codex, Antigravity, Cursor).\n\n### El problema\n\nLos agentes de IA para programar procesan contexto (archivos, código, historial)\nen cada tarea. Mientras más grande el proyecto, más fácil es que el agente\nrevise información que no necesita — y eso tiene un costo real en tokens.\n\n### Qué hace ctxopt\n\n- `ctxopt init` — analiza tu proyecto y detecta su stack (lenguajes,\n  frameworks, gestor de paquetes, sistema de pruebas)\n- `ctxopt generate` — crea `AGENTS.md` (el estándar abierto que ya leen\n  Codex, Antigravity y Cursor de forma nativa) y su adaptador `CLAUDE.md`\n  para Claude Code\n- `ctxopt hooks` — instala un filtro que reduce la salida de tests/builds\n  verbosos a solo lo relevante, antes de que el agente la reciba\n- `ctxopt memory init` — crea una memoria persistente entre sesiones\n  (`.agents/memory.md`) que el propio agente decide cómo llenar\n- `ctxopt agents` — instala subagentes con modelo asignado según la tarea\n  (búsquedas y tests en un modelo barato, documentación en uno más capaz)\n- `ctxopt adapters` — verifica compatibilidad multi-agente y agrega un\n  respaldo para versiones de Cursor que aún no leen `AGENTS.md` nativo\n\n**Nunca sobrescribe configuración que ya tengas** — si algo existe, guarda\nuna sugerencia aparte en `.ctxopt/` en vez de tocarlo.\n\n### Evidencia real (no cifras de marketing)\n\nMedido en un proyecto real (Next.js + TypeScript + Supabase, ~220 archivos),\ncomparando la misma tarea con y sin `ctxopt`:\n\n- En tareas de **exploración de código** (ej. localizar una integración):\n  **64.5% menos tokens de contexto nuevo** procesados\n- En costo total medido sobre 3 tareas variadas: **16%** de ahorro —\n  con una tarea puntual donde el resultado fue neutro/mixto, no siempre\n  hay ganancia\n- El hook de filtrado redujo una salida de test real de 35 a 6 líneas\n  relevantes, conservando siempre el resumen real (no un genérico \"sin\n  errores\")\n\nEl ahorro depende del tipo de tarea: es mayor cuando el agente necesita\nexplorar o buscar, y menor en tareas puntuales donde ya conoce el contexto.\nNo prometemos un número fijo — corre tu propia medición con `/usage` antes\ny después.\n\n### Estado del proyecto\n\n🚧 En desarrollo activo, probado en un proyecto real de producción.\n\n### Uso\n\n```bash\nnpm install\nnpm run build\nnode dist/index.js init --path /ruta/a/tu/proyecto\nnode dist/index.js generate --path /ruta/a/tu/proyecto\nnode dist/index.js hooks --path /ruta/a/tu/proyecto\nnode dist/index.js memory init --path /ruta/a/tu/proyecto\nnode dist/index.js agents --path /ruta/a/tu/proyecto\nnode dist/index.js adapters --path /ruta/a/tu/proyecto\n```\n\n### Licencia\n\nMIT — libre para usar, modificar y distribuir.\n\n---\n\n## 🇬🇧 English\n\nOne context configuration for all your AI coding agents\n(Claude Code, Codex, Antigravity, Cursor).\n\n### The problem\n\nAI coding agents process context (files, code, history) on every task. The\nbigger the project, the easier it is for the agent to load information it\ndoesn't actually need for the task at hand — and that has a real token cost.\n\n### What ctxopt does\n\n- `ctxopt init` — scans your project and detects its stack (languages,\n  frameworks, package manager, test runner)\n- `ctxopt generate` — creates `AGENTS.md` (the open standard already read\n  natively by Codex, Antigravity, and Cursor) and its `CLAUDE.md` adapter\n  for Claude Code\n- `ctxopt hooks` — installs a filter that trims verbose test/build output\n  down to what's relevant, before the agent ever sees it\n- `ctxopt memory init` — creates persistent memory between sessions\n  (`.agents/memory.md`) that the agent itself decides how to fill\n- `ctxopt agents` — installs subagents with a model assigned per task\n  (search and tests on a cheap model, docs on a more capable one)\n- `ctxopt adapters` — checks multi-agent compatibility and adds a fallback\n  for Cursor versions that don't yet read `AGENTS.md` natively\n\n**Never overwrites configuration you already have** — if something exists,\nit saves a suggestion in `.ctxopt/` instead of touching it.\n\n### Real evidence (not marketing numbers)\n\nMeasured on a real project (Next.js + TypeScript + Supabase, ~220 files),\ncomparing the same task with and without `ctxopt`:\n\n- On **code-exploration tasks** (e.g. locating an integration):\n  **64.5% less new context** processed\n- On total cost measured across 3 varied tasks: **16%** savings overall —\n  with one specific task where the result was neutral/mixed, gains aren't\n  guaranteed every time\n- The filtering hook reduced a real test run from 35 to 6 relevant lines,\n  while always preserving the real summary (never a generic \"no errors\")\n\nSavings depend on the type of task: bigger when the agent needs to explore\nor search, smaller on one-off tasks where it already knows the context. We\ndon't promise a fixed number — measure your own project with `/usage`\nbefore and after.\n\n### Project status\n\n🚧 Active development, tested on a real production project.\n\n### Usage\n\n```bash\nnpm install\nnpm run build\nnode dist/index.js init --path /path/to/your/project\nnode dist/index.js generate --path /path/to/your/project\nnode dist/index.js hooks --path /path/to/your/project\nnode dist/index.js memory init --path /path/to/your/project\nnode dist/index.js agents --path /path/to/your/project\nnode dist/index.js adapters --path /path/to/your/project\n```\n\n### License\n\nMIT — free to use, modify, and distribute.\n","readmeFilename":"README.md","_rev":"1-169c3e0a2a503eca746214ffd65336f2"}