Skip to main content

Architecture Analysis

argus analyzes your project structure to understand its architecture.

Architecture Styles

argus detects common architectural patterns:

StyleDetection
Standard Go Layoutcmd/, internal/, pkg/ directories
Next.js App Routerapp/ directory with page files
Monorepopackages/ or apps/ directories
MicroservicesMultiple service directories
MVCmodels/, views/, controllers/
Clean Architecturedomain/, usecase/, infrastructure/

Package Dependencies

argus analyzes import statements to understand dependencies:

┌─────────────┐
│ cmd │
└──────┬──────┘

┌──────┴──────┐
│ internal │
└──────┬──────┘

┌──────┴──────┐
│ pkg │
└─────────────┘

Entry Points

Detected entry points:

TypeDetection
Gomain.go or cmd/*/main.go
Node.jsmain field in package.json
Python__main__.py or main.py

Layer Analysis

For layered architectures, argus identifies:

  • Presentation layer - API handlers, controllers
  • Business layer - Services, use cases
  • Data layer - Repositories, models

Monorepo Detection

argus detects monorepo tools:

  • Turborepo (turbo.json)
  • Nx (nx.json)
  • Lerna (lerna.json)
  • pnpm workspaces (pnpm-workspace.yaml)
  • npm/yarn workspaces (workspaces in package.json)

For monorepos, argus lists all packages/apps:

## Monorepo Structure

**Tool:** Turborepo

**Packages:**
- `apps/web` - Next.js frontend
- `apps/api` - Express backend
- `packages/ui` - Shared components
- `packages/config` - Shared configuration