feat: implement modular lab tool structure with working CLI

- 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>
This commit is contained in:
Geir Okkenhaug Jerstad 2025-06-16 14:29:00 +02:00
parent fb4361d938
commit 564faaa479
12 changed files with 196 additions and 427 deletions

View file

@ -13,7 +13,8 @@
get-all-machines
validate-machine-name
get-homelab-root
get-ssh-config))
get-ssh-config
get-current-config))
;; Default configuration
(define default-config
@ -125,5 +126,10 @@
(is-local . ,(eq? type 'local))))
#f)))
;; Get current configuration
(define (get-current-config)
"Get current loaded configuration"
current-config)
;; Initialize configuration on module load
(load-config)