CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-turbo

High-performance build system for JavaScript and TypeScript codebases with intelligent caching and task scheduling.

Pending
Overview
Eval results
Files

system-management.mddocs/

System Management

Daemon management, system information, debugging utilities, and configuration tools for maintaining optimal Turbo performance and troubleshooting issues.

Capabilities

Daemon Management

Control the Turbo daemon process for improved performance through persistent analysis and caching.

turbo daemon [command] [options]

# Start daemon server (default when no command)
turbo daemon

# Daemon management commands
turbo daemon start
turbo daemon stop
turbo daemon restart
turbo daemon status
turbo daemon clean
turbo daemon logs

Daemon Options:

--idle-time <duration>             # Daemon idle timeout (default: "4h0m0s")
--turbo-json-path <path>           # Custom turbo.json file to watch

Daemon Commands:

# Daemon lifecycle
turbo daemon start                 # Ensure daemon is running
turbo daemon stop                  # Stop the daemon
turbo daemon restart               # Restart the daemon

# Daemon status and monitoring
turbo daemon status                # Show daemon status
turbo daemon status --json         # Status in JSON format
turbo daemon logs                  # Show daemon logs

# Daemon maintenance
turbo daemon clean                 # Stop daemon and clean state
turbo daemon clean --clean-logs    # Also clean log files

Usage Examples:

# Start daemon with custom idle timeout
turbo daemon --idle-time=2h

# Check if daemon is running
turbo daemon status

# Get daemon status as JSON for automation
turbo daemon status --json

# View daemon activity logs
turbo daemon logs

# Clean restart with state cleanup
turbo daemon clean && turbo daemon start

# Watch custom turbo.json file
turbo daemon --turbo-json-path=./config/turbo.json

System Information

Display comprehensive system and environment information for debugging and support.

turbo info

# Displays information about:
# - Turbo version and installation
# - System environment (OS, CPU, memory)
# - Repository structure and configuration
# - Package manager and dependencies
# - Cache configuration and status

Information Categories:

  • Turbo Version: Installed version, binary path, installation method
  • System: Operating system, CPU architecture, memory
  • Repository: Root path, package manager, workspace configuration
  • Configuration: Active turbo.json, cache settings, daemon status
  • Environment: Node.js version, npm/yarn/pnpm versions
  • Cache: Local cache directory and size, remote cache status

Usage Examples:

# Show complete system information
turbo info

# Redirect to file for bug reports
turbo info > system-info.txt

# Use in CI for debugging builds
turbo info && turbo run build

Repository Scanning

Analyze your monorepo for common issues, performance improvements, and best practices.

turbo scan

# Analyzes repository for:
# - Configuration issues and improvements
# - Performance optimization opportunities  
# - Caching effectiveness
# - Task dependency optimization
# - Package structure recommendations

Scan Categories:

  • Configuration Analysis: turbo.json validation and optimization suggestions
  • Performance Issues: Slow tasks, inefficient dependencies, cache misses
  • Best Practices: Workspace organization, task naming conventions
  • Security: Dependency vulnerabilities, sensitive file exposure
  • Maintenance: Outdated dependencies, unused packages

Usage Examples:

# Run comprehensive repository scan
turbo scan

# Use in CI for automated analysis
turbo scan && echo "Repository scan completed"

# Run scan after configuration changes
turbo scan > scan-results.txt

Binary Information

Get the path to the Turbo binary for integration and debugging purposes.

turbo bin

# Returns the absolute path to the turbo binary
# Useful for:
# - Integration with other tools
# - Debugging installation issues
# - Custom wrapper scripts

Usage Examples:

# Get binary path
turbo bin

# Use in scripts
TURBO_BIN=$(turbo bin)
echo "Using Turbo at: $TURBO_BIN"

# Verify installation
ls -la $(turbo bin)

Configuration Management

Manage Turbo configuration files and settings.

turbo config

# Configuration management (hidden command)
# Handles turbo.json validation and management

GraphQL Query Interface

EXPERIMENTAL: Query your monorepo structure and metadata using GraphQL.

turbo query [query] [options]

# Interactive GraphQL interface
turbo query

# Execute specific query
turbo query "{ packages { name version } }"

