Skip to main content

Architecture Overview

Neural Commander is built as a modular Go application with clear separation of concerns.

System Architecture​

┌─────────────────────────────────────────────────────────────┐
│ CLI / API │
├─────────────────────────────────────────────────────────────┤
│ Commands │ REST API │ Daemon │ TUI Admin │
├──────────────┴───────────────┴─────────────┴────────────────┤
│ Core Services │
├─────────────────────────────────────────────────────────────┤
│ Sessions │ Learning │ Requirements │ Intelligence │
├────────────┴────────────┴────────────────┴──────────────────┤
│ Storage Layer │
├─────────────────────────────────────────────────────────────┤
│ SQLite │ File Store │ Config Store │
├──────────────┴──────────────────┴───────────────────────────┤
│ External Integrations │
├─────────────────────────────────────────────────────────────┤
│ Ollama │ Git │ File System │
└─────────────────────────────────────────────────────────────┘

Core Components​

CLI Layer (cmd/nc/)​

The command-line interface provides:

  • Commands - All user-facing operations (chat, session, audit, etc.)
  • Flags - Configuration options and overrides
  • Output - Formatted terminal output with colors

API Server (internal/api/)​

REST API for external integration:

  • Endpoints - All functionality exposed via HTTP
  • CORS - Cross-origin support for web clients
  • JSON - Consistent request/response format

Daemon (internal/daemon/)​

Background process for:

  • File watching - Monitor project changes
  • Session management - Track active sessions
  • Alert injection - Update CLAUDE.md with alerts

Core Services​

Session Manager (internal/sessions/)​

Handles session lifecycle:

  • Create, resume, suspend sessions
  • Persist conversation history
  • Crash detection and recovery

Learning System (internal/learning/)​

Pattern extraction and storage:

  • Capture learnings from sessions
  • Cross-project pattern synthesis
  • Recommendation generation

Requirements Manager (internal/requirements/)​

Project requirements tracking:

  • YAML-based requirement definitions
  • Status tracking and validation
  • AI-assisted generation

Intelligence Layer (internal/intelligence/)​

AI integration and routing:

  • Model selection based on task
  • Prompt enhancement
  • Response processing

Storage Layer​

SQLite (internal/storage/)​

Structured data storage:

  • Session metadata
  • Learning patterns
  • Configuration

File Store​

File-based storage:

  • Session JSON files
  • Requirement YAML files
  • Project configurations

Data Flow​

Chat Request Flow​

User Input → CLI/API → Intelligence Layer → Ollama
↓
Session Manager
↓
Store Response
↓
Return to User

Session Resume Flow​

Resume Command → Session Manager → Load from Storage
↓
Check for Crash State
↓
Inject Context → Ready

Directory Structure​

neural-commander-go/
├── cmd/
│ └── nc/
│ ├── main.go # Entry point
│ └── commands/ # CLI commands
├── internal/
│ ├── api/ # REST API server
│ ├── daemon/ # Background daemon
│ ├── sessions/ # Session management
│ ├── learning/ # Learning system
│ ├── requirements/ # Requirements manager
│ ├── intelligence/ # AI routing
│ ├── storage/ # Database layer
│ ├── config/ # Configuration
│ └── tier/ # Edition gating
├── pkg/ # Public packages
└── dist/ # Built binaries

Configuration​

Configuration is loaded in order of precedence:

  1. CLI flags
  2. Environment variables
  3. Project config (.nc/config.yaml)
  4. User config (~/.neural-commander/config.yaml)
  5. Default values

Extension Points​

Plugins​

Future plugin system for:

  • Custom commands
  • New storage backends
  • Alternative AI providers

Hooks​

Event hooks for:

  • Pre/post chat processing
  • Session lifecycle events
  • Custom alerts

Performance Considerations​

  • Lazy loading - Components initialized on demand
  • Connection pooling - Reuse Ollama connections
  • Caching - Session context cached in memory
  • Async I/O - Non-blocking file operations

Security​

  • Local-first - All data stays on machine
  • No telemetry - No data sent to external servers
  • File permissions - Respect OS security model
  • Tier gating - Feature access control

See Data Models for detailed schema information.