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 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.0...HEAD
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
  [![npm version](https://img.shields.io/npm/v/arcli.svg)](https://www.npmjs.com/package/arcli)
4
4
  [![CI](https://github.com/LcsGrz/arcli/actions/workflows/ci.yml/badge.svg)](https://github.com/LcsGrz/arcli/actions/workflows/ci.yml)
5
5
  [![license: MIT](https://img.shields.io/npm/l/arcli.svg)](LICENSE)
6
- [![node >=22.22.1](https://img.shields.io/node/v/arcli.svg)](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
- Emití o previsualizá comprobantes ARCA desde tu terminal, con un flujo claro, seguro y rapido en lugar de utilizar UI.
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
- Pregunta solo lo necesario, muestra la vista previa y el comando equivalente, y pide confirmación antes de emitir. Ver [Modo interactivo](docs/modo-interactivo.md).
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
- ## Inicio rápido
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
- ### 1. Instalar
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
- ### 2. Configurar
80
-
81
- La forma más simple es abrir el asistente y seguir la **configuración guiada**:
40
+ ## Configuración
82
41
 
83
- ```bash
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
- ### 3. Guardar defaults útiles
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
- ### 6. Previsualizar el primer comprobante
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
- ```bash
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 --emitir
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
- ## Cómo funciona
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
- Ver [docs/mental-model.md](docs/mental-model.md) para el modelo completo.
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
- - Si no pasás nada, el entorno es `testing`.
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
- Ejemplo:
71
+ ### Testing y producción
154
72
 
155
- ```bash
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
- - [Modelo mental](docs/mental-model.md)
164
- - [Glosario](docs/glossary.md)
165
- - [Referencia del CLI](docs/cli-reference.md)
166
- - [Modo interactivo](docs/modo-interactivo.md)
167
- - [Patrones de uso](docs/usage-patterns.md)
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 de ARCA](docs/obtencion-certificados.md)
171
- - [Entrada y salida](docs/input-output.md)
172
- - [Reglas de validación](docs/validation-rules.md)
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
- ## ❤️ Agradecimientos
88
+ ## Desarrollo
183
89
 
184
- ARCLI existe apoyado en trabajo open source que ya resolvió partes difíciles del problema. En particular:
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
- - [`@arcasdk/core`](https://github.com/ralcorta/arcasdk) y [`@arcasdk/pdf`](https://www.afipts.com/packages/pdf), creadas por [Rodrigo Alcorta](https://github.com/ralcorta)
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
- Y la comunidad open source que mantiene herramientas de este estilo vivas y usables
99
+ ## Contribuir
190
100
 
191
- ## ☕ Apoyar el proyecto
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
- ARCLI es open source. Mantenerlo, probarlo contra servicios reales y documentarlo bien lleva tiempo.
103
+ ## Agradecimientos
194
104
 
195
- - Si queres darme un mimo: [Cafesito](https://cafecito.app/lcsgrz)
196
- - Reporta issues claros, repros buenos y feedback real de uso
197
- - Dejame tu estrellita ★ :)
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)
@@ -1 +1 @@
1
- export declare const CLI_VERSION = "1.7.0";
1
+ export declare const CLI_VERSION = "1.7.1";
@@ -1,2 +1,2 @@
1
- export const CLI_VERSION = '1.7.0';
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).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcli",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "CLI para previsualizar y emitir comprobantes ARCA desde terminal, con validaciones claras y salida lista para automatizar",
5
5
  "keywords": [
6
6
  "arca",