npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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.

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/cli

Confirm the CLI resolves:

thinwedge --version

Authenticate before starting interactive mode:

thinwedge login

Then 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:

thinwedge

If 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-sandbox binary

Quick Start

Install ThinWedge globally from npm if you have not already:

npm install -g @never2average-does-npm/cli

Authenticate 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 login

Then start the interactive terminal UI:

thinwedge

Run 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:

  • thinwedge starts the interactive terminal UI.
  • thinwedge exec runs a single non-interactive agent task.
  • thinwedge login stores an OpenRouter-compatible API token locally.
  • thinwedge db-sandbox configures and preflights DB sandbox providers.
  • THINWEDGE_HOME controls 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 --> Sandbox

Authentication

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 login

You can also pipe a token without leaving it in shell history:

printenv OPENROUTER_API_KEY | thinwedge login --with-api-key

The 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:

  • /goal starts, resumes, pauses, and monitors durable multi-turn goals.
  • /plan keeps a live task plan visible while work is in progress.
  • /agent and /subagents select or manage agent identities.
  • /side opens side conversations for scoped work.
  • /review switches into code-review behavior.
  • /model changes the active model.
  • /copy exports prior transcript cells to a timestamped folder with transcript.xlsx and transcript.docx; markdown and pasted tables are split into real workbook sheets.
  • /status, /diff, /permissions, /mcp, /skills, /apps, and /plugins expose 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 neon

Ardent 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-run

The bottom-up source of truth is still the probe scripts:

scripts/probes/check-db-sandbox-readiness.sh --source-provider neon --branch-backend none

Logical 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 state

FP&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 /goal so the agent can resume and report progress cleanly.

Useful Docs

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 login

Useful 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.