Conversation
… como claude, ayudando así al restro de programadores
There was a problem hiding this comment.
Pull request overview
Este PR incorpora un nuevo comando de fsmaker para copiar a un proyecto (core o plugin) una plantilla de documentación/configuración pensada para agentes de IA (p. ej. Claude), junto con un conjunto amplio de documentos y “skills” de ejemplo.
Changes:
- Añade el comando
agent-aiy lo registra en la aplicación de consola. - Incluye plantillas de documentación para plugins (
samples/ai-plugin/CLAUDE.md) y para el core (samples/ai-core/.claude/**+ docs asociadas).
Reviewed changes
Copilot reviewed 162 out of 162 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Console/Application.php | Registra el nuevo comando AgentAiCommand en el listado de comandos. |
| src/Command/Generator/AgentAiCommand.php | Implementa el comando que copia (y elimina previamente) la plantilla de archivos de IA en core o plugin. |
| samples/ai-plugin/CLAUDE.md | Plantilla de guía para desarrollo de plugins orientada a agentes IA. |
| samples/ai-core/.claude/skills/depurar-y-testear.md | Skill para depuración y tests. |
| samples/ai-core/.claude/skills/crear-plugin.md | Skill para scaffolding/creación de plugins. |
| samples/ai-core/.claude/docs/widget.md | Doc: widget (XMLView). |
| samples/ai-core/.claude/docs/widget-variante.md | Doc: widget variante. |
| samples/ai-core/.claude/docs/widget-time.md | Doc: widget time. |
| samples/ai-core/.claude/docs/widget-textarea.md | Doc: widget textarea. |
| samples/ai-core/.claude/docs/widget-text.md | Doc: widget text. |
| samples/ai-core/.claude/docs/widget-subcuenta.md | Doc: widget subcuenta. |
| samples/ai-core/.claude/docs/widget-stars.md | Doc: widget stars. |
| samples/ai-core/.claude/docs/widget-radio.md | Doc: widget radio. |
| samples/ai-core/.claude/docs/widget-password.md | Doc: widget password. |
| samples/ai-core/.claude/docs/widget-number.md | Doc: widget number. |
| samples/ai-core/.claude/docs/widget-money.md | Doc: widget money. |
| samples/ai-core/.claude/docs/widget-link.md | Doc: widget link. |
| samples/ai-core/.claude/docs/widget-library.md | Doc: widget library. |
| samples/ai-core/.claude/docs/widget-file.md | Doc: widget file. |
| samples/ai-core/.claude/docs/widget-datetime.md | Doc: widget datetime. |
| samples/ai-core/.claude/docs/widget-date.md | Doc: widget date. |
| samples/ai-core/.claude/docs/widget-color.md | Doc: widget color. |
| samples/ai-core/.claude/docs/widget-checkbox.md | Doc: widget checkbox. |
| samples/ai-core/.claude/docs/widget-bytes.md | Doc: widget bytes. |
| samples/ai-core/.claude/docs/widget-autocomplete.md | Doc: widget autocomplete. |
| samples/ai-core/.claude/docs/usuario-y-permisos.md | Doc: usuario y permisos. |
| samples/ai-core/.claude/docs/uso-de-la-cache.md | Doc: uso de caché. |
| samples/ai-core/.claude/docs/url.md | Doc: método url() del modelo. |
| samples/ai-core/.claude/docs/testeo-de-plugins.md | Doc: tests de plugins. |
| samples/ai-core/.claude/docs/test.md | Doc: método test() del modelo. |
| samples/ai-core/.claude/docs/tablename.md | Doc: método tableName() del modelo. |
| samples/ai-core/.claude/docs/save.md | Doc: método save() del modelo. |
| samples/ai-core/.claude/docs/rows.md | Doc: rows (XMLView). |
| samples/ai-core/.claude/docs/row-statistics.md | Doc: row statistics. |
| samples/ai-core/.claude/docs/row-header-y-footer.md | Doc: row header/footer. |
| samples/ai-core/.claude/docs/row-business.md | Doc: row business (obsoleto). |
| samples/ai-core/.claude/docs/row-actions.md | Doc: row actions. |
| samples/ai-core/.claude/docs/que-version-de-symfony-utiliza-facturascripts.md | Doc: componentes Symfony usados. |
| samples/ai-core/.claude/docs/profundizando-en-el-core.md | Doc: profundización en el core/kernel. |
| samples/ai-core/.claude/docs/primarydescriptioncolumn.md | Doc: primaryDescriptionColumn(). |
| samples/ai-core/.claude/docs/primarydescription.md | Doc: primaryDescription(). |
| samples/ai-core/.claude/docs/primarycolumnvalue.md | Doc: id(), primaryColumnValue(), changeId(). |
| samples/ai-core/.claude/docs/primarycolumn.md | Doc: primaryColumn(). |
| samples/ai-core/.claude/docs/preferencias-de-la-aplicacion.md | Doc: settings para plugins. |
| samples/ai-core/.claude/docs/personalizando-con-settings.md | Doc: uso de Settings en pestañas. |
| samples/ai-core/.claude/docs/operaciones-comunes-con-modelos.md | Doc: operaciones comunes con modelos. |
| samples/ai-core/.claude/docs/obtener-un-recurso-concreto.md | Doc: obtener recurso API por clave primaria. |
| samples/ai-core/.claude/docs/obtener-parametros-de-la-url-formularios-o-cookies.md | Doc: request/query/input/cookie. |
| samples/ai-core/.claude/docs/newcode.md | Doc: newCode(). |
| samples/ai-core/.claude/docs/mostrar-mensajes-errores-y-alertas.md | Doc: logs/toasts/mensajes. |
| samples/ai-core/.claude/docs/modelos-especiales.md | Doc: modelos especiales (CodeModel/TotalModel). |
| samples/ai-core/.claude/docs/modelonchangeclass.md | Doc: ModelOnChangeClass (obsoleto). |
| samples/ai-core/.claude/docs/modals.md | Doc: modals (XMLView). |
| samples/ai-core/.claude/docs/migrar-los-xml-de-las-tablas.md | Doc: migración XML tablas 2017. |
| samples/ai-core/.claude/docs/migrar-los-modelos.md | Doc: migración de modelos 2017→2018. |
| samples/ai-core/.claude/docs/los-controladores.md | Doc: controladores. |
| samples/ai-core/.claude/docs/loadfromdata.md | Doc: loadFromData(). |
| samples/ai-core/.claude/docs/listado-de-recursos-modelos.md | Doc: recursos disponibles API. |
| samples/ai-core/.claude/docs/las-vistas-xml-xmlview.md | Doc: XMLView. |
| samples/ai-core/.claude/docs/las-traducciones-en-plugins.md | Doc: traducciones en plugins. |
| samples/ai-core/.claude/docs/las-extensiones.md | Doc: extensiones/pipes. |
| samples/ai-core/.claude/docs/la-clase-tools.md | Doc: clase Tools. |
| samples/ai-core/.claude/docs/la-api-rest-de-facturascripts.md | Doc: API REST. |
| samples/ai-core/.claude/docs/interacturar-con-las-vistas.md | Doc: interacción con vistas (ColumnItem/filters/buttons). |
| samples/ai-core/.claude/docs/install.md | Doc: install() del modelo. |
| samples/ai-core/.claude/docs/iconos-disponibles.md | Doc: iconos disponibles. |
| samples/ai-core/.claude/docs/herencia-de-plantillas.md | Doc: herencia Twig. |
| samples/ai-core/.claude/docs/herencia-de-modelos.md | Doc: herencia de modelos. |
| samples/ai-core/.claude/docs/guardar-una-cookie.md | Doc: cookies. |
| samples/ai-core/.claude/docs/group.md | Doc: group (XMLView). |
| samples/ai-core/.claude/docs/getmodelfields.md | Doc: getModelFields(). |
| samples/ai-core/.claude/docs/get.md | Doc: get() del modelo. |
| samples/ai-core/.claude/docs/gestion-de-plugins.md | Doc: gestión de plugins. |
| samples/ai-core/.claude/docs/gestion-de-errores.md | Doc: gestión de errores/KernelException. |
| samples/ai-core/.claude/docs/extensiones-de-xmlview.md | Doc: extensiones XMLView. |
| samples/ai-core/.claude/docs/extensiones-de-vistas-html.md | Doc: extensiones de vistas HTML. |
| samples/ai-core/.claude/docs/extensiones-de-tablas.md | Doc: extensiones de tablas. |
| samples/ai-core/.claude/docs/exists.md | Doc: exists(). |
| samples/ai-core/.claude/docs/enrutado-el-sistema-de-rutas.md | Doc: enrutado/rutas. |
| samples/ai-core/.claude/docs/eliminar-un-recurso-concreto.md | Doc: DELETE en API. |
| samples/ai-core/.claude/docs/el-sistema-de-prioridades-de-plugins.md | Doc: prioridades de plugins/Dinamic. |
| samples/ai-core/.claude/docs/el-archivo-init-php.md | Doc: Init.php. |
| samples/ai-core/.claude/docs/el-archivo-facturascripts-ini.md | Doc: facturascripts.ini. |
| samples/ai-core/.claude/docs/editcontroller.md | Doc: EditController. |
| samples/ai-core/.claude/docs/disablecolumn.md | Doc: disableColumn(). |
| samples/ai-core/.claude/docs/diagramas-de-tablas.md | Doc: diagramas de tablas. |
| samples/ai-core/.claude/docs/descargar-archivos-de-myfiles.md | Doc: tokens de MyFiles. |
| samples/ai-core/.claude/docs/delete.md | Doc: delete() y deleteWhere(). |
| samples/ai-core/.claude/docs/creacion-de-plugins.md | Doc: creación de plugins. |
| samples/ai-core/.claude/docs/count.md | Doc: count(). |
| samples/ai-core/.claude/docs/controladores-extendidos.md | Doc: controladores extendidos (List/Edit/Panel). |
| samples/ai-core/.claude/docs/conectar-con-otro-facturascripts-mediante-api.md | Doc: consumir API con cliente HTTP. |
| samples/ai-core/.claude/docs/como-subir-un-archivo-usando-la-api-de-facturascripts.md | Doc: uploadFiles API. |
| samples/ai-core/.claude/docs/como-publicar-plugins-en-facturascripts.md | Doc: publicar plugins. |
| samples/ai-core/.claude/docs/como-obtener-el-pdf-de-una-factura-desde-la-api.md | Doc: exportar PDF/XLS/CSV por API. |
| samples/ai-core/.claude/docs/como-obtener-el-esquema-de-un-modelo-mediante-api.md | Doc: schema API. |
| samples/ai-core/.claude/docs/como-modificar-el-calculator-desde-un-plugin.md | Doc: CalculatorMod. |
| samples/ai-core/.claude/docs/como-marcar-una-factura-como-pagada-desde-api.md | Doc: endpoint pagar factura. |
| samples/ai-core/.claude/docs/como-hacer-una-factura-rectificativa-por-api.md | Doc: factura rectificativa por API. |
| samples/ai-core/.claude/docs/como-hacer-un-pull-request.md | Doc: guía pull request. |
| samples/ai-core/.claude/docs/columns.md | Doc: columns (XMLView). |
| samples/ai-core/.claude/docs/column.md | Doc: column (XMLView). |
| samples/ai-core/.claude/docs/clear.md | Doc: clear() del modelo. |
| samples/ai-core/.claude/docs/assetmanager.md | Doc: AssetManager. |
| samples/ai-core/.claude/docs/appsettings.md | Doc: Settings/Tools::settings(). |
| samples/ai-core/.claude/docs/antes-de-empezar-a-programar.md | Doc: introducción desarrollo. |
| samples/ai-core/.claude/docs/anadir-un-nuevo-recurso.md | Doc: POST para crear registros (API). |
| samples/ai-core/.claude/docs/anadir-un-endpoint-a-la-api.md | Doc: crear endpoint API custom. |
| samples/ai-core/.claude/docs/all.md | Doc: all() del modelo. |
| samples/ai-core/.claude/docs/addlistview.md | Doc: addListView(). |
| samples/ai-core/.claude/docs/addhtmlview.md | Doc: addHtmlView(). |
| samples/ai-core/.claude/docs/addfilterselectwhere.md | Doc: addFilterSelectWhere(). |
| samples/ai-core/.claude/docs/addfilterselect.md | Doc: addFilterSelect(). |
| samples/ai-core/.claude/docs/addfilterperiod.md | Doc: addFilterPeriod(). |
| samples/ai-core/.claude/docs/addfilternumber.md | Doc: addFilterNumber(). |
| samples/ai-core/.claude/docs/addfilterdatepicker.md | Doc: addFilterDatePicker(). |
| samples/ai-core/.claude/docs/addfiltercheckbox.md | Doc: addFilterCheckbox(). |
| samples/ai-core/.claude/docs/addfilterautocomplete.md | Doc: addFilterAutocomplete(). |
| samples/ai-core/.claude/docs/addeditview.md | Doc: addEditView(). |
| samples/ai-core/.claude/docs/addeditlistview.md | Doc: addEditListView(). |
| samples/ai-core/.claude/docs/actualizar-un-recurso-existente.md | Doc: PUT para actualizar registros (API). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
… como claude, ayudando así al restro de programadores