Skip to content
reaatechREAATECH

@reaatech/agent-runbook-analyzer

npm v0.1.0

Extracts technical metadata from service repositories, including language, framework, deployment platform, dependencies, and API endpoints. It provides a set of utility functions that return structured objects representing the analyzed codebase configuration.

@reaatech/agent-runbook-analyzer

npm version License: MIT CI

Repository analysis for the Agent Runbook Generator. Scans service repositories to detect language, framework, deployment platform, configuration files, entry points, API endpoints, external service connections, and package dependencies.

Installation

terminal
npm install @reaatech/agent-runbook-analyzer
# or
pnpm add @reaatech/agent-runbook-analyzer

Feature Overview

  • Language & framework detection — recognizes Node.js, Python, Go, Java, Ruby, and Rust with framework identification
  • Deployment platform detection — identifies Kubernetes, ECS, Cloud Run, Lambda, App Engine, and more
  • Configuration parsing — extracts environment variables, infrastructure configs, and monitoring setup
  • Code analysis — finds entry points, API routes, background jobs, and external service connections
  • Dependency mapping — parses package manifests and categorizes dependencies by type
  • Auto-ignores common patterns — respects .gitignore rules during file scanning

Quick Start

typescript
import { scanRepository, mapDependencies, parseConfigs, analyzeCode } from "@reaatech/agent-runbook-analyzer";
 
const analysis = await scanRepository("/path/to/repo");
// { serviceType: "web-api", language: "typescript", framework: "express", ... }
 
const deps = mapDependencies("/path/to/repo");
// { directDeps: [...], transitiveDeps: [...], externalServices: [...] }
 
const configs = parseConfigs("/path/to/repo");
// { environmentVariables: [...], infrastructure: {...}, deployment: {...} }
 
const code = analyzeCode("/path/to/repo", "typescript", "express");
// { entryPoints: [...], apiEndpoints: [...], externalConnections: [...] }

API Reference

Repository Scanner

FunctionSignature
scanRepository(repoPath: string, options?: ScanOptions) => Promise<RepositoryAnalysis>
detectDeploymentPlatform(files: string[], repoPath: string) => DeploymentPlatform

ScanOptions: { depth?: number; includePatterns?: string[]; excludePatterns?: string[]; maxFiles?: number }

Dependency Mapper

FunctionSignature
mapDependencies(repoPath: string, includeDev?: boolean) => DependencyAnalysis

Config Parser

FunctionSignature
parseConfigs(repoPath: string) => ParsedConfig

ParsedConfig: { environmentVariables: EnvironmentVariable[]; infrastructure: InfrastructureConfig; deployment: DeploymentConfig; monitoring: MonitoringConfig }

Code Analyzer

FunctionSignature
analyzeCode(repoPath: string, language: ProgrammingLanguage, framework: Framework) => CodeAnalysis

CodeAnalysis: { entryPoints: CodeEntryPoint[]; apiEndpoints: ApiEndpoint[]; externalConnections: ExternalConnection[]; backgroundJobs: BackgroundJob[] }

License

MIT