Sobre el proyecto

Pacmon añade una capa de “por qué” a los manifiestos de dependencias. Manifiestos como package.json, Cargo.toml, pom.xml, build.gradle, mix.exs, build.zig.zon, go.mod y los manifiestos de Python indican de qué depende un proyecto; Pacmon permite que cada dependencia directa tenga una nota breve que explique por qué está ahí, qué no debe cambiar y qué comprobar antes de actualizar. Las notas se almacenan como archivos Markdown plano en .pacmon/, junto al manifiesto que describen. No hay base de datos, servicio ni cuenta: los archivos pueden leerse, compararse con diff y enviarse a commits como cualquier otro archivo del repositorio. Una nota aparece al pasar el cursor sobre la dependencia en el manifiesto, y su primera línea se muestra al final de la línea de dependencia. Una marca antes de cada dependencia aparece rellena cuando existe una nota y hueca cuando no existe. Ecosistemas compatibles y sus archivos de notas: - npm: package.json, .pacmon/DEPENDENCY-NOTES.md, secciones nombradas por paquete (por ejemplo, ## express). - Rust: Cargo.toml, .pacmon/cargo/DEPENDENCY-NOTES.md, secciones nombradas por clave de dependencia. - Maven: pom.xml, .pacmon/maven/DEPENDENCY-NOTES.md, secciones nombradas como groupId:artifactId. - Gradle: build.gradle o build.gradle.kts, .pacmon/gradle/DEPENDENCY-NOTES.md, secciones nombradas como group:name o alias del catálogo. - Elixir/Mix: mix.exs, .pacmon/mix/DEPENDENCY-NOTES.md, secciones nombradas por el átomo de aplicación de la dependencia. - Zig: build.zig.zon, .pacmon/zig/DEPENDENCY-NOTES.md, secciones nombradas por el campo de dependencia directa. - Python: pyproject.toml y archivos requirements, .pacmon/python/DEPENDENCY-NOTES.md, secciones nombradas por nombre de distribución normalizado. - Go: go.mod, .pacmon/go/DEPENDENCY-NOTES.md, secciones nombradas por ruta del módulo. Pacmon analiza los manifiestos como texto y no ejecuta npm, Cargo, Maven, Gradle, Mix, Zig, Python, pip, Poetry, uv ni Go. Reconoce las dependencias directas escritas en el archivo, con límites específicos de cada ecosistema descritos en el README (por ejemplo, se excluyen dependencyManagement de Maven y las dependencias de complementos; los scripts de Gradle no se ejecutan, por lo que no se detectan las dependencias añadidas mediante código; las directivas replace, exclude y retract de Go, así como go.work y vendor, no se leen como dependencias). Cada ecosistema mantiene su propio archivo de notas, y un manifiesto que no tiene uno utiliza el archivo de notas más cercano por encima de él para el mismo ecosistema. Los archivos de notas utilizan una sección ## por cada dependencia directa. Las personas escriben bajo el encabezado; los agentes de codificación de IA escriben bajo una subsección ### Agent notes mediante líneas - key: value, como purpose, constraint, verify, log y verified. Se espera que los agentes lean la sección de una dependencia antes de añadirla, actualizarla o eliminarla, y que registren lo que hicieron. Pacmon valida las líneas de los agentes y advierte sobre campos desconocidos o valores vacíos, ofreciendo correcciones de un clic. Pacmon por sí solo no llama a ningún servicio de IA; proporciona los archivos y las reglas, y un comando de configuración inicial escribe .pacmon/AGENT-RULES.md y añade referencias en archivos comunes de instrucciones para agentes, como AGENTS.md, CLAUDE.md, .cursor/rules/ y .github/copilot-instructions.md. Las funciones incluyen notas al pasar el cursor, vistas previas en línea, marcas de dependencia, escritura de notas desde el manifiesto mediante un panel lateral, editor peek o cuadro de entrada, una vista Documentation Coverage que lista qué dependencias tienen notas, y advertencias por problemas en el archivo de notas. Los ajustes cubren el estilo de la sugerencia en línea, qué capa alimenta las vistas previas (human-first, ai-first, human-only, ai-only), cómo se introducen las notas, puntos de entrada en los que se puede hacer clic y la resolución de archivos de notas en monorepos. La extensión requiere VS Code 1.100+ o un IDE de JetBrains 2025.2+, y no necesita tener instaladas cadenas de herramientas de lenguaje. Funciona en VS Code para Web, Remote-SSH, WSL y contenedores de desarrollo. Es una versión preliminar inicial que todavía no acepta pull requests; los informes de errores y las peticiones de funcionalidades se envían a los issues de GitHub. Tiene licencia Apache 2.0, y “Pacmon” y el logotipo son marcas comerciales de Kontra.