mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 01:35:36 +00:00
No description
- Rust 82.3%
- Shell 11.5%
- Astro 2%
- Nix 1.3%
- JavaScript 1.3%
- Other 1.6%
- release.yml: build static musl Linux binaries (no host glibc requirement), add darwin-x64, publish SHA256SUMS, allow workflow_dispatch for an existing tag (v0.2.3 has no binaries yet), and run build-only on PRs that touch the workflow or installer - install.js: verify downloads against the release SHA256SUMS (IDX_BINARY_SHA256 for overrides), add a 60s request timeout, use stream.pipeline so truncated downloads fail, and skip the download inside the source checkout - idx.js: forward SIGTERM/SIGHUP to the binary and keep the signal exit status - package.json: drop the prepare script (no Rust toolchain needed to pack/publish) - npm-smoke.sh: read the tarball name from npm pack, use grep over rg - .gitignore: ignore /bin/ and *.tgz - docs: musl targets, checksums, pnpm/bun opt-in, manual release flow Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017a5Cv5Z1NzdYKgKnTiAF4E |
||
|---|---|---|
| .codex/skills/idx-release | ||
| .github/workflows | ||
| contrib/systemd | ||
| docs | ||
| scripts | ||
| src | ||
| tests | ||
| .envrc | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| FEATURE_SPEC.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| TODO.md | ||
idx-cli
CLI tool for Indonesian stock market (IDX) analysis, built in Rust for humans and AI agents.
Installation
Cargo
cargo install idx-cli
This installs the idx binary. idx-cli currently requires Rust 1.85+.
If you use the Cargo install path directly, some commands also require helper tools at runtime:
- Yahoo-authenticated flows require a
curl_chrome*binary fromcurl-impersonate-chromeinPATH, orIDX_CURL_IMPERSONATE_BINpointing at that binary. - Ownership PDF import requires
mutoolfrom MuPDF inPATH.
Install those helpers with your OS package manager, or use the Nix app/package below so they are wrapped automatically.
Nix
nix run github:0xrsydn/idx-cli -- version
nix profile install github:0xrsydn/idx-cli#default
The Nix app wraps idx with curl-impersonate and mupdf, so the Yahoo auth and ownership PDF helper tools are available automatically.
Quick start
idx stocks quote BBCA
idx stocks quote BBCA,BBRI,BMRI
idx -o json stocks quote BBCA
idx stocks history BBCA --period 3mo
idx config init
idx cache info
idx --offline stocks quote BBCA
Features
- Provider abstraction (swap data sources behind one interface)
- Local file cache with TTL
- Offline mode with stale-cache fallback
- Human table output and machine-friendly JSON output
Configuration
Config file location:
~/.config/idx/config.toml
You can configure using:
- Config file (
idx config init,idx config set) - Environment variables
- CLI flags
Precedence order:
- CLI flags
- Environment variables
- Config file
- Built-in defaults
Agent-friendly usage
- Use
idx --helpand subcommand help for discoverability - Use
-o json/--output jsonfor structured output
Development
nix develop
cargo test
Prek hooks are configured for quality gates:
- pre-commit:
cargo fmt --check+cargo clippy -- -D warnings - pre-push:
cargo test
License
MIT