Class: KairosMcp::Initializer

Inherits:
Object
  • Object
show all
Defined in:
lib/kairos_mcp/initializer.rb

Overview

Initializer: Sets up the data directory with default templates

Creates the following structure:

<data_dir>/
├── skills/
│   ├── kairos.rb        # L0 meta-skills (Ruby DSL)
│   ├── kairos.md        # L0 philosophy (Markdown)
│   ├── config.yml       # Configuration
│   └── versions/        # Version snapshots
├── knowledge/           # L1 knowledge layer
├── context/             # L2 context layer
├── config/
│   ├── safety.yml       # Safety constraints
│   └── tool_metadata.yml # Tool metadata
└── storage/
    ├── embeddings/      # Vector search indices
    │   ├── skills/
    │   └── knowledge/
    ├── snapshots/       # State commit snapshots
    └── export/          # SQLite export directory

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(quiet: false) ⇒ Initializer

Returns a new instance of Initializer.



40
41
42
43
44
# File 'lib/kairos_mcp/initializer.rb', line 40

def initialize(quiet: false)
  @quiet = quiet
  @data_dir = KairosMcp.data_dir
  @templates_dir = KairosMcp.templates_dir
end

Class Method Details

.run(quiet: false) ⇒ Object

Run the initialization

Parameters:

  • quiet (Boolean) (defaults to: false)

    Suppress output (for auto-init)



36
37
38
# File 'lib/kairos_mcp/initializer.rb', line 36

def self.run(quiet: false)
  new(quiet: quiet).run
end

Instance Method Details

#runObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/kairos_mcp/initializer.rb', line 46

def run
  log "Initializing KairosChain data directory..."
  log "  Target: #{@data_dir}"
  log ""

  create_directories
  copy_templates
  copy_knowledge_templates
  write_meta
  generate_mcp_json unless @quiet

  log ""
  log "KairosChain data directory initialized successfully!"
  log ""
  log "Data directory: #{@data_dir}"
  log ""
  log "To start the MCP server:"
  log "  kairos-chain                          # stdio mode (for Claude Code / Cursor)"
  log "  kairos-chain --http                   # HTTP mode (for remote)"
  log ""
  print_mcp_config unless @generated_mcp_json
end