@fhiron/cli
v0.1.1
Published
Fhiron CLI — automatiza validación FHIR® contra CL Core v1.9.4 desde la terminal, CI/CD y pre-commit hooks. Mismo motor que @fhiron/mcp-connector. Bilingüe es/en, zero dependencies.
Downloads
276
Maintainers
Readme
@fhiron/cli
Fhiron CLI — automatiza validación FHIR® contra CL Core v1.9.4 desde la terminal, CI/CD y pre-commit hooks.
Es el tercer canal de Fhiron junto a @fhiron/mcp-connector (agentes IA) y el futuro @fhiron/sdk (integración en código):
Conversa con tu agente vía MCP. Automatiza con CLI. Embebe con SDK. Misma API, misma cuota, mismo CL Core.
Zero dependencies de runtime (excepto @fhiron/linter).
Instalación
npm i -g @fhiron/cli
fhiron --versionTambién puedes usarlo sin instalar globalmente:
npx @fhiron/cli validate path/to/patient.jsonComandos
| Comando | Qué hace | Requiere login | Descuenta cuota |
|---|---|---|---|
| fhiron init | Crea fhiron.config.json en el proyecto | no | no |
| fhiron login | Autentica vía device-code (browser) | — | no |
| fhiron logout | Borra credenciales locales | no | no |
| fhiron lint [glob] | Lintea archivos FHIR localmente | no | no |
| fhiron validate [glob] | Valida contra api.fhiron.cl | sí | sí |
| fhiron status | Plan, cuota, FHIR Score | sí | no |
Quick start
# 1. En tu proyecto
fhiron init
fhiron login
# 2. Lintea localmente (gratis)
fhiron lint "src/**/*.fhir.json"
# 3. Valida contra CL Core (descuenta cuota)
fhiron validate examples/patient.jsonUso en CI (GitHub Actions)
name: FHIR validation
on: [pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 20 }
- run: npx @fhiron/cli lint "fhir/**/*.json"
- run: npx @fhiron/cli validate "fhir/**/*.json"
env:
FHIRON_API_KEY: ${{ secrets.FHIRON_API_KEY }}Para CI usa fhiron login --token $FHIRON_API_KEY o exporta FHIRON_API_KEY y los comandos lo recogen automáticamente.
Configuración
Por proyecto (fhiron.config.json)
{
"tenant": "mi-tenant",
"profile": "[email protected]",
"validate": {
"include": ["**/*.fhir.json", "**/fhir/**/*.json"],
"exclude": ["**/node_modules/**"]
},
"lint": {
"include": ["**/*.fhir.json"]
}
}Por usuario (~/.fhiron/config.json)
Generado por fhiron login. Permisos 0600. Contiene API key — no la subas al repositorio.
Variables de entorno
| Variable | Uso |
|---|---|
| FHIRON_API_KEY | Override de la API key (útil en CI) |
| FHIRON_API_URL | Override del endpoint (default https://api.fhiron.cl) |
| FHIRON_NO_BROWSER | No intenta abrir el browser en fhiron login |
| NO_COLOR / FHIRON_NO_COLOR | Desactiva colores ANSI |
| FHIRON_DEBUG | Imprime stack traces completos en errores inesperados |
Flags comunes
--json— output programático (donde aplica)--quiet— solo errores, oculta warnings--help,-h— ayuda del comando--version,-v— versión instalada
Diferencia con @fhiron/mcp-connector
| Surface | Cuándo usar |
|---|---|
| MCP | Conversación y razonamiento dentro de Claude Code, Cursor, Continue, etc. El agente lee/escribe FHIR usando tools fhiron_* |
| CLI | Automatización, CI/CD, pre-commit hooks, sanity checks rápidos en terminal, headless servers donde no hay agente |
Ambos consumen la misma API (api.fhiron.cl), descuentan la misma cuota del tenant y usan el mismo motor de validación (CL Core 1.9.4 + perfiles chilenos).
Exit codes
| Code | Significado |
|---|---|
| 0 | Todo OK |
| 1 | Error funcional (validación falló, sin login, etc.) |
| 2 | Error operacional (no se pudo conectar, dep faltante) |
Soporte
- Documentación: docs.fhiron.cl/cli
- Issues: github.com/Fhironstack/skills/issues
- Dashboard: app.fhiron.cl/dashboard
Licencia
MIT
