Skip to content

@insourcia/cli est un client en ligne de commande générique pour les tools RPC. Zéro dépendance runtime, installable via npx.

Via npx (sans installation persistante) :

Terminal window
npx @insourcia/cli --help

Installation globale :

Terminal window
npm install -g @insourcia/cli
insourcia --help

Requiert Node.js ≥ 20.

Deux façons de fournir la clé API :

Terminal window
# Via env var (recommandé pour scripts CI)
export INSOURCIA_API_TOKEN=isk_xxx
# Ou via flag
insourcia tools list --token isk_xxx

Override de l’URL (utile pour tests sur staging) :

Terminal window
export INSOURCIA_API_BASE_URL=https://staging.insourcia.io

Défaut : https://app.insourcia.io.

Terminal window
insourcia tools list

Combine avec jq :

Terminal window
insourcia tools list | jq '.tools[].name'
# "search_companies"
# "get_company"
# ...
Terminal window
insourcia tools call <name> --input '<json>'

Exemples :

Terminal window
insourcia tools call search_companies --input '{"query":"vinci","limit":3}'
insourcia tools call get_company --input '{"siren":"552120222"}'
insourcia tools call get_financials --input '{"siren":"552120222","years":5}'
Terminal window
insourcia tools call search_companies --input @search-params.json
Terminal window
echo '{"siren":"552120222"}' | insourcia tools call get_company --input -

Utile pour chaîner :

Terminal window
insourcia tools call search_companies --input '{"query":"vinci"}' \
| jq '{siren: .data[0].siren}' \
| insourcia tools call get_financials --input -

Par défaut, la commande unwrap l’envelope {success, data} et renvoie juste data. Plus pratique pour piper.

Pour conserver l’envelope (utile en debug) :

Terminal window
insourcia tools call get_company --input '{"siren":"552120222"}' --raw
# {"success": true, "data": {...}}
  • 0 : succès
  • 1 : erreur d’usage (token manquant, JSON invalide, commande inconnue)
  • 2 : erreur API (4xx/5xx) ou réseau (ECONNREFUSED, timeout)

Permet d’enchaîner en bash :

Terminal window
if insourcia tools call get_company --input '{"siren":"552120222"}' > /dev/null 2>&1; then
echo "OK"
else
echo "Erreur — code $?"
fi
Terminal window
insourcia tools call get_company --input '{"siren":"552120222"}' --raw \
| jq -r '.success'
Terminal window
for siren in $(cat sirens.txt); do
insourcia tools call get_financials --input "{\"siren\":\"$siren\"}" \
| jq -r '[.exercices[] | [.annee, .chiffre_affaires, .resultat_net]] | @csv'
done > export.csv
Terminal window
insourcia tools list --base-url https://staging.insourcia.io > /dev/null \
&& echo "✓ Staging OK" \
|| echo "✗ Staging KO"