
- Add lab/ module structure (core, machines, deployment, monitoring) - Add mcp/ server stub for future MCP integration - Update main.scm to use new modular architecture - Fix utils/config.scm to export get-current-config function - Create comprehensive test suite with all modules passing - Update TODO.md with completed high priority tasks Key improvements: - Modular design following K.I.S.S principles - Working CLI interface for status, machines, deploy commands - Infrastructure status checking functional - All module tests passing - Clean separation of pure/impure functions CLI now works: ./main.scm status, ./main.scm machines, ./main.scm deploy <machine>
19 lines
655 B
Scheme
19 lines
655 B
Scheme
;; lab/machines.scm - Machine management (impure)
|
|
|
|
(define-module (lab machines)
|
|
#:use-module (utils config)
|
|
#:use-module (utils logging)
|
|
#:export (list-machines
|
|
get-machine-info))
|
|
|
|
;; Impure function: List all machines with logging
|
|
(define (list-machines)
|
|
"List all configured machines (impure - has logging side effects)"
|
|
(log-debug "Listing machines...")
|
|
(get-all-machines))
|
|
|
|
;; Impure function: Get machine information
|
|
(define (get-machine-info machine-name)
|
|
"Get detailed machine information (impure - has logging side effects)"
|
|
(log-debug "Getting info for machine: ~a" machine-name)
|
|
(get-machine-config machine-name))
|