Ir al contenido

Contribuir

svg-engine es open source (Apache-2.0) y las contribuciones son bienvenidas — código, plugins, reportes de bugs, documentación y traducciones.

Esta página trata de contribuir a la librería. El repositorio es github.com/mosaicoo/svg-engine.

Ventana de terminal
git clone https://github.com/mosaicoo/svg-engine
cd svg-engine
npm install

Scripts comunes (workspace Angular):

Ventana de terminal
npm run build:lib # build de la librería (ng-packagr)
npm start # levanta el playground (app de referencia) en :4200
npm run test:lib # ejecuta la suite de tests de la librería (build de la lib antes)
npm run lint # eslint + angular-eslint

test:lib corre contra la librería ya compilada, así que ejecuta build:lib antes. Se requiere Node ^20.19 || ^22.12 || >=24 (mira el campo engines del paquete).

  • projects/svg-engine/ — la librería y sus entry points (core, render, io, optimize, edit, ui, ai/*).
  • projects/playground/ — la app de referencia que ejercita todos los modos de consumo.
  • projects/svg-studio/ — la app studio standalone (la demo en vivo).

Los docs de desarrollo del propio repositorio viven en docs/ y evolucionan con el código — trata el repositorio como la fuente de verdad. Empieza por el CONTRIBUTING.md.

  • Escribe un plugin — añade una tool, importer/exporter, efecto, paleta, menú o atajo sin tocar el core. Mira Plugins.
  • Reporta un bug o haz una pregunta — abre un issue; el repositorio ofrece issue forms para bug report, feature request, documentación y preguntas.
  • Mejora la documentación — tanto la de la librería como este sitio.
  • Crea una rama desde main, mantén los cambios enfocados y asegúrate de que npm run test:lib y npm run lint pasen.
  • Sigue los Conventional Commits en inglés (feat:, fix:, docs:, refactor:, perf:, test:, chore:).
  • Los PRs se fusionan por squash, así que el título del PR se convierte en el mensaje del commit — haz de él una buena línea Conventional Commit.
  • El comportamiento nuevo debe venir con tests.

Por favor, reporta las vulnerabilidades de forma privada, no en un issue público. Usa el Private Vulnerability Reporting de GitHub, que es el proceso descrito en el SECURITY.md del repositorio.

Las advisories conocidas se listan allí. En el release actual, las únicas advisories conocidas están en la cadena de dependencia opcional @huggingface/transformers, así que afectan solo a apps que usan el entry point ai/nlu-voice-wasm — los proyectos que no usan voz on-device no se ven afectados.