# Query with variables
turbo query --variables=vars.json "query($filter: String) { packages(filter: $filter) { name } }"

# Show GraphQL schema
turbo query --schema

Query Options:

--variables <file> / -V            # JSON file with query variables
--schema                          # Show GraphQL schema instead of running query

Usage Examples:

# Open interactive GraphQL explorer
turbo query

# Get all package names and versions
turbo query "{ packages { name version path } }"

# Query with filtering
turbo query "{ packages(filter: \"@myorg/*\") { name scripts } }"

# Show available schema
turbo query --schema

# Query with variables file
echo '{"scope": "@myorg"}' > vars.json
turbo query --variables=vars.json "query($scope: String) { 
  packages(filter: $scope) { name dependencies } 
}"

Shell Completion

Generate shell completion scripts for improved command-line experience.

turbo completion <shell>

# Supported shells
turbo completion bash
turbo completion zsh  
turbo completion fish
turbo completion powershell
turbo completion elvish

Installation Examples:

# Bash completion
turbo completion bash > /etc/bash_completion.d/turbo

# Zsh completion (Oh My Zsh)
turbo completion zsh > ~/.oh-my-zsh/completions/_turbo

# Fish completion
turbo completion fish > ~/.config/fish/completions/turbo.fish

# PowerShell completion
turbo completion powershell >> $PROFILE

Telemetry Management

Control anonymous telemetry collection for improving Turbo development.

turbo telemetry [command]

# Telemetry commands
turbo telemetry enable             # Enable anonymous telemetry
turbo telemetry disable            # Disable telemetry collection
turbo telemetry status             # Show current telemetry status

Usage Examples:

# Check current telemetry status
turbo telemetry status

# Disable telemetry collection
turbo telemetry disable

# Re-enable telemetry
turbo telemetry enable

System Management Types

interface DaemonStatus {
  running: boolean;
  pid?: number;
  uptime?: string;
  idle_time: string;
  version: string;
  log_file?: string;
}

interface SystemInfo {
  turbo: TurboInfo;
  system: SystemEnvironment;
  repository: RepositoryInfo;
  configuration: ConfigurationInfo;
  cache: CacheInfo;
}

interface TurboInfo {
  version: string;
  binary_path: string;
  installation_method: "npm" | "yarn" | "pnpm" | "binary";
}

interface SystemEnvironment {
  os: string;
  arch: string;
  cpus: number;
  memory: number;
  node_version: string;
  npm_version?: string;
  yarn_version?: string;
  pnpm_version?: string;
}

interface RepositoryInfo {
  root: string;
  package_manager: "npm" | "yarn" | "pnpm";
  workspaces: string[];
  packages: number;
}

interface ConfigurationInfo {
  turbo_json_path: string;
  cache_dir: string;
  daemon_enabled: boolean;
  remote_cache_enabled: boolean;
}

interface CacheInfo {
  local_cache_dir: string;
  local_cache_size: number;
  remote_cache_status: "enabled" | "disabled" | "read-only";
}

interface ScanResult {
  issues: ScanIssue[];
  recommendations: Recommendation[];
  performance_score: number;
  summary: ScanSummary;
}

interface ScanIssue {
  type: "error" | "warning" | "info";
  category: string;
  message: string;
  file?: string;
  line?: number;
  fix_suggestion?: string;
}

interface Recommendation {
  category: string;
  title: string;
  description: string;
  impact: "high" | "medium" | "low";
  effort: "high" | "medium" | "low";
}

interface ScanSummary {
  total_issues: number;
  errors: number;
  warnings: number;
  recommendations: number;
  scan_duration: number;
}

interface QueryResult {
  data?: any;
  errors?: QueryError[];
}

interface QueryError {
  message: string;
  locations?: QueryLocation[];
}

interface QueryLocation {
  line: number;
  column: number;
}

interface TelemetryStatus {
  enabled: boolean;
  anonymous_id?: string;
  last_sent?: string;
}

Install with Tessl CLI

npx tessl i tessl/npm-turbo

docs

caching-performance.md

code-generation.md

index.md

package-management.md

remote-cache.md

system-management.md

task-execution.md

tile.json