@never2average-does-npm/cli
v0.1.31
Published
Open-source CLI for technical finance workflows across FP&A, repositories, DB sandboxes, cloud cost analysis, and local agent tooling.
Maintainers
Readme
ThinWedge
ThinWedge is an open-source CLI for technical finance workflows.
It is built for finance engineers, data engineers, infra engineers, and technical FP&A teams who work across spreadsheets, repositories, Postgres, cloud cost data, DB sandboxes, approvals, and agent-assisted analysis.
ThinWedge runs locally as a terminal UI and CLI. It keeps workspace state under your ThinWedge home directory, connects to provider APIs with an OpenRouter-compatible API token, and gives agents controlled access to files, shell commands, local state, MCP tools, and finance-specific workflows.
Try It In 5 Minutes
Install the published npm package:
npm install -g @never2average-does-npm/cliConfirm the CLI resolves:
thinwedge --versionAuthenticate before starting interactive mode:
thinwedge loginThen run one of the smallest useful workflows:
thinwedge exec "summarize this repository and identify the finance or data workflows it contains"Or open the interactive terminal UI:
thinwedgeIf install fails, open an issue with your OS, CPU architecture, Node version, and the exact terminal output:
https://github.com/never2average/fpna-thinwedge/issues
Current Release
The current public release is available from npm and GitHub:
- npm:
@never2average-does-npm/cli - GitHub Release: https://github.com/never2average/fpna-thinwedge/releases/latest
- Supported package targets: Linux x64, Linux ARM64, macOS x64, macOS ARM64, Windows x64, and Windows ARM64
- Linux packages include the separate
thinwedge-linux-sandboxbinary
Quick Start
Install ThinWedge globally from npm if you have not already:
npm install -g @never2average-does-npm/cliAuthenticate before starting interactive mode. In a real terminal, thinwedge login
prompts for the required OpenRouter-compatible API token and optional capability
config such as Artificial Analysis, RunPod, AWS profile/region values, and Neon
DB sandbox metadata:
thinwedge login
# Enter OpenRouter-compatible API key: ...
# ARTIFICIAL_ANALYSIS_API_KEY (...) [optional]: ...
# RUNPOD_API_KEY (...) [optional]: ...
# AWS_PROFILE (...) [optional]: ...
# AWS_REGION (...) [optional]: ...
# THINWEDGE_NEON_API_KEY (...) [optional]: ...
# THINWEDGE_NEON_PROJECT_ID (...) [optional]: ...Or set the provider token in the environment first:
export OPENROUTER_API_KEY=...
thinwedge loginThen start the interactive terminal UI:
thinwedgeRun a one-shot CLI task without opening the TUI:
thinwedge exec "summarize this repository"Or download a binary from the latest GitHub Release.
Who Should Try It
ThinWedge is most useful if you are close to both finance work and technical systems:
- FP&A operators building repeatable spreadsheet, planning, or cost workflows.
- Finance engineers connecting models, repositories, databases, and approvals.
- Data engineers supporting finance teams on Postgres or warehouse-backed workflows.
- Infra engineers who need cost research, usage review, or sandboxed experiments.
- OSS contributors interested in local-first agent tooling for finance workflows.
ThinWedge is early. The best first feedback is concrete: install output, unclear README steps, broken platform behavior, missing connector requests, or one finance workflow you want the CLI to handle next.
What It Is
ThinWedge is built for finance and operations teams that need agentic help inside a real repository or modeling workspace. The agent can inspect and edit files, run shell commands, maintain plans, manage long-running goals, coordinate side agents, and call domain tools for statistical modeling, training environments, LLM pricing, and cloud infrastructure cost analysis.
The product surface is intentionally local-first:
thinwedgestarts the interactive terminal UI.thinwedge execruns a single non-interactive agent task.thinwedge loginstores an OpenRouter-compatible API token locally.thinwedge db-sandboxconfigures and preflights DB sandbox providers.THINWEDGE_HOMEcontrols where config, auth, logs, thread history, and local state live.
System Components
flowchart TB
User[User terminal] --> CLI[ThinWedge CLI]
CLI --> TUI[Interactive TUI]
CLI --> Exec[One-shot exec mode]
CLI --> Auth[Local auth and config]
TUI --> Runtime[Agent runtime]
Exec --> Runtime
Auth --> Runtime
Runtime --> Tools[Tool router]
Runtime --> Store[Local state under THINWEDGE_HOME]
Runtime --> Provider[OpenRouter-compatible provider API]
Tools --> Shell[Shell and command execution]
Tools --> Files[Filesystem read, edit, and patch tools]
Tools --> MCP[MCP servers, plugins, and apps]
Tools --> Finance[FP&A, model, and cost-analysis tools]
Shell --> Sandbox[Sandbox and approval policy]
Files --> Sandbox
MCP --> Sandbox
Finance --> SandboxAuthentication
ThinWedge uses API-token authentication. Run thinwedge login before starting
the interactive TUI so the agent can call the configured provider API. In a real
terminal, thinwedge login behaves like an aws configure-style prompt: it asks
for the required OpenRouter-compatible API token, then offers optional prompts for
ARTIFICIAL_ANALYSIS_API_KEY, RUNPOD_API_KEY, AWS_PROFILE, AWS_REGION,
THINWEDGE_NEON_API_KEY, and THINWEDGE_NEON_PROJECT_ID.
The required provider token is stored in ThinWedge auth storage; optional capability
values are written to THINWEDGE_HOME/.env, which ThinWedge loads on startup.
thinwedge login
# Enter OpenRouter-compatible API key: ...
# ARTIFICIAL_ANALYSIS_API_KEY (...) [optional]: ...
# RUNPOD_API_KEY (...) [optional]: ...
# AWS_PROFILE (...) [optional]: ...
# AWS_REGION (...) [optional]: ...
# THINWEDGE_NEON_API_KEY (...) [optional]: ...
# THINWEDGE_NEON_PROJECT_ID (...) [optional]: ...You can also provide the provider token through the environment:
export OPENROUTER_API_KEY=...
thinwedge loginYou can also pipe a token without leaving it in shell history:
printenv OPENROUTER_API_KEY | thinwedge login --with-api-keyThe token is stored in local ThinWedge auth storage. Existing legacy managed-login credentials are not treated as a valid ThinWedge login by the TUI.
Agents
ThinWedge has one root conversation and can create additional agent work streams for parallel investigation or execution. In the TUI, slash commands expose the main coordination model:
/goalstarts, resumes, pauses, and monitors durable multi-turn goals./plankeeps a live task plan visible while work is in progress./agentand/subagentsselect or manage agent identities./sideopens side conversations for scoped work./reviewswitches into code-review behavior./modelchanges the active model./copyexports prior transcript cells to a timestamped folder withtranscript.xlsxandtranscript.docx; markdown and pasted tables are split into real workbook sheets./status,/diff,/permissions,/mcp,/skills,/apps, and/pluginsexpose runtime, workspace, and integration state.
DB Sandbox Setup
Finance agents should not run migrations or experiments directly against production state. ThinWedge models this as a provider-first setup: validate a source provider, then hand agents only disposable database state.
Neon is the default path:
thinwedge db-sandbox configure --enabled --provider neon --neon-project-id <project-id> --branch-backend none
thinwedge db-sandbox preflight --dry-run
thinwedge db-sandbox preflight --provider neonArdent is optional. Use it as the branch backend only after the Neon or Postgres source checks pass:
thinwedge db-sandbox configure --branch-backend ardent
thinwedge ardent status --dry-runThe bottom-up source of truth is still the probe scripts:
scripts/probes/check-db-sandbox-readiness.sh --source-provider neon --branch-backend noneLogical Tool Tree
ThinWedge organizes tools in layers so the agent can reason about local execution, workspace state, and finance-specific systems without mixing those responsibilities.
ThinWedge
|-- Interfaces
| |-- TUI: interactive chat, slash commands, goal display, diffs, approvals
| |-- CLI: exec, login, logout, status, sandbox helpers, release/runtime commands
| `-- App server: thread, account, goal, filesystem, and event APIs
|-- Agent runtime
| |-- Root session, side sessions, subagents, and agent identity registry
| |-- Thread store, rollout trace, persisted state, and resume support
| |-- Goal engine: create, update, resume, pause, and continuation prompts
| `-- Planning and collaboration modes
|-- Core tools
| |-- Shell execution, stdin streaming, local filesystem reads, and patch apply
| |-- Plan updates, permission requests, user input requests, and image viewing
| |-- Agent orchestration: spawn, send, wait, resume, close, and list agents
| |-- MCP resources, dynamic plugin tools, app connectors, and tool discovery
| `-- Web and media tools when enabled by the runtime
|-- FP&A tools
| |-- Statistical model jobs: training and batch inference
| |-- Training environments: launch, attach, and stop sandboxed environments
| |-- LLM cost tools: list, inspect, and compare model pricing
| `-- Infrastructure cost tools: AWS product search, VM pricing, BOQ estimates,
| cost-and-usage queries, forecasts, anomaly checks, and billing views
|-- Sandboxes
| |-- Local process sandboxing and approval policy enforcement
| |-- Python runtime support for pandas, numpy, matplotlib, and related analysis
| `-- Statistical-model sandbox support for wandb-backed experiment tracking
`-- Persistence
|-- Config files, auth storage, logs, and state DB under THINWEDGE_HOME
|-- Thread and goal history
`-- Local mirrors of remote model, environment, and cost-analysis stateFP&A Workflows
ThinWedge includes finance-oriented tool surfaces for:
- Building and editing financial models in a repository.
- Running statistical-model training or batch inference jobs.
- Managing remote training environments for model experiments.
- Comparing LLM model costs before selecting a provider or model.
- Estimating AWS infrastructure cost from service dimensions, price-list data, usage history, billing views, forecasts, and anomaly signals.
- Keeping long-running analytical tasks in
/goalso the agent can resume and report progress cleanly.
Useful Docs
- Getting started
- Rust workspace
- Install and build
- Configuration
- Authentication
- Contributing
- Project logic
- CI and release flow
- Governance
- Code of Conduct
- Why open source
- Open source fund
Feedback And Contributions
The fastest way to help is to try the install path and file a precise issue:
npm install -g @never2average-does-npm/cli
thinwedge --version
thinwedge loginUseful reports include:
- your OS and CPU architecture,
- your Node and npm versions,
- the exact command that failed,
- what you expected ThinWedge to do next,
- which FP&A, data, infra, or DB-sandbox workflow you want supported.
Open issues here:
https://github.com/never2average/fpna-thinwedge/issues
License and Attribution
This repository is licensed under the Apache-2.0 License. ThinWedge includes software derived from OpenAI Codex, which is also licensed under Apache-2.0.
Apache-2.0 allows use, modification, distribution, sublicensing, and publication of derivative works, including an open-source CLI distribution. ThinWedge preserves the required license and attribution notices in NOTICE and THIRD_PARTY_NOTICES.md, and modified files are part of the ThinWedge derivative work.
ThinWedge is not affiliated with or endorsed by OpenAI. The Apache-2.0 license does not grant OpenAI trademark rights; OpenAI and Codex are referenced only for factual attribution to the upstream project.
