PHPackages                             facturascripts/fsmaker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. facturascripts/fsmaker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

facturascripts/fsmaker
======================

Herramienta de creación de plugin para FacturaScripts.

v2.2(1mo ago)3685↓25%7[1 PRs](https://github.com/FacturaScripts/fsmaker/pulls)LGPL-3.0-or-laterPHPPHP ^8.1CI passing

Since Jul 8Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/FacturaScripts/fsmaker)[ Packagist](https://packagist.org/packages/facturascripts/fsmaker)[ RSS](/packages/facturascripts-fsmaker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (15)Used By (0)

fsmaker
=======

[](#fsmaker)

[![Latest Stable Version](https://camo.githubusercontent.com/a16dee8268ea9d027150e78b3a5d0e62f78e0bb1571728a26e0b914fc0a31ff1/68747470733a2f2f706f7365722e707567782e6f72672f66616374757261736372697074732f66736d616b65722f762f737461626c65)](https://packagist.org/packages/facturascripts/fsmaker)[![Total Downloads](https://camo.githubusercontent.com/619ae8dd2133b01694328e28cce8585c08bb4d2ea8bf748ddc89d069bb3146c0/68747470733a2f2f706f7365722e707567782e6f72672f66616374757261736372697074732f66736d616b65722f646f776e6c6f616473)](https://packagist.org/packages/facturascripts/fsmaker)[![License](https://camo.githubusercontent.com/26131c2ab601b188c708206a8eba018587415103966323552a91e224c4211c30/68747470733a2f2f706f7365722e707567782e6f72672f66616374757261736372697074732f66736d616b65722f6c6963656e7365)](https://packagist.org/packages/facturascripts/fsmaker)[![PHP Version Require](https://camo.githubusercontent.com/84bcbfabc3d1a436657b99768b9e43522c86b1c30a7ff0af33c34f1eca3b1f99/68747470733a2f2f706f7365722e707567782e6f72672f66616374757261736372697074732f66736d616b65722f726571756972652f706870)](https://packagist.org/packages/facturascripts/fsmaker)

Herramienta de creación y actualización de plugins para FacturaScripts.

- 🌐 **Web oficial**:

📥 Instalación
-------------

[](#-instalación)

### Instalar con composer

[](#instalar-con-composer)

Si ya tiene instalado PHP y Composer, puede instalar fsmaker globalmente:

```
composer global require facturascripts/fsmaker
```

### Ejecutar

[](#ejecutar)

Una vez instalado, fsmaker utiliza **Symfony Console** para una experiencia mejorada:

```
# Ver todos los comandos disponibles
fsmaker list

# Ver ayuda de un comando específico
fsmaker controller --help

# Ejecutar un comando
fsmaker model
```

### Comando corto (Linux / Mac)

[](#comando-corto-linux--mac)

Para ejecutar fsmaker directamente sin composer:

```
sudo ln -s ~/.config/composer/vendor/bin/fsmaker /usr/local/bin/fsmaker
```

Ahora puede usar simplemente:

```
fsmaker list
```

🚀 Arquitectura moderna con Symfony Console
------------------------------------------

[](#-arquitectura-moderna-con-symfony-console)

A partir de la versión 2.0, fsmaker utiliza **Symfony Console** para ofrecer:

- ✅ Sistema de ayuda completo (`fsmaker --help`, `fsmaker zip --help`)
- ✅ Autocompletado de comandos en shell
- ✅ Output coloreado y formateado
- ✅ Control de verbosidad (`-v`, `-vv`, `-vvv`)
- ✅ Mejor organización y mantenibilidad del código
- ✅ Estándar de la industria (Symfony Console)

⚡ Comandos disponibles
----------------------

[](#-comandos-disponibles)

### 🛠️ Creación de plugins y componentes

[](#️-creación-de-plugins-y-componentes)

#### `fsmaker plugin`

[](#fsmaker-plugin)

Crea la estructura completa de un nuevo plugin con todas las carpetas necesarias.

#### `fsmaker model`

[](#fsmaker-model)

Crea un modelo con su tabla XML correspondiente. Opcionalmente puede generar EditController y ListController.

#### `fsmaker controller`

[](#fsmaker-controller)

Crea diferentes tipos de controladores:

- Controller básico
- ListController para listados
- EditController para edición

#### `fsmaker extension`

[](#fsmaker-extension)

Crea extensiones para:

- Tablas (XML)
- Modelos
- Controladores
- XMLViews
- Vistas HTML

#### `fsmaker test`

[](#fsmaker-test)

Genera archivos de test PHPUnit para el plugin.

#### `fsmaker worker`

[](#fsmaker-worker)

Crea workers para el sistema de colas de trabajo.

#### `fsmaker cron`

[](#fsmaker-cron)

Crea el archivo principal Cron.php del plugin.

#### `fsmaker cronjob`

[](#fsmaker-cronjob)

Crea tareas programadas individuales.

### 🤖 Generación automática

[](#-generación-automática)

#### `fsmaker api`

[](#fsmaker-api)

Genera automáticamente la API REST para los modelos del plugin.

#### `fsmaker github-action`

[](#fsmaker-github-action)

Crea archivo de GitHub Actions para CI/CD.

#### `fsmaker gitignore`

[](#fsmaker-gitignore)

Genera archivo .gitignore optimizado para plugins de FacturaScripts.

#### `fsmaker init`

[](#fsmaker-init)

Crea el archivo Init.php principal del plugin.

### 🔄 Actualización y migración

[](#-actualización-y-migración)

#### `fsmaker upgrade`

[](#fsmaker-upgrade)

Actualiza el código PHP, Twig y XML del plugin a las últimas versiones:

- Migra `ToolBox` a `Tools`
- Actualiza namespaces (`Core\Base` → `Core\Lib`)
- Convierte iconos FontAwesome (`fas` → `fa-solid`)
- Actualiza imports de Symfony HttpFoundation
- Añade tipos de retorno (`function clear(): void`)

#### `fsmaker upgrade-bs5`

[](#fsmaker-upgrade-bs5)

Migra código de Bootstrap 4 a Bootstrap 5:

- `btn-block` → `w-100`
- `ml-*`/`mr-*` → `ms-*`/`me-*`
- `no-gutters` → `g-0`
- `form-group` → `mb-3`
- `data-toggle` → `data-bs-toggle`
- `badge-*` → `bg-*`
- Y muchos más patrones de migración

### 🔧 Utilidades

[](#-utilidades)

#### `fsmaker translations`

[](#fsmaker-translations)

Descarga y actualiza las traducciones del plugin.

#### `fsmaker run-tests [ruta]`

[](#fsmaker-run-tests-ruta)

Ejecuta los tests del plugin. Opcionalmente especifica la ruta de FacturaScripts.

#### `fsmaker zip`

[](#fsmaker-zip)

Genera un archivo ZIP del plugin listo para distribución.

✅ Requisitos
------------

[](#-requisitos)

- PHP 8.1 o superior
- Composer
- Estar en la carpeta raíz del plugin o core de FacturaScripts

📁 Estructura de directorios
---------------------------

[](#-estructura-de-directorios)

fsmaker espera encontrarse en:

- **Plugin**: Carpeta raíz del plugin (contiene `facturascripts.ini`)
- **Core**: Carpeta raíz del core de FacturaScripts

### Estructura típica de plugin generado:

[](#estructura-típica-de-plugin-generado)

```
MiPlugin/
├── facturascripts.ini
├── Init.php
├── Cron.php
├── Controller/
├── Model/
├── View/
├── XMLView/
├── Table/
├── Extension/
│   ├── Controller/
│   ├── Model/
│   ├── Table/
│   ├── XMLView/
│   └── View/
├── Assets/
│   ├── CSS/
│   ├── JS/
│   └── Images/
├── Data/
│   ├── Codpais/ESP/
│   └── Lang/ES/
├── Test/main/
├── CronJob/
├── Worker/
└── Translation/

```

💡 Ejemplos de uso
-----------------

[](#-ejemplos-de-uso)

### Ver todos los comandos disponibles

[](#ver-todos-los-comandos-disponibles)

```
fsmaker list
```

### Ver ayuda de un comando

[](#ver-ayuda-de-un-comando)

```
fsmaker controller --help
fsmaker model --help
```

### Crear un plugin completo

[](#crear-un-plugin-completo)

```
cd /ruta/desarrollo/
fsmaker plugin
# Introduce: MiPlugin
```

### Crear un modelo con controladores

[](#crear-un-modelo-con-controladores)

```
cd MiPlugin/
fsmaker model
# Introduce: Cliente (modelo)
# Introduce: clientes (tabla)
# Configura campos con prompts interactivos
# ¿Crear EditController? Si
# ¿Crear ListController? Si
```

### Actualizar código a nuevas versiones

[](#actualizar-código-a-nuevas-versiones)

```
cd MiPlugin/
fsmaker upgrade        # Migra código PHP/Twig/XML
fsmaker upgrade-bs5    # Migra Bootstrap 4 → 5
```

### Preparar para distribución

[](#preparar-para-distribución)

```
cd MiPlugin/
fsmaker zip
```

### Ejecutar con mayor verbosidad

[](#ejecutar-con-mayor-verbosidad)

```
fsmaker model -v      # Verbose
fsmaker model -vv     # Very verbose
fsmaker model -vvv    # Debug
```

📞 Issues / Feedback
-------------------

[](#-issues--feedback)

- 💬 **Contacto**:
- 🐛 **GitHub**:

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance88

Actively maintained with recent releases

Popularity24

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~62 days

Recently: every ~53 days

Total

11

Last Release

59d ago

Major Versions

v1.9 → v2.02026-02-02

PHP version history (4 changes)1.3.1PHP &gt;=7.3

1.4.0PHP &gt;=7.4

1.6PHP &gt;=8.0

v2.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/01005d25ed0cae70f2c4f7b945a1debf1fcebedabb14bcad35823f606244954b?d=identicon)[facturascripts](/maintainers/facturascripts)

---

Top Contributors

[![NeoRazorX](https://avatars.githubusercontent.com/u/494922?v=4)](https://github.com/NeoRazorX "NeoRazorX (86 commits)")[![abdedarghal111](https://avatars.githubusercontent.com/u/66704312?v=4)](https://github.com/abdedarghal111 "abdedarghal111 (75 commits)")[![daniel89fg](https://avatars.githubusercontent.com/u/13066282?v=4)](https://github.com/daniel89fg "daniel89fg (50 commits)")[![socger](https://avatars.githubusercontent.com/u/3963247?v=4)](https://github.com/socger "socger (48 commits)")[![elguitarraverde](https://avatars.githubusercontent.com/u/2836337?v=4)](https://github.com/elguitarraverde "elguitarraverde (7 commits)")[![outeiroDev](https://avatars.githubusercontent.com/u/8427448?v=4)](https://github.com/outeiroDev "outeiroDev (3 commits)")[![jjosez](https://avatars.githubusercontent.com/u/4119440?v=4)](https://github.com/jjosez "jjosez (1 commits)")[![marc-mainpro](https://avatars.githubusercontent.com/u/239969672?v=4)](https://github.com/marc-mainpro "marc-mainpro (1 commits)")[![google-labs-jules[bot]](https://avatars.githubusercontent.com/in/842251?v=4)](https://github.com/google-labs-jules[bot] "google-labs-jules[bot] (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/facturascripts-fsmaker/health.svg)

```
[![Health](https://phpackages.com/badges/facturascripts-fsmaker/health.svg)](https://phpackages.com/packages/facturascripts-fsmaker)
```

###  Alternatives

[livewire/flux

The official UI component library for Livewire.

9475.0M86](/packages/livewire-flux)[php-soap/wsdl

Deals with WSDLs

173.5M12](/packages/php-soap-wsdl)[mrmarchone/laravel-auto-crud

Laravel Auto CRUD helps you streamline development and save time.

28711.8k2](/packages/mrmarchone-laravel-auto-crud)[phel-lang/phel-lang

Phel is a functional programming language that compiles to PHP

4743.5k10](/packages/phel-lang-phel-lang)[symfony/ai-bundle

Integration bundle for Symfony AI components

30282.3k6](/packages/symfony-ai-bundle)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
