sharesight-cli
v0.1.2
Published
Unofficial CLI client for Sharesight
Downloads
406
Maintainers
Readme
sharesight-cli
Unofficial CLI client for Sharesight, designed with AI agent workflows in mind.
Commands
sharesight auth loginsharesight auth statussharesight auth logoutsharesight list portfoliossharesight list groupingssharesight defaults set [--portfolio <id-or-name>] [--grouping <grouping-or-custom-name-or-id>] [--include-sales|--exclude-sales] [--format <json|jsonl>]sharesight defaults showsharesight get performance [--portfolio <id-or-name>] [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD] [--include-sales|--exclude-sales] [--grouping <grouping-or-custom-name-or-id>] [--format <json|jsonl>]
Installation
Install globally (recommended for regular use):
npm install -g sharesight-cliRun without installing globally:
npx sharesight-cli --helpDevelopment
For local development:
npm install
npm run buildRun during development:
npm run dev -- --helpAuthentication
Each user uses their own Sharesight OAuth client_id and client_secret.
Paying Sharesight subscribers can contact Sharesight support and ask them to provision an API account for personal use.
You can provide credentials in two ways:
- Recommended for interactive use:
sharesight auth login- Credentials are stored in OS secure storage when available (
secret-toolon Linux,securityon macOS). - If secure storage is unavailable, the CLI falls back to a local credentials file with restricted permissions and prints a warning.
- Recommended for automation/CI:
- Set
SHARESIGHT_CLIENT_IDandSHARESIGHT_CLIENT_SECRET.
Use sharesight auth status to see which credential backend is currently active.
Defaults
Set defaults once, then run report commands without repeating flags.
- Show current defaults:
sharesight defaults show
- Set default portfolio and grouping together:
sharesight defaults set --portfolio "Main Portfolio" --grouping market
- Set only one default:
sharesight defaults set --portfolio 123sharesight defaults set --grouping "Long Term"sharesight defaults set --include-salessharesight defaults set --exclude-salessharesight defaults set --format jsonl
Lists
- Portfolios:
sharesight list portfolios
- Groupings (built-in + custom):
sharesight list groupings
Get performance
sharesight get performance --format json
sharesight get performance --portfolio 123 --format json
sharesight get performance --start-date 2024-01-01 --end-date 2024-12-31 --include-sales
sharesight get performance --exclude-sales
sharesight get performance --grouping market
sharesight get performance --grouping 123
sharesight get performance --grouping "Long Term"- If
--portfoliois omitted,get performanceuses the default portfolio fromdefaults set. - If
--groupingis omitted,get performanceuses the default grouping fromdefaults setor otherwise falls back to the Sharesight default. - If
--include-sales/--exclude-salesis omitted,get performanceuses the sales default fromdefaults setor otherwise falls back to the Sharesight default. - If
--formatis omitted,get performanceuses the output format default fromdefaults set(orjsonif unset). --groupingaccepts:- standard grouping names (
market,currency, etc.) - custom grouping ID (e.g.
123) - custom grouping exact name (e.g.
"Long Term")
- standard grouping names (
Global options:
--base-url(defaulthttps://api.sharesight.com)--timeout-ms(default30000)
Output formats
json(default): pretty JSON output (recommended for AI agents)jsonl: one JSON record per line (best for pipelines)
Development checks
npm run lint
npm run test
npm run build