arcli 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -1
- package/README.md +47 -141
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/llms.txt +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,19 @@ El formato sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/) y e
|
|
|
8
8
|
|
|
9
9
|
## [Sin publicar]
|
|
10
10
|
|
|
11
|
+
## [1.7.1] - 2026-10-06
|
|
12
|
+
|
|
13
|
+
Versión de documentación. No cambia ningún comando, flag, clave de config ni JSON.
|
|
14
|
+
|
|
15
|
+
### Cambiado
|
|
16
|
+
|
|
17
|
+
- **Documentación reorganizada:** nuevo índice en `docs/README.md` y nueva guía de [arquitectura](https://github.com/LcsGrz/arcli/blob/main/docs/architecture.md). El README quedó más corto, con instalación, configuración y uso mínimos. Se eliminaron secciones duplicadas entre documentos y el checklist manual de UI, que usaba comandos que ya no existen.
|
|
18
|
+
- **Seguridad:** `SECURITY.md` apunta al reporte privado de vulnerabilidades de GitHub.
|
|
19
|
+
|
|
20
|
+
### Corregido
|
|
21
|
+
|
|
22
|
+
- **Docs:** el glosario decía que la alícuota de IVA era fija al 21%; la referencia del CLI citaba claves de config inexistentes; `llms.txt` documentaba un campo JSON (`confirmarProduccion`) que no existe; faltaban en la guía de configuración `NO_UPDATE_NOTIFIER` y `PUPPETEER_EXECUTABLE_PATH`.
|
|
23
|
+
|
|
11
24
|
## [1.7.0] - 2026-10-05
|
|
12
25
|
|
|
13
26
|
Esta versión completa el modo interactivo: configuración guiada la primera vez, cambiar cualquier dato desde un menú, repetir una factura anterior con fechas nuevas, consultar un comprobante y ver el estado de ARCA. También corrige el PDF de la Factura B, enlaza la guía de certificados desde la configuración y suma GIF e imágenes al README. No se rompe ningún comando, flag ni JSON existente.
|
|
@@ -197,7 +210,8 @@ Primera versión publicada en npm.
|
|
|
197
210
|
- `llms.txt`: referencia condensada para que un agente de IA con acceso a terminal ejecute el CLI.
|
|
198
211
|
- Publicación con npm Trusted Publishers (OIDC).
|
|
199
212
|
|
|
200
|
-
[Sin publicar]: https://github.com/LcsGrz/arcli/compare/v1.7.
|
|
213
|
+
[Sin publicar]: https://github.com/LcsGrz/arcli/compare/v1.7.1...HEAD
|
|
214
|
+
[1.7.1]: https://github.com/LcsGrz/arcli/compare/v1.7.0...v1.7.1
|
|
201
215
|
[1.7.0]: https://github.com/LcsGrz/arcli/compare/v1.6.0...v1.7.0
|
|
202
216
|
[1.6.0]: https://github.com/LcsGrz/arcli/compare/v1.5.0...v1.6.0
|
|
203
217
|
[1.5.0]: https://github.com/LcsGrz/arcli/compare/v1.4.0...v1.5.0
|
package/README.md
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/arcli)
|
|
4
4
|
[](https://github.com/LcsGrz/arcli/actions/workflows/ci.yml)
|
|
5
5
|
[](LICENSE)
|
|
6
|
-
[](package.json)
|
|
7
6
|
|
|
8
7
|
```text
|
|
9
8
|
d8888 8888888b. .d8888b. 888 8888888
|
|
@@ -16,59 +15,21 @@
|
|
|
16
15
|
d88P 888 888 T88b "Y8888P" 88888888 8888888
|
|
17
16
|
```
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## Características
|
|
22
|
-
|
|
23
|
-
- configuración persistente por usuario
|
|
24
|
-
- previsualización segura antes de emitir
|
|
25
|
-
- entrada por flags o JSON
|
|
26
|
-
- salida humana, JSON o respuesta bruta
|
|
27
|
-
- **modo interactivo:** `arcli` sin argumentos abre un asistente paso a paso para emitir, repetir una factura anterior, hacer notas de crédito y débito, consultar comprobantes y configurar todo sin recordar flags
|
|
28
|
-
- comandos para automatizar: cada paso del asistente muestra el comando equivalente
|
|
29
|
-
- consultas a ARCA sin emitir: últimos comprobantes, detalle de uno, estado de los servidores, tablas y cotización oficial
|
|
30
|
-
- integración real con ARCA
|
|
31
|
-
- Factura de Crédito Electrónica (FCE) completa: CBU, transferencia, anulación y consulta del régimen del receptor
|
|
32
|
-
- alícuotas de IVA, importes exentos y no gravados, moneda extranjera y período asociado
|
|
33
|
-
- validaciones locales con las reglas del manual de ARCA, para que los errores aparezcan antes de emitir
|
|
34
|
-
- PDF del comprobante con el QR de ARCA, con un plugin que se descarga solo si lo usás
|
|
35
|
-
|
|
36
|
-
## Dos formas de usarlo
|
|
37
|
-
|
|
38
|
-
**Modo interactivo**, para facturar de vez en cuando sin memorizar nada:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
npm install -g arcli
|
|
42
|
-
arcli
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
La primera vez ofrece una **configuración guiada** (CUIT, certificado, punto de venta). Después, un menú para emitir, repetir facturas, hacer notas, consultar y configurar:
|
|
18
|
+
CLI para previsualizar y emitir comprobantes electrónicos de ARCA (ex AFIP) desde la terminal. Sin emitir hasta que lo pedís, con validaciones locales y salida lista para automatizar.
|
|
46
19
|
|
|
47
20
|
<p align="center"><img src="https://raw.githubusercontent.com/LcsGrz/arcli/main/docs/assets/demo/interactivo.gif" alt="Modo interactivo de arcli emitiendo una Factura C en testing" width="760"></p>
|
|
48
21
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
**Comandos con flags**, para scripts, automatizaciones o agentes de IA:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
arcli fc -m 15000 --cs --consumidor-final --ir-cf # vista previa
|
|
55
|
-
arcli fc -m 15000 --cs --consumidor-final --ir-cf --emitir # emitir
|
|
56
|
-
arcli fc --cargar ./facturas.json --emitir --json # lote desde JSON, salida JSON
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
<p align="center"><img src="https://raw.githubusercontent.com/LcsGrz/arcli/main/docs/assets/demo/comandos.gif" alt="Vista previa de una Factura C y emisión con salida JSON filtrada con jq" width="760"></p>
|
|
60
|
-
|
|
61
|
-
Ver [Referencia del CLI](docs/cli-reference.md).
|
|
62
|
-
|
|
63
|
-
### PDF con el QR de ARCA
|
|
64
|
-
|
|
65
|
-
Con `--exportar-pdf`, o respondiendo que sí en el asistente, cada comprobante emitido queda en PDF, listo para mandarle al cliente. Ver [PDF de comprobantes](docs/pdf.md).
|
|
66
|
-
|
|
67
|
-
<p align="center"><img src="https://raw.githubusercontent.com/LcsGrz/arcli/main/docs/assets/demo/pdf-factura.png" alt="PDF de una Factura B generado por arcli, con datos de ejemplo" width="480"></p>
|
|
22
|
+
## Características
|
|
68
23
|
|
|
69
|
-
|
|
24
|
+
- **Modo interactivo:** `arcli` sin argumentos abre un asistente que guía la emisión, repite facturas anteriores, arma notas de crédito y débito, consulta comprobantes y configura el CLI. Cada paso muestra el comando equivalente.
|
|
25
|
+
- **Vista previa por defecto:** nada se emite sin `--emitir`.
|
|
26
|
+
- **Comprobantes:** Factura, Nota de Crédito y Nota de Débito A, B y C, y sus versiones de Factura de Crédito Electrónica (FCE), con CBU, transferencia, anulación y consulta del régimen del receptor.
|
|
27
|
+
- **Entrada y salida flexibles:** flags o JSON (incluso lotes); salida legible, `--json` o respuesta bruta de ARCA.
|
|
28
|
+
- **Validaciones locales** basadas en el manual de ARCA, para detectar errores antes de llamar al servicio.
|
|
29
|
+
- **Consultas sin emitir:** últimos comprobantes, detalle de uno, estado de los servidores, tablas de parámetros y cotización oficial.
|
|
30
|
+
- **PDF con el QR de ARCA** mediante un plugin que se descarga solo si lo usás.
|
|
70
31
|
|
|
71
|
-
|
|
32
|
+
## Instalación
|
|
72
33
|
|
|
73
34
|
Requiere Node.js 22.22.1 o superior.
|
|
74
35
|
|
|
@@ -76,131 +37,76 @@ Requiere Node.js 22.22.1 o superior.
|
|
|
76
37
|
npm install -g arcli
|
|
77
38
|
```
|
|
78
39
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
La forma más simple es abrir el asistente y seguir la **configuración guiada**:
|
|
40
|
+
## Configuración
|
|
82
41
|
|
|
83
|
-
|
|
84
|
-
arcli
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Si preferís hacerlo con comandos (por ejemplo, en un servidor), seguí los pasos 3 y 4. Para ver o crear la configuración:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
arcli config
|
|
91
|
-
```
|
|
42
|
+
Necesitás tu CUIT, un punto de venta y un certificado con su clave privada de ARCA. Si todavía no los tenés, seguí [Cómo obtener los certificados](docs/obtencion-certificados.md).
|
|
92
43
|
|
|
93
|
-
|
|
44
|
+
Lo más simple es correr `arcli` y seguir la configuración guiada. Para hacerlo por comandos (por ejemplo, en un servidor):
|
|
94
45
|
|
|
95
46
|
```bash
|
|
96
47
|
arcli config establecer cuit 20168598204
|
|
97
48
|
arcli config establecer puntoVenta 3
|
|
98
|
-
arcli config establecer concepto servicios
|
|
99
|
-
arcli config establecer ivaReceptor consumidor-final
|
|
100
|
-
arcli config establecer moneda ARS
|
|
101
|
-
arcli config establecer cotizacion 1
|
|
102
|
-
arcli config establecer emitir false
|
|
103
|
-
arcli config establecer bruto false
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### 4. Configurar credenciales
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
49
|
arcli config establecer cert.testing /ruta/al/certificado.crt
|
|
110
50
|
arcli config establecer key.testing /ruta/a/la/clave.key
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Si después querés usar producción:
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
arcli config establecer cert.produccion /ruta/al/certificado.crt
|
|
117
|
-
arcli config establecer key.produccion /ruta/a/la/clave.key
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### 5. Revisar el entorno activo
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
51
|
arcli config revisar
|
|
124
52
|
```
|
|
125
53
|
|
|
126
|
-
|
|
54
|
+
`arcli config revisar` verifica que el entorno activo esté listo para emitir. Todas las claves disponibles están en [Configuración](docs/configuration.md).
|
|
127
55
|
|
|
128
|
-
|
|
129
|
-
arcli fc -m 15000 --cs --consumidor-final --ir-cf
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### 7. Emitir de verdad
|
|
56
|
+
## Uso
|
|
133
57
|
|
|
134
58
|
```bash
|
|
135
|
-
arcli fc -m 15000 --cs --consumidor-final --ir-cf
|
|
59
|
+
arcli fc -m 15000 --cs --consumidor-final --ir-cf # vista previa de una Factura C
|
|
60
|
+
arcli fc -m 15000 --cs --consumidor-final --ir-cf --emitir # emitir
|
|
61
|
+
arcli fc --cargar ./facturas.json --emitir --json # lote desde JSON, salida JSON
|
|
62
|
+
arcli fc -m 15000 --cs --consumidor-final --ir-cf --emitir --exportar-pdf
|
|
136
63
|
```
|
|
137
64
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
ARCLI toma datos por flags, JSON o config, valida lo que puede localmente, arma el payload y — si corresponde — llama a ARCA. La prioridad es `flags > JSON > config > defaults`.
|
|
65
|
+
Otras consultas: `arcli ultimos`, `arcli consultar`, `arcli estado`, `arcli parametros`, `arcli fce-obligado`. Para ver todos los comprobantes y ejemplos: `arcli --ayuda` y `arcli ejemplos`.
|
|
141
66
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
## Seguridad: testing vs producción
|
|
67
|
+
<p align="center"><img src="https://raw.githubusercontent.com/LcsGrz/arcli/main/docs/assets/demo/comandos.gif" alt="Vista previa de una Factura C y emisión con salida JSON filtrada con jq" width="760"></p>
|
|
145
68
|
|
|
146
|
-
|
|
147
|
-
- `testing` usa `cert.testing` y `key.testing`.
|
|
148
|
-
- `produccion` usa `cert.produccion` y `key.produccion`.
|
|
149
|
-
- Para emitir realmente en producción hacen falta:
|
|
150
|
-
- `--produccion`
|
|
151
|
-
- `--emitir`
|
|
69
|
+
La prioridad de los valores es `flags > JSON > config > defaults`. Ver el [modelo mental](docs/mental-model.md) y la [referencia del CLI](docs/cli-reference.md).
|
|
152
70
|
|
|
153
|
-
|
|
71
|
+
### Testing y producción
|
|
154
72
|
|
|
155
|
-
|
|
156
|
-
arcli fa -m 15000 --cs --cuit 20168598204 --ir-ri \
|
|
157
|
-
--produccion \
|
|
158
|
-
--emitir
|
|
159
|
-
```
|
|
73
|
+
Por defecto se usa el entorno `testing`, con `cert.testing` y `key.testing`. Para emitir en producción hay que configurar `cert.produccion` y `key.produccion` y pasar `--produccion --emitir`.
|
|
160
74
|
|
|
161
75
|
## Documentación
|
|
162
76
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
- [
|
|
166
|
-
- [
|
|
167
|
-
- [
|
|
168
|
-
- [Configuración](docs/configuration.md)
|
|
77
|
+
El índice completo está en [docs/](docs/README.md). Lo principal:
|
|
78
|
+
|
|
79
|
+
- [Modo interactivo](docs/modo-interactivo.md) y [Patrones de uso](docs/usage-patterns.md)
|
|
80
|
+
- [Referencia del CLI](docs/cli-reference.md) y [Configuración](docs/configuration.md)
|
|
81
|
+
- [Entrada y salida](docs/input-output.md): formato del JSON
|
|
169
82
|
- [PDF de comprobantes](docs/pdf.md)
|
|
170
|
-
- [Cómo obtener los certificados
|
|
171
|
-
- [
|
|
172
|
-
- [
|
|
173
|
-
- [Troubleshooting](docs/troubleshooting.md)
|
|
174
|
-
- [Limitaciones actuales](docs/limitations.md)
|
|
175
|
-
- [Guía de desarrollo](docs/development.md)
|
|
176
|
-
- [Testing](docs/ui-smoke-checklist.md)
|
|
83
|
+
- [Cómo obtener los certificados](docs/obtencion-certificados.md)
|
|
84
|
+
- [Troubleshooting](docs/troubleshooting.md), [Reglas de validación](docs/validation-rules.md) y [Limitaciones](docs/limitations.md)
|
|
85
|
+
- [llms.txt](llms.txt): referencia condensada para agentes de IA con acceso a terminal
|
|
177
86
|
- [Changelog](CHANGELOG.md)
|
|
178
|
-
- [Cómo contribuir](CONTRIBUTING.md)
|
|
179
|
-
- [llms.txt](llms.txt): referencia condensada para que un agente/IA con acceso a terminal ejecute el CLI directamente
|
|
180
|
-
- [Seguridad](SECURITY.md)
|
|
181
87
|
|
|
182
|
-
##
|
|
88
|
+
## Desarrollo
|
|
183
89
|
|
|
184
|
-
|
|
90
|
+
```bash
|
|
91
|
+
git clone https://github.com/LcsGrz/arcli.git
|
|
92
|
+
cd arcli
|
|
93
|
+
yarn install
|
|
94
|
+
yarn dev --ayuda
|
|
95
|
+
```
|
|
185
96
|
|
|
186
|
-
|
|
187
|
-
- [Arpit Bhayani](https://github.com/arpitbbhayani) por cederme el paquete de npm bajo el nombre de 'arcli', estaba siendo utilizado por el.
|
|
97
|
+
Antes de abrir un PR: `yarn typecheck`, `yarn lint` y `yarn test`. Más en la [guía de desarrollo](docs/development.md) y la [arquitectura](docs/architecture.md).
|
|
188
98
|
|
|
189
|
-
|
|
99
|
+
## Contribuir
|
|
190
100
|
|
|
191
|
-
|
|
101
|
+
Leé [CONTRIBUTING.md](CONTRIBUTING.md). Para vulnerabilidades, ver [SECURITY.md](SECURITY.md); no subas certificados, claves ni tokens reales a issues ni PRs.
|
|
192
102
|
|
|
193
|
-
|
|
103
|
+
## Agradecimientos
|
|
194
104
|
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
|
|
105
|
+
- [`@arcasdk/core`](https://github.com/ralcorta/arcasdk) y [`@arcasdk/pdf`](https://www.afipts.com/packages/pdf), de [Rodrigo Alcorta](https://github.com/ralcorta).
|
|
106
|
+
- [Arpit Bhayani](https://github.com/arpitbbhayani), por ceder el nombre `arcli` en npm.
|
|
107
|
+
|
|
108
|
+
Si el proyecto te resulta útil, podés dejar una estrella o invitarme un [Cafecito](https://cafecito.app/lcsgrz).
|
|
198
109
|
|
|
199
110
|
## Licencia
|
|
200
111
|
|
|
201
112
|
MIT © [LcsGrz](https://github.com/LcsGrz). Ver [LICENSE](LICENSE).
|
|
202
|
-
|
|
203
|
-
## Proyecto
|
|
204
|
-
|
|
205
|
-
- repo: [github.com/LcsGrz/arcli](https://github.com/LcsGrz/arcli)
|
|
206
|
-
- issues: [github.com/LcsGrz/arcli/issues](https://github.com/LcsGrz/arcli/issues)
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "1.7.
|
|
1
|
+
export declare const CLI_VERSION = "1.7.1";
|
package/dist/cli/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const CLI_VERSION = '1.7.
|
|
1
|
+
export const CLI_VERSION = '1.7.1';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/llms.txt
CHANGED
|
@@ -94,7 +94,6 @@ agentes, CI), nunca pregunta** — se comporta como si fuera dry-run salvo que s
|
|
|
94
94
|
"dia": 10,
|
|
95
95
|
"emitir": false,
|
|
96
96
|
"previsualizar": true,
|
|
97
|
-
"confirmarProduccion": false,
|
|
98
97
|
"comprobanteAsociado": { "atajo": "fc", "cuit": "20123456789", "numero": 10, "puntoVenta": 3 },
|
|
99
98
|
"pdf": true,
|
|
100
99
|
"descripcion": "Servicios de marzo",
|
|
@@ -188,4 +187,5 @@ testing van a `testing/`), `pdfNavegador` (ruta a Chrome/Chromium/Edge), `emisor
|
|
|
188
187
|
- `docs/validation-rules.md` y `docs/input-output.md`: reglas de validación y formatos de entrada/salida.
|
|
189
188
|
- `docs/troubleshooting.md`: errores comunes de ARCA y como resolverlos.
|
|
190
189
|
- `docs/pdf.md`: PDF de comprobantes, plugin, carpeta y nombre del archivo.
|
|
190
|
+
- `docs/modo-interactivo.md`: asistente interactivo (un agente no debe usarlo).
|
|
191
191
|
- `AGENTS.md`: para agentes que van a modificar el código de este repo (no para usar el CLI).
|