Frumle 0.2.0
dotnet tool install --global Frumle --version 0.2.0
dotnet new tool-manifest
dotnet tool install --local Frumle --version 0.2.0
#tool dotnet:?package=Frumle&version=0.2.0
nuke :add-package Frumle --version 0.2.0
Frumle - AI-Powered Codebase Analyzer for .NET
AI-powered codebase analyzer and API documentation generator for .NET / C# projects.
Installation
dotnet tool install Frumle
This installs Frumle as a local tool in your project. Run it with dotnet frumle.
Note: Avoid
dotnet tool install -g Frumleif you also use Frumle for JavaScript, Python, or PHP — global installs from different package managers can conflict. Usedotnet frumleinstead.
Quick Start
# 1. Add your API key (get one at https://frumle.com)
dotnet frumle add-key <your-api-key>
# Or: export FRUMLE_API_KEY=frumle_…
# 2. Analyze your project
dotnet frumle analyze ./MyProject
Commands
dotnet frumle add-key <api-key>
Add and verify your API key. Also available as dotnet frumle set-key or dotnet frumle login.
dotnet frumle status
Check your API key status and remaining quota.
dotnet frumle analyze [directory]
Analyze a .NET codebase. Defaults to the current directory.
Options:
--ignore <dirs>— Comma-separated directories to ignore (default:bin,obj,.vs,.git,packages,node_modules,TestResults)--project-name <name>— Project name (defaults to.csprojname,.slnname, or directory name)--skip-config-write— Do not write/updatefrumle.config.json(also the default whenCI=true)--json— Print a single JSON result (implies quiet; exit codes: 0 ok, 1 error, 2 auth, 3 quota)--quiet— Suppress human-readable progress logs
dotnet frumle ci [directory]
Add .github/workflows/frumle.yml so docs regenerate on every push to main. Use --force to overwrite.
After adding the workflow, set the secret:
gh secret set FRUMLE_API_KEY
Default command
Running dotnet frumle [directory] without a subcommand will analyze the given directory.
CI / GitHub Actions
Interactive analyze may offer to add the workflow once. Decline with N (sets ciPromptDeclined in frumle.config.json); add it later with frumle ci.
Typical CI invoke:
export FRUMLE_API_KEY=frumle_…
frumle . --project-name "my-api" --skip-config-write --json
Supported File Types
.cs, .csproj, .sln, .json, .xml, .razor, .cshtml, .config, .resx, .xaml, .props, .targets, .md, .yaml, .yml, .proto, .graphql, .fs, .fsx, .fsproj, .vb, .vbproj
Configuration
User config
Your API key is stored in ~/.frumle/config.json. FRUMLE_API_KEY overrides the config file.
Project config
A frumle.config.json file is automatically created/updated in your project root with detected base URLs (skipped in CI or with --skip-config-write):
{
"baseUrls": [
{ "environment": "local", "url": "http://localhost:5000" },
{ "environment": "production", "url": "" }
]
}
The local URL is auto-detected from launchSettings.json, .env files, appsettings.json, or Program.cs.
Environment Variables
| Variable | Description |
|---|---|
FRUMLE_API_KEY |
API key (overrides config file) |
FRUMLE_API_URL |
API base URL (for self-hosted backends) |
CI |
When true or 1, skips writing frumle.config.json |
Requirements
- .NET 8.0, 9.0, or 10.0+
License
MIT — Tellecata LLC
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.