nlbcli
v0.0.3
Published
A CLI tool for managing NLB Tutunska accounts and cards.
Readme
nlbcli
Unofficial CLI for NLB Klik (НЛБ Банка АД Скопје). Check balances, list transactions, view card details, and more — straight from the terminal.
This is a Typescript implementation of the nlbcli which was written in Python, updated to support notification-based login.
[!CAUTION] This tool is not developed or endorsed by НЛБ Банка АД Скопје. Use at your own risk.
Prerequisites
- Node.js >= 18
Install
npm install nlbcli -gYou can add code completions by running:
source <(nlbcli --completions zsh)You can replace zsh with bash or sh or fish.
If you want to also use this CLI with your AI agent, you can install the following skill:
npx skills add ivasilov/nlbcliAuthentication
nlbcli login --username <your-username>This sends a push notification to your phone. Once approved, the session is saved to ~/.nlbcli/cookies.json so subsequent commands work without re-authenticating. Expired sessions are detected automatically and trigger re-authentication.
Warning: Your session cookie is stored in plaintext at
~/.nlbcli/cookies.json. Keep this directory safe.
Commands
Accounts
| Command | Description |
|---------|-------------|
| nlbcli accounts list | List account IDs |
| nlbcli accounts balance <ACCOUNT_ID> | Show account balance |
| nlbcli accounts transactions <ACCOUNT_ID> | List recent transactions |
| nlbcli accounts reservations <ACCOUNT_ID> | Show pending reservations |
Transaction filters:
nlbcli accounts transactions <ACCOUNT_ID> \
--start="01.01.2024" \
--end="30.01.2024" \
--name="EVN" \
--type="out"Cards
| Command | Description |
|---------|-------------|
| nlbcli cards list | List card IDs |
| nlbcli cards balance <CARD_ID> | Show card balance and details |
| nlbcli cards transactions <CARD_ID> | List card transactions |
Output formats
Use --format to control output: tab (default for balance), csv, json, xls (default for transactions), pdf. File exports (xls, pdf) are saved to a downloads/ directory.
Run nlbcli --help for all available commands and options.
How it works
Built with TypeScript using Effect for the CLI framework. Authentication goes through NLB Klik's push notification flow, then plain fetch requests with the saved session cookie handle all interactions. HTML responses are parsed with Cheerio.
