npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

tiime-cli

v2.4.0

Published

CLI for Tiime accounting

Downloads

233

Readme

Tiime CLI

CLI pour la comptabilite Tiime — pilotez votre compta depuis le terminal.

Sortie JSON par defaut, ideal pour les agents IA et l'automatisation.

Fonctionnalites

  • Factures — lister, creer, dupliquer, modifier, envoyer, telecharger le PDF, supprimer
  • Devis — lister, creer, envoyer, telecharger le PDF
  • Clients — consulter, creer, rechercher
  • Banque — soldes, comptes, transactions (filtres date/recherche), operations non imputees
  • Notes de frais — lister, creer, consulter
  • Documents — parcourir, uploader, telecharger, categories
  • Labels & Tags — labels personnalises, labels standards, tags
  • Multi-format — sortie JSON (defaut), table ou CSV via --format
  • Bilingue — aide en francais ou anglais (detection automatique de la langue systeme)
  • Retry automatique — retry avec backoff sur erreurs 429/5xx

Installation

Via npm

npm install -g tiime-cli

Via Homebrew

brew tap yabbal/tap
brew install tiime

Depuis les sources

git clone https://github.com/yabbal/tiime.git
cd tiime
pnpm install
pnpm build
pnpm link --global

Verifiez que l'installation fonctionne :

tiime --help

Autocompletion shell

# zsh (ajoutez a ~/.zshrc)
eval "$(tiime completion --shell zsh)"

# bash (ajoutez a ~/.bashrc)
eval "$(tiime completion --shell bash)"

# fish
tiime completion --shell fish | source

Configuration

1. Authentification

Mode interactif :

tiime auth login

Mode script / CI :

tiime auth login --email [email protected] --password votre-mot-de-passe

Verifier le statut :

tiime auth status

2. Selection de l'entreprise

Listez vos entreprises puis selectionnez-en une :

tiime company list
tiime company use --id 12345

Verifiez l'entreprise active :

tiime company get

3. Langue

L'aide s'affiche automatiquement dans la langue de votre systeme (francais ou anglais).

Pour forcer une langue :

# Forcer le francais
TIIME_LANG=fr tiime --help

# Forcer l'anglais
TIIME_LANG=en tiime --help

# Ou exporter la variable
export TIIME_LANG=en
tiime invoices --help

Utilisation

Resume rapide

tiime status                   # Resume avec soldes, factures, devis, transactions

Authentification

tiime auth login               # Connexion interactive
tiime auth logout              # Deconnexion
tiime auth status              # Statut du token

Entreprise

tiime company list             # Lister les entreprises
tiime company get              # Details de l'entreprise active
tiime company use --id ID      # Definir l'entreprise active
tiime company me               # Info utilisateur courant

Factures

# Lister
tiime invoices list
tiime invoices list --status paid
tiime invoices list --sort invoice_number:asc
tiime invoices list --all                        # Toutes les pages
tiime invoices list --format table               # Affichage tableau

# Details
tiime invoices get --id 42

# Creer une facture simple
tiime invoices create \
  --client-id 100 \
  --description "Prestation de conseil" \
  --unit-price 800 \
  --quantity 5 \
  --unit day \
  --vat normal

# Creer une facture multi-lignes
tiime invoices create \
  --client-id 100 \
  --lines '[{"description":"Dev","quantity":20,"unit_price":540,"unit":"day"},{"description":"Design","quantity":5,"unit_price":450,"unit":"day"}]'

# Previsualiser sans creer
tiime invoices create --client-id 100 --description "Test" --unit-price 500 --dry-run

# Modifier
tiime invoices update --id 42 --title "Nouveau titre"

# Dupliquer
tiime invoices duplicate --id 42
tiime invoices duplicate --id 42 --date 2026-03-01 --quantity 18

# Envoyer par email
tiime invoices send --id 42 --email [email protected]

# Telecharger le PDF
tiime invoices pdf --id 42
tiime invoices pdf --id 42 --output ma-facture.pdf

# Supprimer un brouillon
tiime invoices delete --id 42

Devis

tiime quotations list              # Lister les devis
tiime quotations get --id 10       # Details d'un devis
tiime quotations create \          # Creer un devis
  --client-id 100 \
  --description "Mission conseil" \
  --unit-price 600 \
  --quantity 10
tiime quotations pdf --id 10       # Telecharger le PDF
tiime quotations send --id 10 --email [email protected]  # Envoyer

Clients

