A Go SDK for TypeSafe AI and the jevwise decision CLI.
brew tap benbenbang/forge
brew install jevwise- On Homebrew versions requiring explicit tap trust, or to avoid formula-name collisions, use
brew install benbenbang/forge/jevwise. This selects and trusts only that formula: see Homebrew tap trust. - Manage Homebrew installations with
brew upgrade jevwise, not the standalone self-updater or install script's--forceoption.
Latest stable release, installed as ~/.local/bin/jevwise:
curl -fsSL https://raw.githubusercontent.com/bitbrew-dev/jevwise/main/scripts/install.sh | sh -s --
# Pin a release and choose a writable directory:
curl -fsSL https://raw.githubusercontent.com/bitbrew-dev/jevwise/main/scripts/install.sh | sh -s -- --version v1.2.3 --dir "$HOME/bin"
# From a checkout, without piping remote shell code:
sh scripts/install.sh --version latest --dir "$HOME/.local/bin"--version latestis the default; pinned versions must be canonical stablevX.Y.Ztags. Latest selection uses GitHub's public release redirect, not the anonymous REST API quota. Private releases require manual authenticated downloads.--dir PATHselects the installation directory, including relative paths. The default is$HOME/.local/bin, not/usr/local/bin. Add it toPATHyourself if needed.- Requires macOS/Linux amd64/arm64, POSIX
sh, curl 8.4+, standard Unix utilities andsha256sumorshasum. Windows installation remains manual. - Existing files are preserved unless
--forceis supplied. Replacement requires a regular, nonsymlink executable owned by the current user. A pinned install with--forcecan downgrade; use your package manager for managed installations. - Exact platform assets are verified against bounded
SHA256SUMSbefore same-directory publication. Legacyjev_...assets are supported only when the manifest lacks the new name, never after a failed download/hash check. Older binaries retain their original branding and behavior even when installed asjevwise. - The script uses no sudo, modifies no shell/config/agent settings, and never executes the downloaded binary. Restart running MCP servers after replacement. Cooperating installers/updaters share a lock; stale locks require manual inspection.
- Trust the repository, GitHub/TLS, local tools and installation parents. Final directory symlinks and world-writable directories are refused; hostile concurrent writers and power-loss durability are not supported. Checksums detect corruption, not a compromised publisher.
- Piping executes remote code before you can inspect it. Prefer downloading and reviewing the script first, and pin its URL to a trusted commit/tag when reproducibility matters. The script itself is not authenticated by the binary checksum. The public URL becomes available when this change lands on
main.
Download a binary and SHA256SUMS from GitHub Releases. Choose your platform and verify the SHA-256 checksum before installation.
| Platform | Architectures | Asset pattern |
|---|---|---|
| Linux | amd64, arm64 | jevwise_vX.Y.Z_linux_ARCH |
| macOS | amd64, arm64 | jevwise_vX.Y.Z_darwin_ARCH |
| Windows | amd64, arm64 | jevwise_vX.Y.Z_windows_ARCH.exe |
- Install Unix binaries as
jevwisein a directory on PATH and make them executable. Windows users install asjevwise.exein a directory on PATH. - Releases through v1.2.0 retain legacy
jev_...filenames and original branding. Nojevalias is installed; verify ownership before removing an old binary belonging to another project. - Checksums detect corruption, not a compromised publisher. See release assets and verification for details.
- Prefer building from source? Follow the development guide.
Supply credentials through a secured environment or protected files, not secret-valued command-line arguments. These names describe the current checkout.
| Default environment variable | Purpose |
|---|---|
JEV_API_KEY |
Upstream Jev API access for decisions and the MCP server's backend |
JEVWISE_MCP_TOKEN |
Optional override for local MCP authentication; otherwise generated and privately stored |
Set JEV_API_KEY in your secured environment, or reference any exported variable in your selected TOML configuration:
api_key = "$ABCD_TOKEN"
# Equivalent: api_key = "${ABCD_TOKEN}"ABCD_TOKENis only an example; custom names such asJEV_MCP_API_KEYalso work. Export the referenced variable before starting Jevwise.- Only TOML
api_keyexpands environment references. Unset variables expand to empty; Jev service initialization requires a nonblank key. - Changed
--api-keyflags override nonblank API environment values, which override TOML. Direct environment and flag values stay literal. - API fallback names, in order:
JEVWISE_API_KEY,TS_JEV_API_KEY,TYPESAFE_API_KEY. The standalone Go SDK retainsTYPESAFE_API_KEYas its environment fallback. See configuration.
- Use a separate bearer token: never reuse the upstream API key or give it to the agent.
- With no token override,
jevwise mcpgenerates a random token in<runtime-dir>/agent.tokenand reuses it across restarts. Only your upstream API key needs manual setup. jevwise mcp token-pathprints the automatic file path, never the secret; see agent onboarding to load it into the client environment.- Register the installed client with
jevwise mcp install codexorjevwise mcp install claude. Both default to user-wide settings; custom ports use--listen IP:PORT. Registration stores only an environment reference, not the token. See agent onboarding. - Overrides take precedence:
--token-file /path/to/protected/agent-token>JEVWISE_MCP_TOKEN(including aliases) > automatic token. Explicit values are never copied into the automatic file. - MCP fallback names, in order:
JEVWISE_MCP_AUTH_TOKEN,JEV_MCP_TOKEN. Invalid nonempty tokens fail without fallback; tokens must be printable ASCII without whitespace. - Keep secrets out of shell history, logs and stored agent configuration. Follow local MCP setup and agent onboarding for protected files and client environment references.
| Guide | Contents |
|---|---|
| CLI usage | Decisions and skill setup |
| Configuration | Precedence, API keys, local config and editor |
| Go SDK | Quickstart, request options and retries |
| Development | Source builds, platform builds and tests |
| Debugging | Debug logging and safe diagnostics |
| Updates | Release checks, self-update and replacement safety |
| Releases | Assets, verification and publication |
| Local MCP | Foreground/background mode, credentials and limits |
| Agent onboarding | Connect Codex or Claude Code safely |