home-lab/packages/.roo/rules/self_improve.md
Geir Okkenhaug Jerstad cc735b3497 feat: Complete migration to GNU Guile Scheme with MCP integration
Major project milestone: Successfully migrated home lab management tool from Bash to GNU Guile Scheme

## Completed Components 
- **Project Foundation**: Complete directory structure (lab/, mcp/, utils/)
- **Working CLI Tool**: Functional home-lab-tool.scm with command parsing
- **Development Environment**: NixOS flake.nix with Guile, JSON, SSH, WebSocket libraries
- **Core Utilities**: Logging, configuration, SSH utilities with error handling
- **Module Architecture**: Comprehensive lab modules and MCP server foundation
- **TaskMaster Integration**: 25-task roadmap with project management
- **Testing & Validation**: Successfully tested in nix develop environment

## Implementation Highlights
- Functional programming patterns with immutable data structures
- Proper error handling and recovery mechanisms
- Clean module separation with well-defined interfaces
- Working CLI commands: help, status, deploy (with parsing)
- Modular Guile architecture ready for expansion

## Project Structure
- home-lab-tool.scm: Main CLI entry point (working)
- utils/: logging.scm, config.scm, ssh.scm (ssh needs syntax fixes)
- lab/: core.scm, machines.scm, deployment.scm, monitoring.scm
- mcp/: server.scm foundation for VS Code integration
- flake.nix: Working development environment

## Next Steps
1. Fix SSH utilities syntax errors for real connectivity
2. Implement actual infrastructure status checking
3. Complete MCP server JSON-RPC protocol
4. Develop VS Code extension with MCP client

This represents a complete rewrite maintaining compatibility while adding:
- Better error handling and maintainability
- MCP server for AI/VS Code integration
- Modular architecture for extensibility
- Comprehensive project management with TaskMaster

The Bash-to-Guile migration provides a solid foundation for advanced
home lab management with modern tooling and AI integration.
2025-06-15 22:17:47 +02:00

2.4 KiB


description: Guidelines for continuously improving Roo Code rules based on emerging code patterns and best practices. globs: */ alwaysApply: true

  • Rule Improvement Triggers:

    • New code patterns not covered by existing rules
    • Repeated similar implementations across files
    • Common error patterns that could be prevented
    • New libraries or tools being used consistently
    • Emerging best practices in the codebase
  • Analysis Process:

    • Compare new code with existing rules
    • Identify patterns that should be standardized
    • Look for references to external documentation
    • Check for consistent error handling patterns
    • Monitor test patterns and coverage
  • Rule Updates:

    • Add New Rules When:

      • A new technology/pattern is used in 3+ files
      • Common bugs could be prevented by a rule
      • Code reviews repeatedly mention the same feedback
      • New security or performance patterns emerge
    • Modify Existing Rules When:

      • Better examples exist in the codebase
      • Additional edge cases are discovered
      • Related rules have been updated
      • Implementation details have changed
  • Example Pattern Recognition:

    // If you see repeated patterns like:
    const data = await prisma.user.findMany({
      select: { id: true, email: true },
      where: { status: 'ACTIVE' }
    });
    
    // Consider adding to [prisma.md](mdc:.roo/rules/prisma.md):
    // - Standard select fields
    // - Common where conditions
    // - Performance optimization patterns
    
  • Rule Quality Checks:

    • Rules should be actionable and specific
    • Examples should come from actual code
    • References should be up to date
    • Patterns should be consistently enforced
  • Continuous Improvement:

    • Monitor code review comments
    • Track common development questions
    • Update rules after major refactors
    • Add links to relevant documentation
    • Cross-reference related rules
  • Rule Deprecation:

    • Mark outdated patterns as deprecated
    • Remove rules that no longer apply
    • Update references to deprecated rules
    • Document migration paths for old patterns
  • Documentation Updates:

    • Keep examples synchronized with code
    • Update references to external docs
    • Maintain links between related rules
    • Document breaking changes Follow cursor_rules.md for proper rule formatting and structure.