nmbl Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Home

Welcome to the nmbl documentation! This guide will help you understand the tool’s capabilities and get you up and running quickly.

What is nmbl?

nmbl is a developer CLI tool designed to help .NET developers analyze, manage, and maintain their solutions and projects. It provides a comprehensive suite of commands for code analysis, dependency visualization, and project maintenance.

Quick Start

# Install nmbl (see Getting Started for details)
dotnet tool install --global nmbl

# Authenticate
nmbl login

# Analyze cyclomatic complexity
nmbl cc MySolution.slnx

# Generate dependency graph
nmbl deps MyProject.csproj --output graph.svg

# View all available commands
nmbl help --with-examples

Sections

Key Features

  • Code Analysis - Measure cyclomatic complexity, cognitive complexity, and lines of code
  • Dependency Visualization - Generate Mermaid diagrams and SVG graphs of project dependencies
  • Project Management - Analyze project references and solution structure
  • Code Quality - Count regions, TODO comments, and track technical debt
  • Git Operations - Batch update multiple repositories, check repository status
  • Maintenance - Clean build artifacts, remove region directives

Command Categories

Code Analysis Commands (Read-Only)

Command Description
ac Calculate aggregate complexity for projects/solutions
cc Calculate cyclomatic complexity for C# methods
cogc Calculate cognitive complexity for C# code
deps Generate dependency graphs (Mermaid/SVG/HTML)
loc Count lines of code in projects
projectreferences List project reference relationships
regions Count #region directives in C# files
todos Find TODO/HACK comments in code
gitstatus Check status of git repositories

File/System Modification Commands

Command Description
cleanse Remove all bin and obj folders recursively
endregions Remove #region directives from C# files
gitupdate Pull latest changes in multiple git repositories

Authentication Commands

Command Description
login Authenticate using OAuth (Google)
logout Clear stored authentication tokens
whoami Display current authentication status

Technology Stack

  • .NET 10 - Built with the latest .NET
  • Roslyn - C# code analysis using Microsoft.CodeAnalysis
  • Mermaid - Dependency graph visualization
  • Microsoft.Msagl - SVG graph rendering
  • TimeWarp.Nuru - CLI framework for command routing