mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
Phase 3c of docs/DESIGN.md. `ownership` handlers are now argument parsing, one idx-core call, and rendering. - investor.rs: Investor (also Idx::investor()) with releases, ticker, entity, search, cross_holders, concentration, flow, changes, graph, unresolved, map_alias, merge_entities, discover, sync, and import. Import orchestration (input resolution, download, SHA-256 dedup, PDF/XLSX/archive parsing, entity resolution, release write) moves from the CLI unchanged. - Typed inputs: ImportSource, HolderSource, ConcentrationRank, and parse_report_family, with the same error messages. - CoreConfig gains an ownership_db override; db::open_db_at opens an explicit path. idx-cli no longer depends on rusqlite, sha2, or ureq at runtime. - Behavior note: an invalid `ticker --source` or `concentration --by` is now rejected before the database file is opened (and created); the error and exit code are unchanged. - Fix: building idx-cli without the ownership feature no longer warns about the ownership-only `blue` style. All 143 goldens unchanged; 170 core + 7 CLI unit tests and 62 CLI tests pass; clippy clean for default, release, testing, and no-default feature sets. Live A/B against main: 16/16 stocks identical; ownership discover got IDX 403 on both (exit 4 vs 1 is the phase 1 change). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1 KiB
TOML
41 lines
1 KiB
TOML
[package]
|
|
name = "idx-cli"
|
|
description = "CLI tool for Indonesian stock market (IDX) analysis"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
readme = "../../README.md"
|
|
keywords = ["idx", "stocks", "indonesia", "cli", "finance"]
|
|
categories = ["command-line-utilities", "finance"]
|
|
include = ["/Cargo.toml", "/LICENSE", "/src/**"]
|
|
|
|
[[bin]]
|
|
name = "idx"
|
|
path = "src/main.rs"
|
|
|
|
[features]
|
|
default = ["ownership"]
|
|
ownership = ["idx-core/ownership"]
|
|
|
|
[dependencies]
|
|
idx-core = { workspace = true, features = ["clap"] }
|
|
clap.workspace = true
|
|
clap_complete = "4"
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
comfy-table = "7"
|
|
owo-colors = "4"
|
|
toml.workspace = true
|
|
chrono.workspace = true
|
|
|
|
[dev-dependencies]
|
|
# Tests drive the binary with the mock provider; release builds exclude it.
|
|
idx-core = { workspace = true, features = ["testing"] }
|
|
assert_cmd = "2"
|
|
predicates = "3"
|
|
rusqlite.workspace = true
|
|
sha2.workspace = true
|
|
zip.workspace = true
|