tiime clients list                 # Lister les clients actifs
tiime clients list --archived      # Inclure les archives
tiime clients get --id 100         # Details d'un client
tiime clients create --name "ACME" --email [email protected]
tiime clients search --query "acme"

Banque

tiime bank accounts                # Lister les comptes bancaires
tiime bank balance                 # Soldes de tous les comptes
tiime bank transactions            # Dernieres transactions
tiime bank transactions --from 2026-01-01 --to 2026-01-31
tiime bank transactions --search "loyer" --all
tiime bank unimputed               # Transactions non imputees

Notes de frais

tiime expenses list                # Lister les notes de frais
tiime expenses get --id 5          # Details d'une note
tiime expenses create --name "Deplacement client"  # Creer

Documents

tiime documents list               # Lister les documents
tiime documents list --type receipt # Filtrer par type
tiime documents categories         # Categories disponibles
tiime documents upload --file facture.pdf
tiime documents download --id 123 --output doc.pdf

Labels & Tags

tiime labels list                  # Labels personnalises
tiime labels standard              # Labels standards (plan comptable)
tiime labels tags                  # Tags

Outils

tiime open                         # Ouvrir Tiime dans le navigateur
tiime open invoices                # Ouvrir la section factures
tiime version                      # Afficher la version

Formats de sortie

Toutes les commandes de listing supportent --format :

tiime invoices list --format json    # JSON (defaut)
tiime invoices list --format table   # Tableau ASCII
tiime invoices list --format csv     # CSV
tiime bank balance --format table
tiime clients list --format csv > clients.csv

Pipe avec jq

La sortie JSON se combine naturellement avec jq :

# Noms des clients
tiime clients list | jq '.[].name'

# Total des factures payees
tiime invoices list --status paid --all | jq '[.[].total_including_taxes] | add'

# Transactions > 1000 EUR
tiime bank transactions --all | jq '[.[] | select(.amount > 1000)]'

# Solde du premier compte
tiime bank balance | jq '.[0].balance_amount'

Workflows

Creer et dupliquer une facture mensuelle

# Premier mois : creer la facture de reference
tiime invoices create \
  --client-id 100 \
  --description "Prestation mensuelle - Janvier 2026" \
  --unit-price 540 \
  --quantity 20 \
  --unit day

# Mois suivants : dupliquer en ajustant la date et la quantite
tiime invoices duplicate --id 42 --date 2026-02-01 --quantity 18

Voir un resume financier

# Resume complet (soldes, factures, devis, clients)
tiime status

# Ou manuellement avec jq
tiime bank balance | jq '.[] | {name, balance_amount}'
tiime invoices list --status sent --all | jq 'length'
tiime bank unimputed | jq 'length'

Explorer les transactions du mois

# Transactions de janvier
tiime bank transactions --from 2026-01-01 --to 2026-01-31 --all \
  | jq 'group_by(.amount > 0) | {depenses: .[0] | length, revenus: .[1] | length}'

# Chercher une transaction specifique
tiime bank transactions --search "adobe" --all

Exporter des donnees en CSV

# Via --format csv
tiime invoices list --all --format csv > factures.csv

# Ou avec jq pour un CSV personnalise
tiime clients list \
  | jq -r '["id","nom","ville"], (.[] | [.id, .name, .city]) | @csv' \
  > clients.csv

SDK

Le SDK TypeScript est disponible dans un package separe : tiime-sdk

npm install tiime-sdk
import { TiimeClient } from "tiime-sdk";

const client = new TiimeClient({ companyId: 12345 });
const invoices = await client.invoices.list({ status: "paid" });

Voir la documentation SDK pour plus de details.

Variables d'environnement

| Variable | Description | Defaut | |----------|-------------|--------| | TIIME_LANG | Langue de l'aide (fr ou en) | Detection automatique |

Claude Code Skill

Ce CLI est concu pour etre utilise comme skill Claude Code. L'agent peut piloter votre comptabilite Tiime directement depuis une conversation :

  • Sortie JSON structuree, facilement parseable par l'IA
  • Toutes les commandes sont non-interactives (sauf auth login sans arguments)
  • Combinable avec jq pour des analyses complexes

Pour l'activer, ajoutez le skill dans votre configuration Claude Code (.claude/skills/).

Stack technique

| Outil | Role | |-------|------| | TypeScript | Langage | | citty | Framework CLI | | ofetch | Client HTTP | | @clack/prompts | Prompts interactifs | | cli-table3 | Rendu tableau | | tsup | Build | | Biome | Linter & formatter | | Vitest | Tests |

Licence

MIT — Youness Abbal