{"id":46269968,"url":"https://github.com/protagonistss/fnva","last_synced_at":"2026-04-19T07:03:22.565Z","repository":{"id":124189985,"uuid":"430932909","full_name":"Protagonistss/fnva","owner":"Protagonistss","description":"Management environment Java、Maven、Node、LLM","archived":false,"fork":false,"pushed_at":"2025-12-24T10:34:28.000Z","size":4451,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T00:58:51.262Z","etag":null,"topics":["cc","env","java","llm","maven","node"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Protagonistss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2021-11-23T02:26:07.000Z","updated_at":"2025-12-23T06:31:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"686d890f-9392-4fa1-96c9-bc7ddb796c9f","html_url":"https://github.com/Protagonistss/fnva","commit_stats":null,"previous_names":["protagonistss/fnva"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/Protagonistss/fnva","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protagonistss%2Ffnva","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protagonistss%2Ffnva/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protagonistss%2Ffnva/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protagonistss%2Ffnva/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Protagonistss","download_url":"https://codeload.github.com/Protagonistss/fnva/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protagonistss%2Ffnva/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30070479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T01:03:42.280Z","status":"online","status_checked_at":"2026-03-04T02:00:07.464Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cc","env","java","llm","maven","node"],"created_at":"2026-03-04T03:02:22.060Z","updated_at":"2026-04-19T07:03:22.536Z","avatar_url":"https://github.com/Protagonistss.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fnva - Fast Environment Version Alter\n\n[![npm version](https://img.shields.io/npm/v/fnva)](https://www.npmjs.com/package/fnva) [![crates.io](https://img.shields.io/crates/v/fnva)](https://crates.io/crates/fnva) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n[中文文档](README_zh.md) · [Full English](README_en.md) · [Docs](docs/)\n\nCross-platform environment switcher for Java, Claude Code (CC), and LLM setups. Rust single binary with fast startup and zero runtime dependencies.\n\n## Install\n\n- npm: `npm install -g fnva`\n- Cargo: `cargo install fnva`\n- Binary: download from [Releases](https://github.com/Protagonistss/fnva/releases) and add to `PATH`.\n\n## Quick start\n\n- Init shell (Bash/Zsh): `eval \"$(fnva env env --shell bash)\"`\n  PowerShell: `fnva env env --shell powershell | Out-String | Invoke-Expression`\n  Fish: `fnva env env --shell fish | source`\n- Scan Java: `fnva java scan`\n- Switch Java for current session: `fnva java use jdk-17` (with shell integration)\n- Switch CC profile: `fnva cc use glmcc` (with shell integration)\n- New terminals auto-restore your last active environment\n\n## What it does\n\n- Manages multiple Java, CC, and generic LLM configurations.\n- Generates shell snippets to activate environments per session or by default.\n- **Auto-restore** — new terminals automatically restore the last active CC/Java environment.\n- Stores config at `~/.fnva/config.toml` (Windows: `%USERPROFILE%\\.fnva\\config.toml`).\n- Ships as a single binary; no background daemon.\n\n## Build/test locally\n\n```\ncargo fmt \u0026\u0026 cargo clippy --all-targets -- -D warnings\ncargo test\ncargo build --release\n```\n\nFor platform bundles: `npm run build:platforms`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotagonistss%2Ffnva","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotagonistss%2Ffnva","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotagonistss%2Ffnva/lists"}